occam-verify-cli 0.0.506 → 0.0.508
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/axiomLemmaTheorem.js +2 -2
- package/lib/conclusion.js +6 -161
- package/lib/consequence.js +4 -82
- package/lib/matcher/metastatementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/metastatementForMetavariable/premise.js +113 -0
- package/lib/matcher/metastatementForMetavariable.js +201 -0
- package/lib/matcher/statementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/statementForMetavariable/premise.js +113 -0
- package/lib/matcher/statementForMetavariable.js +201 -0
- package/lib/matcher/statementForVariable/consequence.js +113 -0
- package/lib/matcher/statementForVariable/supposition.js +113 -0
- package/lib/matcher/statementForVariable.js +201 -0
- package/lib/matcher.js +150 -0
- package/lib/premise.js +21 -190
- package/lib/rule.js +11 -11
- package/lib/ruleNames.js +5 -1
- package/lib/step/metaproof.js +5 -5
- package/lib/substitution/metastatementForMetavariable.js +86 -0
- package/lib/substitution/statementForMetavariable.js +86 -0
- package/lib/substitution/statementForVariable.js +86 -0
- package/lib/supposition.js +10 -97
- package/lib/utilities/substitution.js +61 -0
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/proof.js +3 -3
- package/lib/verify/ruleProof.js +3 -3
- package/package.json +1 -1
- package/src/axiomLemmaTheorem.js +1 -1
- package/src/conclusion.js +11 -282
- package/src/consequence.js +6 -144
- package/src/matcher/metastatementForMetavariable/conclusion.js +9 -0
- package/src/matcher/metastatementForMetavariable/premise.js +9 -0
- package/src/matcher/metastatementForMetavariable.js +99 -0
- package/src/matcher/statementForMetavariable/conclusion.js +9 -0
- package/src/matcher/statementForMetavariable/premise.js +9 -0
- package/src/matcher/statementForMetavariable.js +99 -0
- package/src/matcher/statementForVariable/consequence.js +9 -0
- package/src/matcher/statementForVariable/supposition.js +9 -0
- package/src/matcher/statementForVariable.js +99 -0
- package/src/matcher.js +76 -0
- package/src/premise.js +48 -336
- package/src/rule.js +12 -12
- package/src/ruleNames.js +1 -0
- package/src/step/metaproof.js +1 -1
- package/src/{metaSubstitution.js → substitution/metastatementForMetavariable.js} +9 -8
- package/src/{substitution.js → substitution/statementForMetavariable.js} +8 -7
- package/src/substitution/statementForVariable.js +64 -0
- package/src/supposition.js +26 -173
- package/src/utilities/{node.js → substitution.js} +4 -74
- package/src/verify/metaproof.js +2 -2
- package/src/verify/proof.js +2 -2
- package/src/verify/ruleProof.js +2 -2
- package/lib/metaSubstitution.js +0 -85
- package/lib/metaSupposition.js +0 -167
- package/lib/substitution.js +0 -85
- package/lib/utilities/node.js +0 -106
- package/lib/verify/metaSupposition.js +0 -41
- package/src/metaSupposition.js +0 -196
- package/src/verify/metaSupposition.js +0 -44
package/lib/axiomLemmaTheorem.js
CHANGED
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
|
|
12
|
-
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("./consequence"));
|
|
13
12
|
var _supposition = /*#__PURE__*/ _interopRequireDefault(require("./supposition"));
|
|
13
|
+
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("./consequence"));
|
|
14
14
|
var _array = require("./utilities/array");
|
|
15
15
|
function _classCallCheck(instance, Constructor) {
|
|
16
16
|
if (!(instance instanceof Constructor)) {
|
|
@@ -187,4 +187,4 @@ function matchSuppositionsAndConsequence(suppositions, consequence, proofSteps,
|
|
|
187
187
|
return suppositionsMatchConsequence;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbUxlbW1hVGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgQ29uc2VxdWVuY2UgZnJvbSBcIi4vY29uc2VxdWVuY2VcIjtcbmltcG9ydCBTdXBwb3NpdGlvbiBmcm9tIFwiLi9zdXBwb3NpdGlvblwiO1xuXG5pbXBvcnQgeyBwcnVuZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgc29tZVN1YkFycmF5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF4aW9tTGVtbWFUaGVvcmVtIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5zdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnM7XG4gICAgdGhpcy5jb25zZXF1ZW5jZSA9IGNvbnNlcXVlbmNlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3NpdGlvbnM7XG4gIH1cblxuICBnZXRDb25zZXF1ZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25zZXF1ZW5jZTtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOYW1lKGxhYmVsTmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNMYWJlbE5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGxhYmVsTmFtZSwgLy8vXG4gICAgICAgICAgICBsYWJlbE1hdGNoZXNOYW1lID0gbGFiZWwubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxNYXRjaGVzTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXRjaGVzTGFiZWxOYW1lO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNMZW5ndGggPSB0aGlzLnN1cHBvc2l0aW9ucy5sZW5ndGg7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKHRoaXMuY29uc2VxdWVuY2UsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uc2VxdWVuY2VNYXRjaGVzOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvb2ZTdGVwcyA9IHByb29mQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCk7XG5cbiAgICAgIHN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkocHJvb2ZTdGVwcywgc3VwcG9zaXRpb25zTGVuZ3RoLCAocHJvb2ZTdGVwcykgPT4ge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlID0gbWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSh0aGlzLnN1cHBvc2l0aW9ucywgdGhpcy5jb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgeyBraW5kIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIGxhYmVsc0pTT04gPSB0aGlzLmxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEpTT04gPSBsYWJlbC50b0pTT04oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gdGhpcy5zdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25KU09OID0gc3VwcG9zaXRpb24udG9KU09OKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbkpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uc2VxdWVuY2VKU09OID0gdGhpcy5jb25zZXF1ZW5jZS50b0pTT04oKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbmNlID0gY29uc2VxdWVuY2VKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihDbGFzcywganNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgICBsYWJlbHMgPSBsYWJlbHNKU09OLm1hcCgobGFiZWxKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBzdXBwb3NpdGlvbnMgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLm1hcCgoc3VwcG9zaXRpb25KU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgfSk7XG5cbiAgICBsZXQgeyBjb25zZXF1ZW5jZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IGNvbnNlcXVlbmNlSlNPTiA9IGNvbnNlcXVlbmNlOyAgLy8vXG5cbiAgICBqc29uID0gY29uc2VxdWVuY2VKU09OOyAgLy8vXG5cbiAgICBjb25zZXF1ZW5jZSA9IENvbnNlcXVlbmNlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgIC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZShDbGFzcywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7IHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IHBydW5lKHByb29mU3RlcHMsIChwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJQcm9vZk1hdGNoZXMgPSBzdXBwb3NpdGlvbi5tYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN1YlByb29mTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRNYXRjaGVzID0gc3VwcG9zaXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBzdXBwb3NpdGlvbk1hdGNoZXMgPSAocHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaGVzID0gc3VwcG9zaXRpb24uZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25NYXRjaGVzID0gbWF0Y2hTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25NYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25zZXF1ZW5jZS5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25zZXF1ZW5jZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2Uoc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25zTWF0Y2hlcyA9IG1hdGNoU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uc01hdGNoZXMpIHtcbiAgICBjb25zdCBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UgPSBjb25zZXF1ZW5jZU1hdGNoZXM7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlO1xufVxuIl0sIm5hbWVzIjpbIkF4aW9tTGVtbWFUaGVvcmVtIiwibGFiZWxzIiwic3VwcG9zaXRpb25zIiwiY29uc2VxdWVuY2UiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXRDb25zZXF1ZW5jZSIsIm1hdGNoTGFiZWxOYW1lIiwibGFiZWxOYW1lIiwibWF0Y2hlc0xhYmVsTmFtZSIsInNvbWUiLCJsYWJlbCIsIm5hbWUiLCJsYWJlbE1hdGNoZXNOYW1lIiwibWF0Y2hOYW1lIiwibWF0Y2hTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0Iiwic3RhdGVtZW50TmF0Y2hlcyIsInN1cHBvc2l0aW9uc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25zZXF1ZW5jZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlIiwicHJvb2ZTdGVwcyIsImdldFByb29mU3RlcHMiLCJzb21lU3ViQXJyYXkiLCJzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSIsInRvSlNPTiIsImtpbmQiLCJjb25zdHJ1Y3RvciIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW5jZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJDbGFzcyIsInJlbGVhc2VDb250ZXh0IiwiTGFiZWwiLCJTdXBwb3NpdGlvbiIsIkNvbnNlcXVlbmNlIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbiIsInByb29mU3RlcCIsInBydW5lIiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YlByb29mTWF0Y2hlcyIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uTWF0Y2hlcyIsIm1hdGNoU3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zTWF0Y2hlcyIsImV2ZXJ5Iiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7MERBUEg7Z0VBQ007Z0VBQ0E7cUJBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHUCxJQUFBLEFBQU1BLGtDQXdIbEIsQUF4SFk7YUFBTUEsa0JBQ1BDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxXQUFXOzhCQUQxQkg7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7aUJBSkZIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQ0gsWUFBWTtZQUMxQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUI7Z0JBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsU0FBUyxFQUFFO2dCQUN4QixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDUixNQUFNLENBQUNTLElBQUksQ0FBQyxTQUFDQyxPQUFVO29CQUNuRCxJQUFNQyxPQUFPSixXQUNQSyxtQkFBbUJGLE1BQU1HLFNBQVMsQ0FBQ0Y7b0JBRXpDLElBQUlDLGtCQUFrQjt3QkFDcEIsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsT0FBT0o7WUFDVDs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxhQUFhLEVBQUVDLFlBQVksRUFBRTs7Z0JBQzFDLElBQUlDO2dCQUVKLElBQU1DLHFCQUFxQixJQUFJLENBQUNqQixZQUFZLENBQUNrQixNQUFNO2dCQUVuRCxJQUFJRCx1QkFBdUIsR0FBRztvQkFDNUIsSUFBTUUsZ0JBQWdC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
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbUxlbW1hVGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5pbXBvcnQgU3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCBDb25zZXF1ZW5jZSBmcm9tIFwiLi9jb25zZXF1ZW5jZVwiO1xuXG5pbXBvcnQgeyBwcnVuZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgc29tZVN1YkFycmF5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF4aW9tTGVtbWFUaGVvcmVtIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5zdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnM7XG4gICAgdGhpcy5jb25zZXF1ZW5jZSA9IGNvbnNlcXVlbmNlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3NpdGlvbnM7XG4gIH1cblxuICBnZXRDb25zZXF1ZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25zZXF1ZW5jZTtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOYW1lKGxhYmVsTmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNMYWJlbE5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGxhYmVsTmFtZSwgLy8vXG4gICAgICAgICAgICBsYWJlbE1hdGNoZXNOYW1lID0gbGFiZWwubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxNYXRjaGVzTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXRjaGVzTGFiZWxOYW1lO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNMZW5ndGggPSB0aGlzLnN1cHBvc2l0aW9ucy5sZW5ndGg7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKHRoaXMuY29uc2VxdWVuY2UsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uc2VxdWVuY2VNYXRjaGVzOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvb2ZTdGVwcyA9IHByb29mQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCk7XG5cbiAgICAgIHN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkocHJvb2ZTdGVwcywgc3VwcG9zaXRpb25zTGVuZ3RoLCAocHJvb2ZTdGVwcykgPT4ge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlID0gbWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSh0aGlzLnN1cHBvc2l0aW9ucywgdGhpcy5jb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgeyBraW5kIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIGxhYmVsc0pTT04gPSB0aGlzLmxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEpTT04gPSBsYWJlbC50b0pTT04oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gdGhpcy5zdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25KU09OID0gc3VwcG9zaXRpb24udG9KU09OKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbkpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uc2VxdWVuY2VKU09OID0gdGhpcy5jb25zZXF1ZW5jZS50b0pTT04oKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbmNlID0gY29uc2VxdWVuY2VKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihDbGFzcywganNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgICBsYWJlbHMgPSBsYWJlbHNKU09OLm1hcCgobGFiZWxKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBzdXBwb3NpdGlvbnMgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLm1hcCgoc3VwcG9zaXRpb25KU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gICAgfSk7XG5cbiAgICBsZXQgeyBjb25zZXF1ZW5jZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IGNvbnNlcXVlbmNlSlNPTiA9IGNvbnNlcXVlbmNlOyAgLy8vXG5cbiAgICBqc29uID0gY29uc2VxdWVuY2VKU09OOyAgLy8vXG5cbiAgICBjb25zZXF1ZW5jZSA9IENvbnNlcXVlbmNlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgIC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZShDbGFzcywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKSB7IHJldHVybiBuZXcgQ2xhc3MobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTsgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IHBydW5lKHByb29mU3RlcHMsIChwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJQcm9vZk1hdGNoZXMgPSBzdXBwb3NpdGlvbi5tYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN1YlByb29mTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRNYXRjaGVzID0gc3VwcG9zaXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBzdXBwb3NpdGlvbk1hdGNoZXMgPSAocHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBzdXBwb3NpdGlvbnNNYXRjaGVzID0gc3VwcG9zaXRpb24uZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25NYXRjaGVzID0gbWF0Y2hTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25NYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25zZXF1ZW5jZS5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25zZXF1ZW5jZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2Uoc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25zTWF0Y2hlcyA9IG1hdGNoU3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uc01hdGNoZXMpIHtcbiAgICBjb25zdCBjb25zZXF1ZW5jZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UgPSBjb25zZXF1ZW5jZU1hdGNoZXM7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlO1xufVxuIl0sIm5hbWVzIjpbIkF4aW9tTGVtbWFUaGVvcmVtIiwibGFiZWxzIiwic3VwcG9zaXRpb25zIiwiY29uc2VxdWVuY2UiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXRDb25zZXF1ZW5jZSIsIm1hdGNoTGFiZWxOYW1lIiwibGFiZWxOYW1lIiwibWF0Y2hlc0xhYmVsTmFtZSIsInNvbWUiLCJsYWJlbCIsIm5hbWUiLCJsYWJlbE1hdGNoZXNOYW1lIiwibWF0Y2hOYW1lIiwibWF0Y2hTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0Iiwic3RhdGVtZW50TmF0Y2hlcyIsInN1cHBvc2l0aW9uc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25zZXF1ZW5jZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlIiwicHJvb2ZTdGVwcyIsImdldFByb29mU3RlcHMiLCJzb21lU3ViQXJyYXkiLCJzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSIsInRvSlNPTiIsImtpbmQiLCJjb25zdHJ1Y3RvciIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW5jZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJDbGFzcyIsInJlbGVhc2VDb250ZXh0IiwiTGFiZWwiLCJTdXBwb3NpdGlvbiIsIkNvbnNlcXVlbmNlIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbiIsInByb29mU3RlcCIsInBydW5lIiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YlByb29mTWF0Y2hlcyIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uTWF0Y2hlcyIsIm1hdGNoU3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zTWF0Y2hlcyIsImV2ZXJ5Iiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7MERBUEg7Z0VBQ007Z0VBQ0E7cUJBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHUCxJQUFBLEFBQU1BLGtDQXdIbEIsQUF4SFk7YUFBTUEsa0JBQ1BDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxXQUFXOzhCQUQxQkg7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7aUJBSkZIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQ0gsWUFBWTtZQUMxQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUI7Z0JBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsU0FBUyxFQUFFO2dCQUN4QixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDUixNQUFNLENBQUNTLElBQUksQ0FBQyxTQUFDQyxPQUFVO29CQUNuRCxJQUFNQyxPQUFPSixXQUNQSyxtQkFBbUJGLE1BQU1HLFNBQVMsQ0FBQ0Y7b0JBRXpDLElBQUlDLGtCQUFrQjt3QkFDcEIsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsT0FBT0o7WUFDVDs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxhQUFhLEVBQUVDLFlBQVksRUFBRTs7Z0JBQzFDLElBQUlDO2dCQUVKLElBQU1DLHFCQUFxQixJQUFJLENBQUNqQixZQUFZLENBQUNrQixNQUFNO2dCQUVuRCxJQUFJRCx1QkFBdUIsR0FBRztvQkFDNUIsSUFBTUUsZ0JBQWdC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
|
package/lib/conclusion.js
CHANGED
|
@@ -8,10 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Conclusion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _array = require("./utilities/array");
|
|
12
11
|
var _string = require("./utilities/string");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var _conclusion = require("./matcher/statementForMetavariable/conclusion");
|
|
13
|
+
var _conclusion1 = require("./matcher/metastatementForMetavariable/conclusion");
|
|
15
14
|
function _classCallCheck(instance, Constructor) {
|
|
16
15
|
if (!(instance instanceof Constructor)) {
|
|
17
16
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -46,14 +45,14 @@ var Conclusion = /*#__PURE__*/ function() {
|
|
|
46
45
|
{
|
|
47
46
|
key: "matchStatementNode",
|
|
48
47
|
value: function matchStatementNode(statementNode, substitutions) {
|
|
49
|
-
var
|
|
48
|
+
var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = statementNode, nonTerminalNodeMatches = _conclusion.conclusionStatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), statementNodeMatches = nonTerminalNodeMatches; ///
|
|
50
49
|
return statementNodeMatches;
|
|
51
50
|
}
|
|
52
51
|
},
|
|
53
52
|
{
|
|
54
53
|
key: "matchMetastatementNode",
|
|
55
|
-
value: function matchMetastatementNode(metastatementNode,
|
|
56
|
-
var
|
|
54
|
+
value: function matchMetastatementNode(metastatementNode, substitutions) {
|
|
55
|
+
var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = metastatementNode, nonTerminalNodeMatches = _conclusion1.conclusionMetastatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), metastatementNodeMatches = nonTerminalNodeMatches; ///
|
|
57
56
|
return metastatementNodeMatches;
|
|
58
57
|
}
|
|
59
58
|
},
|
|
@@ -84,159 +83,5 @@ var Conclusion = /*#__PURE__*/ function() {
|
|
|
84
83
|
]);
|
|
85
84
|
return Conclusion;
|
|
86
85
|
}();
|
|
87
|
-
function matchConclusionNode(conclusionNode, node, substitutions) {
|
|
88
|
-
var conclusionNodeMatches = false;
|
|
89
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = conclusionNode.isTerminalNode();
|
|
90
|
-
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
91
|
-
if (nodeTerminalNode) {
|
|
92
|
-
var terminalNode = node, conclusionTerminalNode = conclusionNode, conclusionTerminalNodeMatches = matchConclusionTerminalNode(conclusionTerminalNode, terminalNode, substitutions);
|
|
93
|
-
conclusionNodeMatches = conclusionTerminalNodeMatches; ///
|
|
94
|
-
} else {
|
|
95
|
-
var nonTerminalNode = node, conclusionNonTerminalNode = conclusionNode, conclusionNonTerminalNodeMatches = matchConclusionNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, substitutions);
|
|
96
|
-
conclusionNodeMatches = conclusionNonTerminalNodeMatches; ///
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return conclusionNodeMatches;
|
|
100
|
-
}
|
|
101
|
-
function matchConclusionNodes(conclusionNodes, nodes, metaSubstitutions) {
|
|
102
|
-
var conclusionNodesMatch = false;
|
|
103
|
-
var nodesLength = nodes.length, conclusionNodesLength = conclusionNodes.length;
|
|
104
|
-
if (nodesLength === conclusionNodesLength) {
|
|
105
|
-
conclusionNodesMatch = nodes.every(function(node, index) {
|
|
106
|
-
var conclusionNode = conclusionNodes[index], conclusionNodeMatches = matchConclusionNode(conclusionNode, node, metaSubstitutions);
|
|
107
|
-
if (conclusionNodeMatches) {
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
return conclusionNodesMatch;
|
|
113
|
-
}
|
|
114
|
-
function matchConclusionTerminalNode(conclusionTerminalNode, terminalNode, substitutions) {
|
|
115
|
-
var matches = conclusionTerminalNode.match(terminalNode), conclusionTerminalNodeMatches = matches; ///
|
|
116
|
-
return conclusionTerminalNodeMatches;
|
|
117
|
-
}
|
|
118
|
-
function matchConclusionNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, substitutions) {
|
|
119
|
-
var conclusionNonTerminalNodeMatches = false;
|
|
120
|
-
var ruleName = nonTerminalNode.getRuleName(), childNodes = nonTerminalNode.getChildNodes(), conclusionNonTerminalNodeRuleName = conclusionNonTerminalNode.getRuleName(), conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(), nodes = childNodes, conclusionNodes = conclusionNonTerminalNodeChildNodes, ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME, conclusionNonTerminalNodeRuleNameMetastatementRuleName = conclusionNonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
121
|
-
if (ruleNameStatementRuleName && conclusionNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
122
|
-
var statementNode = nonTerminalNode, conclusionMetastatementNode = conclusionNonTerminalNode, conclusionMetastatementNodeMatches = matchConclusionMetastatementNode(conclusionMetastatementNode, statementNode, substitutions);
|
|
123
|
-
if (conclusionMetastatementNodeMatches) {
|
|
124
|
-
conclusionNonTerminalNodeMatches = true; ///
|
|
125
|
-
} else {
|
|
126
|
-
var conclusionNonTerminalNodeChildNodesMatches = matchConclusionNodes(conclusionNodes, nodes, substitutions);
|
|
127
|
-
conclusionNonTerminalNodeMatches = conclusionNonTerminalNodeChildNodesMatches; ///
|
|
128
|
-
}
|
|
129
|
-
} else if (ruleName === conclusionNonTerminalNodeRuleName) {
|
|
130
|
-
var conclusionNonTerminalNodeChildNodesMatches1 = matchConclusionNodes(conclusionNodes, nodes, substitutions);
|
|
131
|
-
conclusionNonTerminalNodeMatches = conclusionNonTerminalNodeChildNodesMatches1; ///
|
|
132
|
-
}
|
|
133
|
-
return conclusionNonTerminalNodeMatches;
|
|
134
|
-
}
|
|
135
|
-
function matchConclusionMetavariableNode(conclusionMetavariableNode, statementNode, substitutions) {
|
|
136
|
-
var conclusionMetavariableNodeMatches = true;
|
|
137
|
-
var conclusionMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(conclusionMetavariableNode), substitution = substitutions.find(function(substitution) {
|
|
138
|
-
var metavariableName = substitution.getMetavariableName();
|
|
139
|
-
if (metavariableName === conclusionMetavariableName) {
|
|
140
|
-
return true;
|
|
141
|
-
}
|
|
142
|
-
}) || null;
|
|
143
|
-
if (substitution !== null) {
|
|
144
|
-
var substitutionNodesMatch = substitution.matchStatementNode(statementNode);
|
|
145
|
-
conclusionMetavariableNodeMatches = substitutionNodesMatch; ///
|
|
146
|
-
}
|
|
147
|
-
return conclusionMetavariableNodeMatches;
|
|
148
|
-
}
|
|
149
|
-
function matchConclusionMetastatementNode(conclusionMetastatementNode, statementNode, substitutions) {
|
|
150
|
-
var conclusionMetastatementNodeMatches = false;
|
|
151
|
-
var conclusionNonTerminalNode = conclusionMetastatementNode, conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(), conclusionNonTerminalNodeChildNodesLength = conclusionNonTerminalNodeChildNodes.length;
|
|
152
|
-
if (conclusionNonTerminalNodeChildNodesLength === 1) {
|
|
153
|
-
var firstConclusionChildNode = (0, _array.first)(conclusionNonTerminalNodeChildNodes), conclusionChildNode = firstConclusionChildNode, conclusionChildNodeNonTerminalNode = conclusionChildNode.isNonTerminalNode();
|
|
154
|
-
if (conclusionChildNodeNonTerminalNode) {
|
|
155
|
-
var conclusionNonTerminalChildNode = conclusionChildNode, conclusionNonTerminalChildNodeRuleName = conclusionNonTerminalChildNode.getRuleName(), conclusionNonTerminalChildNodeRuleNameMetavariableRuleName = conclusionNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
156
|
-
if (conclusionNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
157
|
-
var conclusionMetavariableNode = conclusionNonTerminalChildNode, conclusionMetavariableNodeMatches = matchConclusionMetavariableNode(conclusionMetavariableNode, statementNode, substitutions);
|
|
158
|
-
conclusionMetastatementNodeMatches = conclusionMetavariableNodeMatches; ///
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return conclusionMetastatementNodeMatches;
|
|
163
|
-
}
|
|
164
|
-
function metaMatchConclusionNode(conclusionNode, node, metaSubstitutions) {
|
|
165
|
-
var conclusionNodeMatches = false;
|
|
166
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = conclusionNode.isTerminalNode();
|
|
167
|
-
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
168
|
-
if (nodeTerminalNode) {
|
|
169
|
-
var terminalNode = node, conclusionTerminalNode = conclusionNode, conclusionTerminalNodeMatches = metaMatchConclusionTerminalNode(conclusionTerminalNode, terminalNode, metaSubstitutions);
|
|
170
|
-
conclusionNodeMatches = conclusionTerminalNodeMatches; ///
|
|
171
|
-
} else {
|
|
172
|
-
var nonTerminalNode = node, conclusionNonTerminalNode = conclusionNode, conclusionNonTerminalNodeMatches = metaMatchConclusionNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
173
|
-
conclusionNodeMatches = conclusionNonTerminalNodeMatches; ///
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return conclusionNodeMatches;
|
|
177
|
-
}
|
|
178
|
-
function metaMatchConclusionNodes(conclusionNodes, nodes, metaSubstitutions) {
|
|
179
|
-
var conclusionNodesMatch = false;
|
|
180
|
-
var nodesLength = nodes.length, conclusionNodesLength = conclusionNodes.length;
|
|
181
|
-
if (nodesLength === conclusionNodesLength) {
|
|
182
|
-
conclusionNodesMatch = nodes.every(function(node, index) {
|
|
183
|
-
var conclusionNode = conclusionNodes[index], conclusionNodeMatches = metaMatchConclusionNode(conclusionNode, node, metaSubstitutions);
|
|
184
|
-
if (conclusionNodeMatches) {
|
|
185
|
-
return true;
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
return conclusionNodesMatch;
|
|
190
|
-
}
|
|
191
|
-
function metaMatchConclusionTerminalNode(conclusionTerminalNode, terminalNode, metaSubstitutions) {
|
|
192
|
-
var matches = conclusionTerminalNode.match(terminalNode), conclusionTerminalNodeMatches = matches; ///
|
|
193
|
-
return conclusionTerminalNodeMatches;
|
|
194
|
-
}
|
|
195
|
-
function metaMatchConclusionNonTerminalNode(conclusionNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
196
|
-
var conclusionNonTerminalNodeMatches = false;
|
|
197
|
-
var ruleName = nonTerminalNode.getRuleName(), childNodes = nonTerminalNode.getChildNodes(), conclusionNonTerminalNodeRuleName = conclusionNonTerminalNode.getRuleName(), conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(), nodes = childNodes, conclusionNodes = conclusionNonTerminalNodeChildNodes, ruleNameMetastatementRuleName = ruleName === _ruleNames.METASTATEMENT_RULE_NAME, conclusionNonTerminalNodeRuleNameMetastatementRuleName = conclusionNonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
198
|
-
if (ruleNameMetastatementRuleName && conclusionNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
199
|
-
var statementNode = nonTerminalNode, conclusionMetastatementNode = conclusionNonTerminalNode, conclusionMetastatementNodeMatches = metaMatchConclusionMetastatementNode(conclusionMetastatementNode, statementNode, metaSubstitutions);
|
|
200
|
-
if (conclusionMetastatementNodeMatches) {
|
|
201
|
-
conclusionNonTerminalNodeMatches = true; ///
|
|
202
|
-
} else {
|
|
203
|
-
var conclusionNonTerminalNodeChildNodesMatches = metaMatchConclusionNodes(conclusionNodes, nodes, metaSubstitutions);
|
|
204
|
-
conclusionNonTerminalNodeMatches = conclusionNonTerminalNodeChildNodesMatches; ///
|
|
205
|
-
}
|
|
206
|
-
} else if (ruleName === conclusionNonTerminalNodeRuleName) {
|
|
207
|
-
var conclusionNonTerminalNodeChildNodesMatches1 = metaMatchConclusionNodes(conclusionNodes, nodes, metaSubstitutions);
|
|
208
|
-
conclusionNonTerminalNodeMatches = conclusionNonTerminalNodeChildNodesMatches1; ///
|
|
209
|
-
}
|
|
210
|
-
return conclusionNonTerminalNodeMatches;
|
|
211
|
-
}
|
|
212
|
-
function metaMatchConclusionMetavariableNode(conclusionMetavariableNode, metastatementNode, metaSubstitutions) {
|
|
213
|
-
var conclusionMetavariableNodeMatches = true;
|
|
214
|
-
var conclusionMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(conclusionMetavariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
215
|
-
var metavariableName = metaSubstitution.getMetavariableName();
|
|
216
|
-
if (metavariableName === conclusionMetavariableName) {
|
|
217
|
-
return true;
|
|
218
|
-
}
|
|
219
|
-
}) || null;
|
|
220
|
-
if (metaSubstitution !== null) {
|
|
221
|
-
var metaSubstitutionNodesMatch = metaSubstitution.matchMetastatementNode(metastatementNode);
|
|
222
|
-
conclusionMetavariableNodeMatches = metaSubstitutionNodesMatch; ///
|
|
223
|
-
}
|
|
224
|
-
return conclusionMetavariableNodeMatches;
|
|
225
|
-
}
|
|
226
|
-
function metaMatchConclusionMetastatementNode(conclusionMetastatementNode, metastatementNode, metaSubstitutions) {
|
|
227
|
-
var conclusionMetastatementNodeMatches = false;
|
|
228
|
-
var conclusionNonTerminalNode = conclusionMetastatementNode, conclusionNonTerminalNodeChildNodes = conclusionNonTerminalNode.getChildNodes(), conclusionNonTerminalNodeChildNodesLength = conclusionNonTerminalNodeChildNodes.length;
|
|
229
|
-
if (conclusionNonTerminalNodeChildNodesLength === 1) {
|
|
230
|
-
var firstConclusionChildNode = (0, _array.first)(conclusionNonTerminalNodeChildNodes), conclusionChildNode = firstConclusionChildNode, conclusionChildNodeNonTerminalNode = conclusionChildNode.isNonTerminalNode();
|
|
231
|
-
if (conclusionChildNodeNonTerminalNode) {
|
|
232
|
-
var conclusionNonTerminalChildNode = conclusionChildNode, conclusionNonTerminalChildNodeRuleName = conclusionNonTerminalChildNode.getRuleName(), conclusionNonTerminalChildNodeRuleNameMetavariableRuleName = conclusionNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
233
|
-
if (conclusionNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
234
|
-
var conclusionMetavariableNode = conclusionNonTerminalChildNode, conclusionMetavariableNodeMatches = metaMatchConclusionMetavariableNode(conclusionMetavariableNode, metastatementNode, metaSubstitutions);
|
|
235
|
-
conclusionMetastatementNodeMatches = conclusionMetavariableNodeMatches; ///
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return conclusionMetastatementNodeMatches;
|
|
240
|
-
}
|
|
241
86
|
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uY2x1c2lvbiB7XG4gIGNvbnN0cnVjdG9yKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IG1ldGFzdGF0ZW1lbnQgfSA9IGpzb24sXG4gICAgICAgICAgbWV0YXN0YXRlbWVudFN0cmluZyA9IG1ldGFzdGF0ZW1lbnQsICAvLy9cbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmcobWV0YXN0YXRlbWVudFN0cmluZywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBuZXcgQ29uY2x1c2lvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uID0gbmV3IENvbmNsdXNpb24obWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGNvbmNsdXNpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTm9kZShjb25jbHVzaW9uTm9kZSwgbm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uVGVybWluYWxOb2RlID0gY29uY2x1c2lvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZShjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTm9kZXMoY29uY2x1c2lvbk5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25Ob2Rlc01hdGNoID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbmNsdXNpb25Ob2Rlc0xlbmd0aCA9IGNvbmNsdXNpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBjb25jbHVzaW9uTm9kZXNMZW5ndGgpIHtcbiAgICBjb25jbHVzaW9uTm9kZXNNYXRjaCA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29uY2x1c2lvbk5vZGUgPSBjb25jbHVzaW9uTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9kZShjb25jbHVzaW9uTm9kZSwgbm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25Ob2Rlc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbmNsdXNpb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBjb25jbHVzaW9uVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICBjb25jbHVzaW9uTm9kZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcywgLy8vXG4gICAgICAgIHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgaWYgKHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgJiYgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUoY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIGlmIChjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7XG4gICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHRydWU7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc01hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25Ob2Rlcyhjb25jbHVzaW9uTm9kZXMsIG5vZGVzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmIChydWxlTmFtZSA9PT0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lKSB7XG4gICAgY29uc3QgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9kZXMoY29uY2x1c2lvbk5vZGVzLCBub2Rlcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTWF0Y2hlczsgLy8vXG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRydWU7XG5cbiAgY29uc3QgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBzdWJzdGl0dXRpb24uZ2V0TWV0YXZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU5hbWUgPT09IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uTm9kZXNNYXRjaDsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUoY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc0xlbmd0aCA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdENvbmNsdXNpb25DaGlsZE5vZGUgPSBmaXJzdChjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyksXG4gICAgICAgICAgY29uY2x1c2lvbkNoaWxkTm9kZSA9IGZpcnN0Q29uY2x1c2lvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlID0gY29uY2x1c2lvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUgPSAoY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlKGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIG5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoQ29uY2x1c2lvbk5vZGVzKGNvbmNsdXNpb25Ob2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTm9kZXNNYXRjaCA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBjb25jbHVzaW9uTm9kZXNMZW5ndGggPSBjb25jbHVzaW9uTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gY29uY2x1c2lvbk5vZGVzTGVuZ3RoKSB7XG4gICAgY29uY2x1c2lvbk5vZGVzTWF0Y2ggPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25Ob2RlID0gY29uY2x1c2lvbk5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb25Ob2RlKGNvbmNsdXNpb25Ob2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChjb25jbHVzaW9uTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vZGVzTWF0Y2g7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaENvbmNsdXNpb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtYXRjaGVzID0gY29uY2x1c2lvblRlcm1pbmFsTm9kZS5tYXRjaCh0ZXJtaW5hbE5vZGUpLFxuICAgICAgICBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gY29uY2x1c2lvblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaENvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICBjb25jbHVzaW9uTm9kZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcywgLy8vXG4gICAgICAgIHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSksXG4gICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICBpZiAocnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgJiYgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YU1hdGNoQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgaWYgKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb25Ob2Rlcyhjb25jbHVzaW9uTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH0gZWxzZSBpZiAocnVsZU5hbWUgPT09IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb25Ob2Rlcyhjb25jbHVzaW9uTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTWF0Y2hlczsgLy8vXG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaENvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlKGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRydWU7XG5cbiAgY29uc3QgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhU3Vic3RpdHV0aW9uID0gbWV0YVN1YnN0aXR1dGlvbnMuZmluZCgobWV0YVN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhU3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSB8fCBudWxsO1xuXG4gIGlmIChtZXRhU3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBtZXRhU3Vic3RpdHV0aW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZShjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXNMZW5ndGggPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3QgZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlID0gZmlyc3QoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMpLFxuICAgICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGUgPSBmaXJzdENvbmNsdXNpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY29uY2x1c2lvbkNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNvbmNsdXNpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZSA9IGNvbmNsdXNpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID0gY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lID0gKGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID09PSBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUgPSBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gbWV0YU1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlTWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsiQ29uY2x1c2lvbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsIm5vblRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFTdWJzdGl0dXRpb25zIiwibWV0YU1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsInRvSlNPTiIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJtZXRhc3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwiY29uY2x1c2lvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoQ29uY2x1c2lvbk5vZGUiLCJjb25jbHVzaW9uTm9kZSIsIm5vZGUiLCJjb25jbHVzaW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25UZXJtaW5hbE5vZGUiLCJjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvblRlcm1pbmFsTm9kZSIsIm1hdGNoQ29uY2x1c2lvbk5vZGVzIiwiY29uY2x1c2lvbk5vZGVzIiwibm9kZXMiLCJjb25jbHVzaW9uTm9kZXNNYXRjaCIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY29uY2x1c2lvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzIiwicnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUiLCJjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSIsImNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsImNvbmNsdXNpb25NZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsIm1ldGF2YXJpYWJsZU5hbWUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlIiwiZmlyc3QiLCJjb25jbHVzaW9uQ2hpbGROb2RlIiwiY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIm1ldGFNYXRjaENvbmNsdXNpb25Ob2RlIiwibWV0YU1hdGNoQ29uY2x1c2lvblRlcm1pbmFsTm9kZSIsIm1ldGFNYXRjaENvbmNsdXNpb25Ob2RlcyIsInJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwibWV0YU1hdGNoQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YU1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhU3Vic3RpdHV0aW9uIiwibWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3FCQU5DO3NCQUNPO3FCQUN3Qjt5QkFFZ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRFLElBQUEsQUFBTUEsMkJBcURsQixBQXJEWTthQUFNQSxXQUNQQyxpQkFBaUI7OEJBRFZEO1FBRWpCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBOztpQkFGUkQ7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsYUFBYSxFQUFFQyxhQUFhLEVBQUU7Z0JBQy9DLElBQU1DLGtCQUFrQkYsZUFDbEJHLDRCQUE0QixJQUFJLENBQUNOLGlCQUFpQixFQUNsRE8sbUNBQW1DQywrQkFBK0JGLDJCQUEyQkQsaUJBQWlCRCxnQkFDOUdLLHVCQUF1QkYsa0NBQWtDLEdBQUc7Z0JBRWxFLE9BQU9FO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCVixpQkFBaUIsRUFBRVcsaUJBQWlCLEVBQUU7Z0JBQzNELElBQU1OLGtCQUFrQkwsbUJBQ2xCTSw0QkFBNEIsSUFBSSxDQUFDTixpQkFBaUIsRUFDbERPLG1DQUFtQ0ssbUNBQW1DTiwyQkFBMkJELGlCQUFpQk0sb0JBQ2xIRSwyQkFBMkJOLGtDQUFrQyxHQUFHO2dCQUV0RSxPQUFPTTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ2hCLGlCQUFpQixHQUN6RGlCLGdCQUFnQkYscUJBQ2hCRyxPQUFPO29CQUNMRCxlQUFBQTtnQkFD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
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgY29uY2x1c2lvblN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU1hdGNoZXIgfSBmcm9tIFwiLi9tYXRjaGVyL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZS9jb25jbHVzaW9uXCI7XG5pbXBvcnQgeyBjb25jbHVzaW9uTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU1hdGNoZXIgfSBmcm9tIFwiLi9tYXRjaGVyL21ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGUvY29uY2x1c2lvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25jbHVzaW9uIHtcbiAgY29uc3RydWN0b3IobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhc3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50ID0gbWV0YXN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBtZXRhc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBtZXRhc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nKG1ldGFzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBjb25jbHVzaW9uID0gbmV3IENvbmNsdXNpb24obWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGNvbmNsdXNpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgY29uY2x1c2lvbiA9IG5ldyBDb25jbHVzaW9uKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb25jbHVzaW9uO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkNvbmNsdXNpb24iLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJjb25jbHVzaW9uU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwiY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwidG9KU09OIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsIm1ldGFzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmciLCJjb25jbHVzaW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztzQkFMUTswQkFFNkI7MkJBQ0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9DLElBQUEsQUFBTUEsMkJBQU47YUFBTUEsV0FDUEMsaUJBQWlCOzhCQURWRDtRQUVqQixJQUFJLENBQUNDLGlCQUFpQixHQUFHQTs7aUJBRlJEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLGFBQWEsRUFBRUMsYUFBYSxFQUFFO2dCQUMvQyxJQUFNQyxtQkFBbUIsSUFBSSxDQUFDTCxpQkFBaUIsRUFDekNNLG1CQUFtQkgsZUFDbkJJLHlCQUF5QkMscURBQXlDLENBQUNDLG9CQUFvQixDQUFDSixrQkFBa0JDLGtCQUFrQkYsZ0JBQzVITSx1QkFBdUJILHdCQUF3QixHQUFHO2dCQUV4RCxPQUFPRztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QlgsaUJBQWlCLEVBQUVJLGFBQWEsRUFBRTtnQkFDdkQsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0wsaUJBQWlCLEVBQ3pDTSxtQkFBbUJOLG1CQUNuQk8seUJBQXlCSywwREFBNkMsQ0FBQ0gsb0JBQW9CLENBQUNKLGtCQUFrQkMsa0JBQWtCRixnQkFDaElTLDJCQUEyQk4sd0JBQXdCLEdBQUc7Z0JBRTVELE9BQU9NO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDaEIsaUJBQWlCLEdBQ3pEaUIsZ0JBQWdCRixxQkFDaEJHLE9BQU87b0JBQ0xELGVBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsZ0JBQWtCQyxLQUFsQkQsZUFDRkYsc0JBQXNCRSxlQUN0QmpCLG9CQUFvQnFCLElBQUFBLGdEQUF3QyxFQUFDTixxQkFBcUJLLGlCQUNsRkUsYUFBYSxJQXpDRnZCLFdBeUNpQkM7Z0JBRWxDLE9BQU9zQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0Esc0JBQXNCdkIsaUJBQWlCLEVBQUU7Z0JBQzlDLElBQU1zQixhQUFhLElBL0NGdkIsV0ErQ2lCQztnQkFFbEMsT0FBT3NCO1lBQ1Q7OztXQWxEbUJ2QiJ9
|
package/lib/consequence.js
CHANGED
|
@@ -8,10 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Consequence;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _array = require("./utilities/array");
|
|
12
11
|
var _string = require("./utilities/string");
|
|
13
|
-
var
|
|
14
|
-
var _ruleNames = require("./ruleNames");
|
|
12
|
+
var _consequence = require("./matcher/statementForVariable/consequence");
|
|
15
13
|
function _classCallCheck(instance, Constructor) {
|
|
16
14
|
if (!(instance instanceof Constructor)) {
|
|
17
15
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -45,8 +43,8 @@ var Consequence = /*#__PURE__*/ function() {
|
|
|
45
43
|
},
|
|
46
44
|
{
|
|
47
45
|
key: "matchStatementNode",
|
|
48
|
-
value: function matchStatementNode(statementNode,
|
|
49
|
-
var
|
|
46
|
+
value: function matchStatementNode(statementNode, substitutions) {
|
|
47
|
+
var nonTerminalNodeA = this.statementNode, nonTerminalNodeB = statementNode, nonTerminalNodeMatches = _consequence.consequenceStatementForVariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), statementNodeMatches = nonTerminalNodeMatches; ///
|
|
50
48
|
return statementNodeMatches;
|
|
51
49
|
}
|
|
52
50
|
},
|
|
@@ -77,81 +75,5 @@ var Consequence = /*#__PURE__*/ function() {
|
|
|
77
75
|
]);
|
|
78
76
|
return Consequence;
|
|
79
77
|
}();
|
|
80
|
-
function matchConsequenceNode(consequenceNode, node, metaSubstitutions) {
|
|
81
|
-
var consequenceNodeMatches = false;
|
|
82
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = consequenceNode.isTerminalNode();
|
|
83
|
-
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
84
|
-
if (nodeTerminalNode) {
|
|
85
|
-
var terminalNode = node, consequenceTerminalNode = consequenceNode, consequenceTerminalNodeMatches = matchConsequenceTerminalNode(consequenceTerminalNode, terminalNode, metaSubstitutions);
|
|
86
|
-
consequenceNodeMatches = consequenceTerminalNodeMatches; ///
|
|
87
|
-
} else {
|
|
88
|
-
var nonTerminalNode = node, consequenceNonTerminalNode = consequenceNode, consequenceNonTerminalNodeMatches = matchConsequenceNonTerminalNode(consequenceNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
89
|
-
consequenceNodeMatches = consequenceNonTerminalNodeMatches; ///
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return consequenceNodeMatches;
|
|
93
|
-
}
|
|
94
|
-
function matchConsequenceNodes(consequenceNodes, nodes, metaSubstitutions) {
|
|
95
|
-
var consequenceNodesMatches = false;
|
|
96
|
-
var nodesLength = nodes.length, consequenceNodesLength = consequenceNodes.length;
|
|
97
|
-
if (nodesLength === consequenceNodesLength) {
|
|
98
|
-
consequenceNodesMatches = nodes.every(function(node, index) {
|
|
99
|
-
var consequenceNode = consequenceNodes[index], consequenceNodeMatches = matchConsequenceNode(consequenceNode, node, metaSubstitutions);
|
|
100
|
-
if (consequenceNodeMatches) {
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return consequenceNodesMatches;
|
|
106
|
-
}
|
|
107
|
-
function matchConsequenceVariable(consequenceVariableNode, nodes, metaSubstitutions) {
|
|
108
|
-
var consequenceVariableMatches = true;
|
|
109
|
-
var consequenceVariableName = (0, _query.variableNameFromVariableNode)(consequenceVariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
110
|
-
var variableName = metaSubstitution.getVariableName();
|
|
111
|
-
if (variableName === consequenceVariableName) {
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
}) || null;
|
|
115
|
-
if (metaSubstitution !== null) {
|
|
116
|
-
var metaSubstitutionNodesMatch = metaSubstitution.matchNodes(nodes);
|
|
117
|
-
consequenceVariableMatches = metaSubstitutionNodesMatch; ///
|
|
118
|
-
}
|
|
119
|
-
return consequenceVariableMatches;
|
|
120
|
-
}
|
|
121
|
-
function matchConsequenceTerminalNode(consequenceTerminalNode, terminalNode, metaSubstitutions) {
|
|
122
|
-
var matches = consequenceTerminalNode.match(terminalNode), consequenceTerminalNodeMatches = matches; ///
|
|
123
|
-
return consequenceTerminalNodeMatches;
|
|
124
|
-
}
|
|
125
|
-
function matchConsequenceNonTerminalNode(consequenceNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
126
|
-
var consequenceNonTerminalNodeMatches = false;
|
|
127
|
-
var ruleName = nonTerminalNode.getRuleName(), consequenceRuleName = consequenceNonTerminalNode.getRuleName(); ///
|
|
128
|
-
if (ruleName === consequenceRuleName) {
|
|
129
|
-
var childNodes = nonTerminalNode.getChildNodes(), consequenceChildNodes = consequenceNonTerminalNode.getChildNodes(), nodes = childNodes, consequenceNodes = consequenceChildNodes, consequenceChildNodesMatches = matchConsequenceNodes(consequenceNodes, nodes, metaSubstitutions);
|
|
130
|
-
consequenceNonTerminalNodeMatches = consequenceChildNodesMatches; ///
|
|
131
|
-
if (!consequenceNonTerminalNodeMatches) {
|
|
132
|
-
var ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
133
|
-
if (ruleNameStatementRuleName) {
|
|
134
|
-
var statementNode = nonTerminalNode, consequenceStatementNode = consequenceNonTerminalNode, consequenceStatementNodeMatches = matchConsequenceStatementNode(consequenceStatementNode, statementNode, metaSubstitutions);
|
|
135
|
-
consequenceNonTerminalNodeMatches = consequenceStatementNodeMatches; ///
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return consequenceNonTerminalNodeMatches;
|
|
140
|
-
}
|
|
141
|
-
function matchConsequenceStatementNode(consequenceStatementNode, statementNode, metaSubstitutions) {
|
|
142
|
-
var consequenceStatementNodeMatches = false;
|
|
143
|
-
var consequenceNonTerminalNode = consequenceStatementNode, consequenceChildNodes = consequenceNonTerminalNode.getChildNodes(), consequenceChildNodesLength = consequenceChildNodes.length;
|
|
144
|
-
if (consequenceChildNodesLength === 1) {
|
|
145
|
-
var firstConsequenceChildNode = (0, _array.first)(consequenceChildNodes), consequenceChildNode = firstConsequenceChildNode, consequenceChildNodeNonTerminalNode = consequenceChildNode.isNonTerminalNode();
|
|
146
|
-
if (consequenceChildNodeNonTerminalNode) {
|
|
147
|
-
var consequenceNonTerminalChildNode = consequenceChildNode, consequenceNonTerminalChildNodeRuleName = consequenceNonTerminalChildNode.getRuleName(), consequenceNonTerminalChildNodeRuleNameVariableRuleName = consequenceNonTerminalChildNodeRuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
148
|
-
if (consequenceNonTerminalChildNodeRuleNameVariableRuleName) {
|
|
149
|
-
var consequenceVariableNode = consequenceNonTerminalChildNode, nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, consequenceMetaVariableMatches = matchConsequenceVariable(consequenceVariableNode, nodes, metaSubstitutions);
|
|
150
|
-
consequenceStatementNodeMatches = consequenceMetaVariableMatches; ///
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return consequenceStatementNodeMatches;
|
|
155
|
-
}
|
|
156
78
|
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zZXF1ZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgVkFSSUFCTEVfUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnNlcXVlbmNlIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgY29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGUgPSB0aGlzLnN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlKGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMuc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBjb25zZXF1ZW5jZSA9IG5ldyBDb25zZXF1ZW5jZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb25zZXF1ZW5jZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgY29uc2VxdWVuY2UgPSBuZXcgQ29uc2VxdWVuY2Uoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29uc2VxdWVuY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25zZXF1ZW5jZU5vZGUoY29uc2VxdWVuY2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uc2VxdWVuY2VOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIHJ1bGVOb2RlVGVybWluYWxOb2RlID0gY29uc2VxdWVuY2VOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbmNlVGVybWluYWxOb2RlID0gY29uc2VxdWVuY2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlVGVybWluYWxOb2RlKGNvbnNlcXVlbmNlVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgY29uc2VxdWVuY2VOb2RlTWF0Y2hlcyA9IGNvbnNlcXVlbmNlVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlID0gY29uc2VxdWVuY2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaENvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlKGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgY29uc2VxdWVuY2VOb2RlTWF0Y2hlcyA9IGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbnNlcXVlbmNlTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uc2VxdWVuY2VOb2Rlcyhjb25zZXF1ZW5jZU5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbnNlcXVlbmNlTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbnNlcXVlbmNlTm9kZXNMZW5ndGggPSBjb25zZXF1ZW5jZU5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IGNvbnNlcXVlbmNlTm9kZXNMZW5ndGgpIHtcbiAgICBjb25zZXF1ZW5jZU5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29uc2VxdWVuY2VOb2RlID0gY29uc2VxdWVuY2VOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU5vZGVNYXRjaGVzID0gbWF0Y2hDb25zZXF1ZW5jZU5vZGUoY29uc2VxdWVuY2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW5jZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNvbnNlcXVlbmNlTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlVmFyaWFibGUoY29uc2VxdWVuY2VWYXJpYWJsZU5vZGUsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uc2VxdWVuY2VWYXJpYWJsZU1hdGNoZXMgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnNlcXVlbmNlVmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZShjb25zZXF1ZW5jZVZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gbWV0YVN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWUgPT09IGNvbnNlcXVlbmNlVmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IG1ldGFTdWJzdGl0dXRpb24ubWF0Y2hOb2Rlcyhub2Rlcyk7XG5cbiAgICBjb25zZXF1ZW5jZVZhcmlhYmxlTWF0Y2hlcyA9IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gIH1cblxuICByZXR1cm4gY29uc2VxdWVuY2VWYXJpYWJsZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uc2VxdWVuY2VUZXJtaW5hbE5vZGUoY29uc2VxdWVuY2VUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IGNvbnNlcXVlbmNlVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIGNvbnNlcXVlbmNlVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gY29uc2VxdWVuY2VUZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlKGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBjb25zZXF1ZW5jZVJ1bGVOYW1lID0gY29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBjb25zZXF1ZW5jZVJ1bGVOYW1lKSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY29uc2VxdWVuY2VDaGlsZE5vZGVzID0gY29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY29uc2VxdWVuY2VOb2RlcyA9IGNvbnNlcXVlbmNlQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY29uc2VxdWVuY2VDaGlsZE5vZGVzTWF0Y2hlcyA9IG1hdGNoQ29uc2VxdWVuY2VOb2Rlcyhjb25zZXF1ZW5jZU5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgY29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gY29uc2VxdWVuY2VDaGlsZE5vZGVzTWF0Y2hlczsgLy8vXG5cbiAgICBpZiAoIWNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSA9IChydWxlTmFtZSA9PT0gU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlID0gY29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoQ29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlKGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlKGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZSA9IGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBjb25zZXF1ZW5jZUNoaWxkTm9kZXMgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIGNvbnNlcXVlbmNlQ2hpbGROb2Rlc0xlbmd0aCA9IGNvbnNlcXVlbmNlQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKGNvbnNlcXVlbmNlQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0Q29uc2VxdWVuY2VDaGlsZE5vZGUgPSBmaXJzdChjb25zZXF1ZW5jZUNoaWxkTm9kZXMpLFxuICAgICAgICAgIGNvbnNlcXVlbmNlQ2hpbGROb2RlID0gZmlyc3RDb25zZXF1ZW5jZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbmNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY29uc2VxdWVuY2VDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjb25zZXF1ZW5jZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgY29uc2VxdWVuY2VOb25UZXJtaW5hbENoaWxkTm9kZSA9IGNvbnNlcXVlbmNlQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVWYXJpYWJsZVJ1bGVOYW1lID0gKGNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKGNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgY29uc2VxdWVuY2VWYXJpYWJsZU5vZGUgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgIGNvbnNlcXVlbmNlTWV0YVZhcmlhYmxlTWF0Y2hlcyA9IG1hdGNoQ29uc2VxdWVuY2VWYXJpYWJsZShjb25zZXF1ZW5jZVZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBjb25zZXF1ZW5jZVN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uc2VxdWVuY2VNZXRhVmFyaWFibGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJDb25zZXF1ZW5jZSIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGUiLCJjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZSIsImNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQ29uc2VxdWVuY2VOb25UZXJtaW5hbE5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsInRvSlNPTiIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0Iiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJjb25zZXF1ZW5jZSIsImZyb21TdGF0ZW1lbnROb2RlIiwibWF0Y2hDb25zZXF1ZW5jZU5vZGUiLCJjb25zZXF1ZW5jZU5vZGUiLCJub2RlIiwiY29uc2VxdWVuY2VOb2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29uc2VxdWVuY2VUZXJtaW5hbE5vZGUiLCJjb25zZXF1ZW5jZVRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlVGVybWluYWxOb2RlIiwibWF0Y2hDb25zZXF1ZW5jZU5vZGVzIiwiY29uc2VxdWVuY2VOb2RlcyIsIm5vZGVzIiwiY29uc2VxdWVuY2VOb2Rlc01hdGNoZXMiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImNvbnNlcXVlbmNlTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hDb25zZXF1ZW5jZVZhcmlhYmxlIiwiY29uc2VxdWVuY2VWYXJpYWJsZU5vZGUiLCJjb25zZXF1ZW5jZVZhcmlhYmxlTWF0Y2hlcyIsImNvbnNlcXVlbmNlVmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsIm1ldGFTdWJzdGl0dXRpb24iLCJmaW5kIiwidmFyaWFibGVOYW1lIiwiZ2V0VmFyaWFibGVOYW1lIiwibWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2giLCJtYXRjaE5vZGVzIiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbnNlcXVlbmNlUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNvbnNlcXVlbmNlQ2hpbGROb2RlcyIsImNvbnNlcXVlbmNlQ2hpbGROb2Rlc01hdGNoZXMiLCJydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsImNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSIsImNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSIsImNvbnNlcXVlbmNlQ2hpbGROb2Rlc0xlbmd0aCIsImZpcnN0Q29uc2VxdWVuY2VDaGlsZE5vZGUiLCJmaXJzdCIsImNvbnNlcXVlbmNlQ2hpbGROb2RlIiwiY29uc2VxdWVuY2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsImNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGUiLCJjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVWYXJpYWJsZVJ1bGVOYW1lIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwiY29uc2VxdWVuY2VNZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7OztxQkFOQztzQkFDTztxQkFDZ0I7eUJBRVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQUEsQUFBTUEsNEJBNENsQixBQTVDWTthQUFNQSxZQUNQQyxhQUFhOzhCQURORDtRQUVqQixJQUFJLENBQUNDLGFBQWEs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
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zZXF1ZW5jZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBjb25zZXF1ZW5jZVN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciB9IGZyb20gXCIuL21hdGNoZXIvc3RhdGVtZW50Rm9yVmFyaWFibGUvY29uc2VxdWVuY2VcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc2VxdWVuY2Uge1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbnNlcXVlbmNlU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMuc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBjb25zZXF1ZW5jZSA9IG5ldyBDb25zZXF1ZW5jZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb25zZXF1ZW5jZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgY29uc2VxdWVuY2UgPSBuZXcgQ29uc2VxdWVuY2Uoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29uc2VxdWVuY2U7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiQ29uc2VxdWVuY2UiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJjb25zZXF1ZW5jZVN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwiY29uc2VxdWVuY2UiLCJmcm9tU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7c0JBSlE7MkJBRTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxJQUFBLEFBQU1BLDRCQUFOO2FBQU1BLFlBQ1BDLGFBQWE7OEJBRE5EO1FBRWpCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7aUJBRkpEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQjtnQkFDakIsT0FBTyxJQUFJLENBQUNELGFBQWE7WUFDM0I7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CRixhQUFhLEVBQUVHLGFBQWEsRUFBRTtnQkFDL0MsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0osYUFBYSxFQUNyQ0ssbUJBQW1CTCxlQUNuQk0seUJBQXlCQyxtREFBc0MsQ0FBQ0Msb0JBQW9CLENBQUNKLGtCQUFrQkMsa0JBQWtCRixnQkFDekhNLHVCQUF1Qkgsd0JBQXdCLEdBQUc7Z0JBRXhELE9BQU9HO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxrQkFBa0JDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDWixhQUFhLEdBQ2pEYSxZQUFZRixpQkFDWkcsT0FBTztvQkFDTEQsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVFLGNBQWMsRUFBRTtnQkFDcEMsSUFBTSxBQUFFSCxZQUFjQyxLQUFkRCxXQUNGRixrQkFBa0JFLFdBQ2xCYixnQkFBZ0JpQixJQUFBQSx3Q0FBZ0MsRUFBQ04saUJBQWlCSyxpQkFDbEVFLGNBQWMsSUFoQ0huQixZQWdDbUJDO2dCQUVwQyxPQUFPa0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQm5CLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWtCLGNBQWMsSUF0Q0huQixZQXNDbUJDO2dCQUVwQyxPQUFPa0I7WUFDVDs7O1dBekNtQm5CIn0=
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "conclusionMetastatementForMetavariableMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return conclusionMetastatementForMetavariableMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _metastatementForMetavariable = /*#__PURE__*/ _interopRequireDefault(require("../../matcher/metastatementForMetavariable"));
|
|
12
|
+
function _assertThisInitialized(self) {
|
|
13
|
+
if (self === void 0) {
|
|
14
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
15
|
+
}
|
|
16
|
+
return self;
|
|
17
|
+
}
|
|
18
|
+
function _classCallCheck(instance, Constructor) {
|
|
19
|
+
if (!(instance instanceof Constructor)) {
|
|
20
|
+
throw new TypeError("Cannot call a class as a function");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _defineProperty(obj, key, value) {
|
|
24
|
+
if (key in obj) {
|
|
25
|
+
Object.defineProperty(obj, key, {
|
|
26
|
+
value: value,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
obj[key] = value;
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
function _getPrototypeOf(o) {
|
|
37
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
38
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
39
|
+
};
|
|
40
|
+
return _getPrototypeOf(o);
|
|
41
|
+
}
|
|
42
|
+
function _inherits(subClass, superClass) {
|
|
43
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
44
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
45
|
+
}
|
|
46
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
47
|
+
constructor: {
|
|
48
|
+
value: subClass,
|
|
49
|
+
writable: true,
|
|
50
|
+
configurable: true
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
54
|
+
}
|
|
55
|
+
function _interopRequireDefault(obj) {
|
|
56
|
+
return obj && obj.__esModule ? obj : {
|
|
57
|
+
default: obj
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function _possibleConstructorReturn(self, call) {
|
|
61
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
62
|
+
return call;
|
|
63
|
+
}
|
|
64
|
+
return _assertThisInitialized(self);
|
|
65
|
+
}
|
|
66
|
+
function _setPrototypeOf(o, p) {
|
|
67
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
68
|
+
o.__proto__ = p;
|
|
69
|
+
return o;
|
|
70
|
+
};
|
|
71
|
+
return _setPrototypeOf(o, p);
|
|
72
|
+
}
|
|
73
|
+
var _typeof = function(obj) {
|
|
74
|
+
"@swc/helpers - typeof";
|
|
75
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
76
|
+
};
|
|
77
|
+
function _isNativeReflectConstruct() {
|
|
78
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
79
|
+
if (Reflect.construct.sham) return false;
|
|
80
|
+
if (typeof Proxy === "function") return true;
|
|
81
|
+
try {
|
|
82
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
83
|
+
return true;
|
|
84
|
+
} catch (e) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function _createSuper(Derived) {
|
|
89
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
90
|
+
return function _createSuperInternal() {
|
|
91
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
92
|
+
if (hasNativeReflectConstruct) {
|
|
93
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
94
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
95
|
+
} else {
|
|
96
|
+
result = Super.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
return _possibleConstructorReturn(this, result);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
var ConclusionMetastatementForMetavariableMatcher = /*#__PURE__*/ function(MetastatementForMetavariableMatcher) {
|
|
102
|
+
_inherits(ConclusionMetastatementForMetavariableMatcher, MetastatementForMetavariableMatcher);
|
|
103
|
+
var _super = _createSuper(ConclusionMetastatementForMetavariableMatcher);
|
|
104
|
+
function ConclusionMetastatementForMetavariableMatcher() {
|
|
105
|
+
_classCallCheck(this, ConclusionMetastatementForMetavariableMatcher);
|
|
106
|
+
return _super.apply(this, arguments);
|
|
107
|
+
}
|
|
108
|
+
return ConclusionMetastatementForMetavariableMatcher;
|
|
109
|
+
}(_metastatementForMetavariable.default);
|
|
110
|
+
_defineProperty(ConclusionMetastatementForMetavariableMatcher, "createSubstitutions", false);
|
|
111
|
+
var conclusionMetastatementForMetavariableMatcher = new ConclusionMetastatementForMetavariableMatcher();
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXRjaGVyL21ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGUvY29uY2x1c2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIGZyb20gXCIuLi8uLi9tYXRjaGVyL21ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVcIjtcblxuY2xhc3MgQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIGV4dGVuZHMgTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU1hdGNoZXIge1xuICBzdGF0aWMgY3JlYXRlU3Vic3RpdHV0aW9ucyA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyID0gbmV3IENvbmNsdXNpb25NZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlcigpO1xuIl0sIm5hbWVzIjpbImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciIsIkNvbmNsdXNpb25NZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciIsIk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIiwiY3JlYXRlU3Vic3RpdHV0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUWFBOzs7ZUFBQUE7OztpRkFObUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoRCxJQUFBLEFBQU1DLDhEQUlILEFBSkg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O1dBQUFBO0VBQXNEQyxxQ0FBbUM7QUFDN0YsZ0JBRElELCtDQUNHRSx1QkFBc0IsS0FBSztBQUc3QixJQUFNSCxnREFBZ0QsSUFBSUMifQ==
|