occam-verify-cli 0.0.959 → 0.0.960
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/bin/action/verify.js +16 -5
- package/bin/utilities/releaseContext.js +5 -8
- package/lib/context/file.js +38 -14
- package/lib/context/release.js +82 -52
- package/lib/frame.js +3 -3
- package/lib/index.js +5 -5
- package/lib/metavariable.js +9 -9
- package/lib/proofStep.js +15 -15
- package/lib/releaseContext/create.js +8 -9
- package/lib/releaseContext/initialise.js +67 -0
- package/lib/rule.js +5 -5
- package/lib/substitution/statementForMetavariable.js +8 -8
- package/lib/substitution/termForVariable.js +6 -6
- package/lib/substitution.js +7 -7
- package/lib/substitutions.js +7 -7
- package/lib/topLevelAssertion.js +5 -5
- package/lib/unifier/equality.js +7 -7
- package/lib/unifier/intrinsicLevel.js +4 -4
- package/lib/unifier/metaLevel.js +10 -10
- package/lib/unifier/statementWithCombinator.js +147 -0
- package/lib/unifier/{termAgainstConstructor.js → termWithConstructor.js} +17 -17
- package/lib/unify/conclusionWithStatement.js +34 -0
- package/lib/unify/consequentWithStatement.js +34 -0
- package/lib/unify/metavariableWithStatement.js +74 -0
- package/lib/unify/premiseWithProofStep.js +41 -0
- package/lib/unify/premisesWithProofSteps.js +31 -0
- package/lib/unify/statementAtainstStatement.js +6 -6
- package/lib/unify/statementWithMetaType.js +48 -0
- package/lib/unify/suppositionWithProffStep.js +41 -0
- package/lib/unify/suppositionsWithProofSteps.js +31 -0
- package/lib/unify/termWithTerm.js +21 -0
- package/lib/unify/termWithType.js +32 -0
- package/lib/unify/variableWithTerm.js +54 -0
- package/lib/verify/error.js +2 -2
- package/lib/verify/judgement.js +3 -3
- package/lib/verify/metavariable.js +4 -4
- package/lib/verify/statement/qualified.js +51 -51
- package/lib/verify/statement.js +18 -18
- package/lib/verify/statementAsCombinator.js +2 -2
- package/lib/verify/term.js +25 -25
- package/package.json +1 -1
- package/src/context/file.js +42 -17
- package/src/context/release.js +84 -45
- package/src/frame.js +2 -2
- package/src/index.js +1 -1
- package/src/metavariable.js +6 -6
- package/src/proofStep.js +14 -14
- package/src/releaseContext/create.js +8 -16
- package/src/releaseContext/{verify.js → initialise.js} +32 -23
- package/src/rule.js +4 -4
- package/src/substitution/statementForMetavariable.js +7 -7
- package/src/substitution/termForVariable.js +4 -4
- package/src/substitution.js +5 -5
- package/src/substitutions.js +5 -5
- package/src/topLevelAssertion.js +4 -4
- package/src/unifier/equality.js +6 -6
- package/src/unifier/intrinsicLevel.js +3 -3
- package/src/unifier/metaLevel.js +9 -9
- package/src/unifier/{statementAgainstCombinator.js → statementWithCombinator.js} +12 -12
- package/src/unifier/{termAgainstConstructor.js → termWithConstructor.js} +9 -9
- package/src/unify/{conclusionAgainstStatement.js → conclusionWithStatement.js} +3 -3
- package/src/unify/{consequentAgainstStatement.js → consequentWithStatement.js} +3 -3
- package/src/unify/{metavariableAgainstStatement.js → metavariableWithStatement.js} +12 -12
- package/src/unify/{premiseAgainstProofStep.js → premiseWithProofStep.js} +5 -5
- package/src/unify/{premisesAgainstProofSteps.js → premisesWithProofSteps.js} +3 -3
- package/src/unify/statementAtainstStatement.js +4 -4
- package/src/unify/{statementAgainstMetaType.js → statementWithMetaType.js} +5 -5
- package/src/unify/{suppositionAgainstProofStep.js → suppositionWithProffStep.js} +5 -5
- package/src/unify/{suppositionsAgainstProofSteps.js → suppositionsWithProofSteps.js} +3 -3
- package/src/unify/{termAgainstTerm.js → termWithTerm.js} +4 -4
- package/src/unify/{termAgainstType.js → termWithType.js} +4 -4
- package/src/unify/{variableAgainstTerm.js → variableWithTerm.js} +5 -5
- package/src/verify/error.js +1 -1
- package/src/verify/judgement.js +3 -3
- package/src/verify/metavariable.js +3 -3
- package/src/verify/statement/qualified.js +50 -50
- package/src/verify/statement.js +17 -17
- package/src/verify/statementAsCombinator.js +1 -1
- package/src/verify/term.js +24 -24
- package/lib/releaseContext/verify.js +0 -66
- package/lib/unifier/statementAgainstCombinator.js +0 -147
- package/lib/unify/conclusionAgainstStatement.js +0 -34
- package/lib/unify/consequentAgainstStatement.js +0 -34
- package/lib/unify/metavariableAgainstStatement.js +0 -74
- package/lib/unify/premiseAgainstProofStep.js +0 -41
- package/lib/unify/premisesAgainstProofSteps.js +0 -31
- package/lib/unify/statementAgainstMetaType.js +0 -48
- package/lib/unify/suppositionAgainstProofStep.js +0 -41
- package/lib/unify/suppositionsAgainstProofSteps.js +0 -31
- package/lib/unify/termAgainstTerm.js +0 -21
- package/lib/unify/termAgainstType.js +0 -32
- package/lib/unify/variableAgainstTerm.js +0 -54
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyMetavariableWithStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
|
|
12
|
+
var _statementAtainstStatement = /*#__PURE__*/ _interop_require_default(require("../unify/statementAtainstStatement"));
|
|
13
|
+
var _statementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/statementForMetavariable"));
|
|
14
|
+
var _query = require("../utilities/query");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable");
|
|
21
|
+
function unifyMetavariableWithStatement(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB) {
|
|
22
|
+
var metavariableUnifiedWithStatement = false;
|
|
23
|
+
var substitution = substitutions.findSubstitution(function(substitution) {
|
|
24
|
+
var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNodeA);
|
|
25
|
+
if (substitutionMatchesMetavariableNodeA) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}) || null;
|
|
29
|
+
if (substitution !== null) {
|
|
30
|
+
var substitutionStatementNode = substitution.getStatementNode();
|
|
31
|
+
if (substitutionNodeA !== null) {
|
|
32
|
+
var substitutionNode = substitutionNodeA, termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode), localContext = localContextB, substitution1 = termForVariableSubstitution, statementNodeA = substitutionStatementNode, statementUnifiedWithStatement = (0, _statementAtainstStatement.default)(statementNodeA, statementNodeB, substitution1, substitutions, localContext, localContext);
|
|
33
|
+
if (statementUnifiedWithStatement) {
|
|
34
|
+
metavariableUnifiedWithStatement = true;
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
var substitutionSubstitution = substitution.getSubstitution();
|
|
38
|
+
if (substitutionSubstitution !== null) {
|
|
39
|
+
var statementNodeA1 = statementNodeB; ///
|
|
40
|
+
statementNodeB = substitutionStatementNode; ///
|
|
41
|
+
var localContext1 = localContextB, substitution2 = substitutionSubstitution, statementUnifiedWithStatement1 = (0, _statementAtainstStatement.default)(statementNodeA1, statementNodeB, substitution2, substitutions, localContext1, localContext1);
|
|
42
|
+
if (statementUnifiedWithStatement1) {
|
|
43
|
+
metavariableUnifiedWithStatement = true;
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
var substitutionMatchesStatementNodeB = substitution.matchStatementNode(statementNodeB);
|
|
47
|
+
if (substitutionMatchesStatementNodeB) {
|
|
48
|
+
metavariableUnifiedWithStatement = true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
var metavariableA = localContextA.findMetavariableByMetavariableNode(metavariableNodeA);
|
|
54
|
+
if (metavariableA !== null) {
|
|
55
|
+
var metavariableB = metavariableFromStatementNode(statementNodeB, localContextB);
|
|
56
|
+
if (metavariableA !== metavariableB) {
|
|
57
|
+
var statementNode = statementNodeB, substitutionNode1 = substitutionNodeA, metavariableNode = metavariableNodeA, statementForMetavariableSubstitution = _statementForMetavariable.default.fromMetavariableNodeStatementNodeAndSubstitutionNode(metavariableNode, statementNode, substitutionNode1), substitution3 = statementForMetavariableSubstitution; ///
|
|
58
|
+
substitutions.addSubstitution(substitution3, localContextA, localContextB);
|
|
59
|
+
}
|
|
60
|
+
metavariableUnifiedWithStatement = true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return metavariableUnifiedWithStatement;
|
|
64
|
+
}
|
|
65
|
+
function metavariableFromStatementNode(statementNode, localContext) {
|
|
66
|
+
var metavariable = null;
|
|
67
|
+
var metavariableNode = metavariableNodeQuery(statementNode);
|
|
68
|
+
if (metavariableNode !== null) {
|
|
69
|
+
metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
70
|
+
}
|
|
71
|
+
return metavariable;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9tZXRhdmFyaWFibGVXaXRoU3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5pbXBvcnQgdW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50IGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50XCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhdmFyaWFibGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlV2l0aFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aFN0YXRlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3Vic3RpdHV0aW9uTm9kZUEsIC8vL1xuICAgICAgICAgICAgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0QiwgIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudCA9IHVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnQpIHtcbiAgICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhTdGF0ZW1lbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25TdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb24uZ2V0U3Vic3RpdHV0aW9uKCk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25TdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUEgPSBzdGF0ZW1lbnROb2RlQjsgLy8vXG5cbiAgICAgICAgc3RhdGVtZW50Tm9kZUIgPSBzdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlOyAvLy9cblxuICAgICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbENvbnRleHRCLCAgLy8vXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvblN1YnN0aXR1dGlvbixcbiAgICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnQgPSB1bmlmeVN0YXRlbWVudFdpdGhTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnQpIHtcbiAgICAgICAgICBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aFN0YXRlbWVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNTdGF0ZW1lbnROb2RlQiA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzU3RhdGVtZW50Tm9kZUIpIHtcbiAgICAgICAgICBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aFN0YXRlbWVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlQSA9IGxvY2FsQ29udGV4dEEuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlQSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlQiA9IG1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZUEgIT09IG1ldGF2YXJpYWJsZUIpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbk5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gICAgICB9XG5cbiAgICAgIG1ldGF2YXJpYWJsZVVuaWZpZWRXaXRoU3RhdGVtZW50ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhTdGF0ZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlID0gbnVsbDtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpXG5cbiAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGU7XG59XG4iXSwibmFtZXMiOlsidW5pZnlNZXRhdmFyaWFibGVXaXRoU3RhdGVtZW50IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN1YnN0aXR1dGlvbk5vZGVBIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwibWV0YXZhcmlhYmxlVW5pZmllZFdpdGhTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb24iLCJmaW5kU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50IiwidW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50Iiwic3Vic3RpdHV0aW9uU3Vic3RpdHV0aW9uIiwiZ2V0U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uTWF0Y2hlc1N0YXRlbWVudE5vZGVCIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlQSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVCIiwibWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUiLCJhZGRTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7c0VBUmdCO2dGQUNBOytFQUNTO3FCQUV2Qjs7Ozs7O0FBRTFCLElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRiwrQkFBK0JHLGlCQUFpQixFQUFFQyxjQUFjLEVBQUVDLGlCQUFpQixFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUN0SixJQUFJQyxtQ0FBbUM7SUFFdkMsSUFBTUMsZUFBZUosY0FBY0ssZ0JBQWdCLENBQUMsU0FBQ0Q7UUFDbkQsSUFBTUUsdUNBQXVDRixhQUFhRyxxQkFBcUIsQ0FBQ1Y7UUFFaEYsSUFBSVMsc0NBQXNDO1lBQ3hDLE9BQU87UUFDVDtJQUNGLE1BQU07SUFFTixJQUFJRixpQkFBaUIsTUFBTTtRQUN6QixJQUFNSSw0QkFBNEJKLGFBQWFLLGdCQUFnQjtRQUUvRCxJQUFJVixzQkFBc0IsTUFBTTtZQUM5QixJQUFNVyxtQkFBbUJYLG1CQUNuQlksOEJBQThCQyx3QkFBMkIsQ0FBQ0Msb0JBQW9CLENBQUNILG1CQUMvRUksZUFBZVosZUFDZkUsZ0JBQWVPLDZCQUNmSSxpQkFBaUJQLDJCQUNqQlEsZ0NBQWdDQyxJQUFBQSxrQ0FBMkIsRUFBQ0YsZ0JBQWdCakIsZ0JBQWdCTSxlQUFjSixlQUFlYyxjQUFjQTtZQUU3SSxJQUFJRSwrQkFBK0I7Z0JBQ2pDYixtQ0FBbUM7WUFDckM7UUFDRixPQUFPO1lBQ0wsSUFBTWUsMkJBQTJCZCxhQUFhZSxlQUFlO1lBRTdELElBQUlELDZCQUE2QixNQUFNO2dCQUNyQyxJQUFNSCxrQkFBaUJqQixnQkFBZ0IsR0FBRztnQkFFMUNBLGlCQUFpQlUsMkJBQTJCLEdBQUc7Z0JBRS9DLElBQU1NLGdCQUFlWixlQUNmRSxnQkFBZWMsMEJBQ2ZGLGlDQUFnQ0MsSUFBQUEsa0NBQTJCLEVBQUNGLGlCQUFnQmpCLGdCQUFnQk0sZUFBY0osZUFBZWMsZUFBY0E7Z0JBRTdJLElBQUlFLGdDQUErQjtvQkFDakNiLG1DQUFtQztnQkFDckM7WUFDRixPQUFPO2dCQUNMLElBQU1pQixvQ0FBb0NoQixhQUFhaUIsa0JBQWtCLENBQUN2QjtnQkFFMUUsSUFBSXNCLG1DQUFtQztvQkFDckNqQixtQ0FBbUM7Z0JBQ3JDO1lBQ0Y7UUFDRjtJQUNGLE9BQU87UUFDTCxJQUFNbUIsZ0JBQWdCckIsY0FBY3NCLGtDQUFrQyxDQUFDMUI7UUFFdkUsSUFBSXlCLGtCQUFrQixNQUFNO1lBQzFCLElBQU1FLGdCQUFnQkMsOEJBQThCM0IsZ0JBQWdCSTtZQUVwRSxJQUFJb0Isa0JBQWtCRSxlQUFlO2dCQUNuQyxJQUFNRSxnQkFBZ0I1QixnQkFDaEJZLG9CQUFtQlgsbUJBQ25CNEIsbUJBQW1COUIsbUJBQ25CK0IsdUNBQXVDQyxpQ0FBb0MsQ0FBQ0Msb0RBQW9ELENBQUNILGtCQUFrQkQsZUFBZWhCLG9CQUNsS04sZ0JBQWV3QixzQ0FBdUMsR0FBRztnQkFFL0Q1QixjQUFjK0IsZUFBZSxDQUFDM0IsZUFBY0gsZUFBZUM7WUFDN0Q7WUFFQUMsbUNBQW1DO1FBQ3JDO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU3NCLDhCQUE4QkMsYUFBYSxFQUFFWixZQUFZO0lBQ2hFLElBQUlrQixlQUFlO0lBRW5CLElBQU1MLG1CQUFtQmhDLHNCQUFzQitCO0lBRS9DLElBQUlDLHFCQUFxQixNQUFNO1FBQzdCSyxlQUFlbEIsYUFBYVMsa0NBQWtDLENBQUNJO0lBQ2pFO0lBRUEsT0FBT0s7QUFDVCJ9
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyPremiseWithProofStep;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _unify = require("../utilities/unify");
|
|
12
|
+
function unifyPremiseWithProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB) {
|
|
13
|
+
var premiseUnified = false;
|
|
14
|
+
var premiseAStatementNode = premiseA.getStatementNode();
|
|
15
|
+
if (premiseAStatementNode !== null) {
|
|
16
|
+
var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = premiseAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
|
|
17
|
+
substitutions.snapshot();
|
|
18
|
+
if (subproofNodeB !== null) {
|
|
19
|
+
var subproofStringB = (0, _unify.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
|
|
20
|
+
localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof with the premise's '").concat(statementStringA, "' statement..."), subproofNodeB);
|
|
21
|
+
var subproofUnified = premiseA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
|
|
22
|
+
if (subproofUnified) {
|
|
23
|
+
localContextB.debug("...unified the '".concat(subproofStringB, "' subproof with the premise's '").concat(statementStringA, "' statement."), subproofNodeB);
|
|
24
|
+
premiseUnified = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (statementNodeB !== null) {
|
|
28
|
+
var statementStringB = localContextB.nodeAsString(statementNodeB);
|
|
29
|
+
localContextB.trace("Unifying the '".concat(statementStringB, "' statement with the premise's '").concat(statementStringA, "' statement..."), statementNodeB);
|
|
30
|
+
var statementUnified = premiseA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
|
|
31
|
+
if (statementUnified) {
|
|
32
|
+
localContextB.debug("...unified the '".concat(statementStringB, "' statement with the premise's '").concat(statementStringA, "' statement."), statementNodeB);
|
|
33
|
+
premiseUnified = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
premiseUnified ? substitutions.continue() : substitutions.rollback(localContextA, localContextB);
|
|
37
|
+
}
|
|
38
|
+
return premiseUnified;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlV2l0aFByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcChwcmVtaXNlQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgcHJlbWlzZVVuaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBwcmVtaXNlQVN0YXRlbWVudE5vZGUgPSBwcmVtaXNlQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHByZW1pc2VBU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHByb29mU3RlcEJTdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXBCLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIHByb29mU3RlcEJTdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwQi5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgc3VicHJvb2ZOb2RlQiA9IHByb29mU3RlcEJTdWJwcm9vZk5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVCID0gcHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gcHJlbWlzZUFTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmdBID0gbG9jYWxDb250ZXh0QS5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZUEpXG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZTdHJpbmdCID0gc3VicHJvb2ZOb2RlQXNTdWJwcm9vZlN0cmluZyhzdWJwcm9vZk5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHByZW1pc2VBLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdWJwcm9vZlVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2Ygd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBwcmVtaXNlQS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHByZW1pc2VVbmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcmVtaXNlVW5pZmllZCA/XG4gICAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgICBzdWJzdGl0dXRpb25zLnJvbGxiYWNrKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZVdpdGhQcm9vZlN0ZXAiLCJwcmVtaXNlQSIsInByb29mU3RlcEIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJwcmVtaXNlVW5pZmllZCIsInByZW1pc2VBU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwicHJvb2ZTdGVwQlN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZk5vZGVCIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudFN0cmluZ0EiLCJub2RlQXNTdHJpbmciLCJzbmFwc2hvdCIsInN1YnByb29mU3RyaW5nQiIsInN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmciLCJ0cmFjZSIsInN1YnByb29mVW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJkZWJ1ZyIsInN0YXRlbWVudFN0cmluZ0IiLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdGF0ZW1lbnQiLCJjb250aW51ZSIsInJvbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3FCQUZxQjtBQUU5QixTQUFTQSwwQkFBMEJDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNqSCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBTUMsd0JBQXdCTixTQUFTTyxnQkFBZ0I7SUFFdkQsSUFBSUQsMEJBQTBCLE1BQU07UUFDbEMsSUFBTUUseUJBQXlCUCxXQUFXUSxlQUFlLElBQ25EQywwQkFBMEJULFdBQVdNLGdCQUFnQixJQUNyREksZ0JBQWdCSCx3QkFDaEJJLGlCQUFpQkYseUJBQ2pCRyxpQkFBaUJQLHVCQUNqQlEsbUJBQW1CWCxjQUFjWSxZQUFZLENBQUNGO1FBRXBEWCxjQUFjYyxRQUFRO1FBRXRCLElBQUlMLGtCQUFrQixNQUFNO1lBQzFCLElBQU1NLGtCQUFrQkMsSUFBQUEsbUNBQTRCLEVBQUNQLGVBQWVQO1lBRXBFQSxjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBaUVMLE9BQWpERyxpQkFBZ0IsbUNBQWtELE9BQWpCSCxrQkFBaUIsbUJBQWlCSDtZQUV4SCxJQUFNUyxrQkFBa0JwQixTQUFTcUIsYUFBYSxDQUFDVixlQUFlVCxlQUFlQyxlQUFlQztZQUU1RixJQUFJZ0IsaUJBQWlCO2dCQUNuQmhCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBbUVSLE9BQWpERyxpQkFBZ0IsbUNBQWtELE9BQWpCSCxrQkFBaUIsaUJBQWVIO2dCQUV4SE4saUJBQWlCO1lBQ25CO1FBQ0Y7UUFFQSxJQUFJTyxtQkFBbUIsTUFBTTtZQUMzQixJQUFNVyxtQkFBbUJuQixjQUFjVyxZQUFZLENBQUNIO1lBRXBEUixjQUFjZSxLQUFLLENBQUMsQUFBQyxpQkFBbUVMLE9BQW5EUyxrQkFBaUIsb0NBQW1ELE9BQWpCVCxrQkFBaUIsbUJBQWlCRjtZQUUxSCxJQUFNWSxtQkFBbUJ4QixTQUFTeUIsY0FBYyxDQUFDYixnQkFBZ0JWLGVBQWVDLGVBQWVDO1lBRS9GLElBQUlvQixrQkFBa0I7Z0JBQ3BCcEIsY0FBY2tCLEtBQUssQ0FBQyxBQUFDLG1CQUFxRVIsT0FBbkRTLGtCQUFpQixvQ0FBbUQsT0FBakJULGtCQUFpQixpQkFBZUY7Z0JBRTFIUCxpQkFBaUI7WUFDbkI7UUFDRjtRQUVBQSxpQkFDRUgsY0FBY3dCLFFBQVEsS0FDcEJ4QixjQUFjeUIsUUFBUSxDQUFDeEIsZUFBZUM7SUFDNUM7SUFFQSxPQUFPQztBQUNUIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyPremisesWithProofSteps;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
+
var _premiseWithProofStep = /*#__PURE__*/ _interop_require_default(require("../unify/premiseWithProofStep"));
|
|
13
|
+
var _array = require("../utilities/array");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function unifyPremisesWithProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
|
|
20
|
+
premisesA = (0, _array.reverse)(premisesA); ///
|
|
21
|
+
proofStepsB = (0, _array.reverse)(proofStepsB); ///
|
|
22
|
+
var premisesUnified = (0, _array.correlate)(premisesA, proofStepsB, function(premiseA, proofStepB) {
|
|
23
|
+
var localContextA = _local.default.fromFileContext(fileContextA), premiseUnified = (0, _premiseWithProofStep.default)(premiseA, proofStepB, substitutions, localContextA, localContextB);
|
|
24
|
+
if (premiseUnified) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return premisesUnified;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9wcmVtaXNlc1dpdGhQcm9vZlN0ZXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcCBmcm9tIFwiLi4vdW5pZnkvcHJlbWlzZVdpdGhQcm9vZlN0ZXBcIjtcblxuaW1wb3J0IHsgcmV2ZXJzZSwgY29ycmVsYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVByZW1pc2VzV2l0aFByb29mU3RlcHMocHJlbWlzZXNBLCBwcm9vZlN0ZXBzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIHByZW1pc2VzQSA9IHJldmVyc2UocHJlbWlzZXNBKTsgLy8vXG5cbiAgcHJvb2ZTdGVwc0IgPSByZXZlcnNlKHByb29mU3RlcHNCKTsgLy8vXG5cbiAgY29uc3QgcHJlbWlzZXNVbmlmaWVkID0gY29ycmVsYXRlKHByZW1pc2VzQSwgcHJvb2ZTdGVwc0IsIChwcmVtaXNlQSwgcHJvb2ZTdGVwQikgPT4ge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB1bmlmeVByZW1pc2VXaXRoUHJvb2ZTdGVwKHByZW1pc2VBLCBwcm9vZlN0ZXBCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChwcmVtaXNlVW5pZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UHJlbWlzZXNXaXRoUHJvb2ZTdGVwcyIsInByZW1pc2VzQSIsInByb29mU3RlcHNCIiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJyZXZlcnNlIiwicHJlbWlzZXNVbmlmaWVkIiwiY29ycmVsYXRlIiwicHJlbWlzZUEiLCJwcm9vZlN0ZXBCIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInByZW1pc2VVbmlmaWVkIiwidW5pZnlQcmVtaXNlV2l0aFByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7Ozs0REFMQzsyRUFDYTtxQkFFSDs7Ozs7O0FBRXBCLFNBQVNBLDRCQUE0QkMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhO0lBQ3BISixZQUFZSyxJQUFBQSxjQUFPLEVBQUNMLFlBQVksR0FBRztJQUVuQ0MsY0FBY0ksSUFBQUEsY0FBTyxFQUFDSixjQUFjLEdBQUc7SUFFdkMsSUFBTUssa0JBQWtCQyxJQUFBQSxnQkFBUyxFQUFDUCxXQUFXQyxhQUFhLFNBQUNPLFVBQVVDO1FBQ25FLElBQU1DLGdCQUFnQkMsY0FBWSxDQUFDQyxlQUFlLENBQUNULGVBQzdDVSxpQkFBaUJDLElBQUFBLDZCQUF5QixFQUFDTixVQUFVQyxZQUFZUCxlQUFlUSxlQUFlTjtRQUVyRyxJQUFJUyxnQkFBZ0I7WUFDbEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPUDtBQUNUIn0=
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return unifyStatementWithStatement;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
|
|
@@ -16,8 +16,8 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
var
|
|
19
|
+
function unifyStatementWithStatement(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
|
|
20
|
+
var statementUnifiedWithtatement = false;
|
|
21
21
|
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions), transformed = termForVariableSubstitution.isTransformed(substitution);
|
|
22
22
|
var substitutionsA = []; ///
|
|
23
23
|
if (transformed) {
|
|
@@ -33,9 +33,9 @@ function unifyStatementAgainstStatement(statementNodeA, statementNodeB, substitu
|
|
|
33
33
|
substitutionsA = transformSubstitutions(substitutionsA, substitutionsB);
|
|
34
34
|
(0, _array.push)(substitutions, substitutionsA);
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
statementUnifiedWithtatement = true;
|
|
37
37
|
}
|
|
38
|
-
return
|
|
38
|
+
return statementUnifiedWithtatement;
|
|
39
39
|
}
|
|
40
40
|
function transformSubstitutions(substitutionsA, substitutionsB) {
|
|
41
41
|
substitutionsA = substitutionsA.map(function(substitutionA) {
|
|
@@ -46,4 +46,4 @@ function transformSubstitutions(substitutionsA, substitutionsB) {
|
|
|
46
46
|
return substitutionsA;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRBdGFpbnN0U3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aHRhdGVtZW50ID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25BbmRTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIHRyYW5zZm9ybWVkID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmlzVHJhbnNmb3JtZWQoc3Vic3RpdHV0aW9uKTtcblxuICBsZXQgc3Vic3RpdHV0aW9uc0EgPSBbXTsgLy8vXG5cbiAgaWYgKHRyYW5zZm9ybWVkKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uQSA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgc3Vic3RpdHV0aW9uc0EucHVzaChzdWJzdGl0dXRpb25BKTtcbiAgfVxuXG4gIGNvbnN0IG5vZGVBID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnNBLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGlmICghdHJhbnNmb3JtZWQpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkIgPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24sICAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNCID0gW1xuICAgICAgICAgICAgICBzdWJzdGl0dXRpb25CXG4gICAgICAgICAgICBdO1xuXG4gICAgICBzdWJzdGl0dXRpb25zQSA9IHRyYW5zZm9ybVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uc0EsIHN1YnN0aXR1dGlvbnNCKTtcblxuICAgICAgcHVzaChzdWJzdGl0dXRpb25zLCBzdWJzdGl0dXRpb25zQSk7XG4gICAgfVxuXG4gICAgc3RhdGVtZW50VW5pZmllZFdpdGh0YXRlbWVudCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGh0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zQSwgc3Vic3RpdHV0aW9uc0IpIHtcbiAgc3Vic3RpdHV0aW9uc0EgPSBzdWJzdGl0dXRpb25zQS5tYXAoKHN1YnN0aXR1dGlvbkEpID0+IHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25BLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNCLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgc3Vic3RpdHV0aW9uQSA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uQTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnNBO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aHRhdGVtZW50IiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiLCJ0cmFuc2Zvcm1lZCIsImlzVHJhbnNmb3JtZWQiLCJzdWJzdGl0dXRpb25zQSIsInN1YnN0aXR1dGlvbkEiLCJwdXNoIiwibm9kZUEiLCJub2RlQiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJzdWJzdGl0dXRpb25CIiwic3Vic3RpdHV0aW9uc0IiLCJ0cmFuc2Zvcm1TdWJzdGl0dXRpb25zIiwibWFwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7O2dFQUxLO3NFQUNXO3FCQUVuQjs7Ozs7O0FBRU4sU0FBU0EsNEJBQTRCQyxjQUFjLEVBQUVDLGNBQWMsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUMzSSxJQUFJQywrQkFBK0I7SUFFbkMsSUFBTUMsOEJBQThCQyx3QkFBMkIsQ0FBQ0MsZ0NBQWdDLENBQUNQLGNBQWNDLGdCQUN6R08sY0FBY0gsNEJBQTRCSSxhQUFhLENBQUNUO0lBRTlELElBQUlVLGlCQUFpQixFQUFFLEVBQUUsR0FBRztJQUU1QixJQUFJRixhQUFhO1FBQ2YsSUFBTUcsZ0JBQWdCTiw2QkFBOEIsR0FBRztRQUV2REssZUFBZUUsSUFBSSxDQUFDRDtJQUN0QjtJQUVBLElBQU1FLFFBQVFmLGdCQUNSZ0IsUUFBUWYsZ0JBQ1JnQixVQUFVQyxrQkFBZ0IsQ0FBQ0MsS0FBSyxDQUFDSixPQUFPQyxPQUFPSixnQkFBZ0JSLGVBQWVDO0lBRXBGLElBQUlZLFNBQVM7UUFDWCxJQUFJLENBQUNQLGFBQWE7WUFDaEIsSUFBTVUsZ0JBQWdCYiw2QkFDaEJjLGlCQUFpQjtnQkFDZkQ7YUFDRDtZQUVQUixpQkFBaUJVLHVCQUF1QlYsZ0JBQWdCUztZQUV4RFAsSUFBQUEsV0FBSSxFQUFDWCxlQUFlUztRQUN0QjtRQUVBTiwrQkFBK0I7SUFDakM7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU2dCLHVCQUF1QlYsY0FBYyxFQUFFUyxjQUFjO0lBQzVEVCxpQkFBaUJBLGVBQWVXLEdBQUcsQ0FBQyxTQUFDVjtRQUNuQyxJQUFNWCxlQUFlVyxlQUNmVixnQkFBZ0JrQixnQkFDaEJkLDhCQUE4QkMsd0JBQTJCLENBQUNDLGdDQUFnQyxDQUFDUCxjQUFjQztRQUUvR1UsZ0JBQWdCTiw2QkFBNkIsR0FBRztRQUVoRCxPQUFPTTtJQUNUO0lBRUEsT0FBT0Q7QUFDVCJ9
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyStatementWithMetaType;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
+
var _query = require("../utilities/query");
|
|
13
|
+
var _metaTypeNames = require("../metaTypeNames");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable"), metaTypeTerminalNodeQuery = (0, _query.nodeQuery)("/metaType/@meta-type!");
|
|
20
|
+
function unifyStatementWithMetaType(statementNode, metaTypeNode, localContext) {
|
|
21
|
+
var statementUnifiedWithMetaType = false;
|
|
22
|
+
var metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode), metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent(), metaTypeName = metaTypeTerminalNodeContent; ///
|
|
23
|
+
switch(metaTypeName){
|
|
24
|
+
case _metaTypeNames.FRAME_META_TYPE_NAME:
|
|
25
|
+
{
|
|
26
|
+
var metavariableNode = metavariableNodeQuery(statementNode);
|
|
27
|
+
if (metavariableNode !== null) {
|
|
28
|
+
var metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
29
|
+
if (metavariable !== null) {
|
|
30
|
+
var metavariableMetaTypeName = metavariable.getMetaTypeName();
|
|
31
|
+
if (metavariableMetaTypeName === metaTypeName) {
|
|
32
|
+
statementUnifiedWithMetaType = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case _metaTypeNames.STATEMENT_META_TYPE_NAME:
|
|
39
|
+
{
|
|
40
|
+
var verifyStatement = _shim.default.verifyStatement, derived = false, assignments = [], statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
|
|
41
|
+
statementUnifiedWithMetaType = statementVerified;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return statementUnifiedWithMetaType;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoTWV0YVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEZSQU1FX01FVEFfVFlQRV9OQU1FLCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vbWV0YVR5cGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZVwiKSxcbiAgICAgIG1ldGFUeXBlVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVR5cGUvQG1ldGEtdHlwZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aE1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aE1ldGFUeXBlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YVR5cGVUZXJtaW5hbE5vZGUgPSBtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5KG1ldGFUeXBlTm9kZSksXG4gICAgICAgIG1ldGFUeXBlVGVybWluYWxOb2RlQ29udGVudCA9IG1ldGFUeXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbWV0YVR5cGVOYW1lID0gbWV0YVR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICBzd2l0Y2ggKG1ldGFUeXBlTmFtZSkge1xuICAgIGNhc2UgRlJBTUVfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVNZXRhVHlwZU5hbWUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGVOYW1lKCk7XG5cbiAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lID09PSBtZXRhVHlwZU5hbWUpIHtcbiAgICAgICAgICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRToge1xuICAgICAgY29uc3QgeyB2ZXJpZnlTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUgPSBzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGU7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsIm1ldGFUeXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRXaXRoTWV0YVR5cGUiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZSIsIm1ldGFUeXBlVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJtZXRhVHlwZU5hbWUiLCJGUkFNRV9NRVRBX1RZUEVfTkFNRSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTWV0YVR5cGVOYW1lIiwiZ2V0TWV0YVR5cGVOYW1lIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidmVyaWZ5U3RhdGVtZW50Iiwic2hpbSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInN0YXRlbWVudFZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OzJEQVJQO3FCQUVTOzZCQUNxQzs7Ozs7O0FBRS9ELElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDbENDLDRCQUE0QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUU3QixTQUFTRiwyQkFBMkJJLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxZQUFZO0lBQzFGLElBQUlDLCtCQUErQjtJQUVuQyxJQUFNQyx1QkFBdUJMLDBCQUEwQkUsZUFDakRJLDhCQUE4QkQscUJBQXFCRSxVQUFVLElBQzdEQyxlQUFlRiw2QkFBNkIsR0FBRztJQUVyRCxPQUFRRTtRQUNOLEtBQUtDLG1DQUFvQjtZQUFFO2dCQUN6QixJQUFNQyxtQkFBbUJaLHNCQUFzQkc7Z0JBRS9DLElBQUlTLHFCQUFxQixNQUFNO29CQUM3QixJQUFNQyxlQUFlUixhQUFhUyxrQ0FBa0MsQ0FBQ0Y7b0JBRXJFLElBQUlDLGlCQUFpQixNQUFNO3dCQUN6QixJQUFNRSwyQkFBMkJGLGFBQWFHLGVBQWU7d0JBRTdELElBQUlELDZCQUE2QkwsY0FBYzs0QkFDN0NKLCtCQUErQjt3QkFDakM7b0JBQ0Y7Z0JBQ0Y7Z0JBRUE7WUFDRjtRQUVBLEtBQUtXLHVDQUF3QjtZQUFFO2dCQUM3QixJQUFNLEFBQUVDLGtCQUFvQkMsYUFBSSxDQUF4QkQsaUJBQ0ZFLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQyxvQkFBb0JKLGdCQUFnQmYsZUFBZWtCLGFBQWFELFNBQVNmO2dCQUUvRUMsK0JBQStCZ0I7Z0JBRS9CO1lBQ0Y7SUFDRjtJQUVBLE9BQU9oQjtBQUNUIn0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifySuppositionWithProofStep;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _unify = require("../utilities/unify");
|
|
12
|
+
function unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB) {
|
|
13
|
+
var suppositionUnified = false;
|
|
14
|
+
var suppositionAStatementNode = suppositionA.getStatementNode();
|
|
15
|
+
if (suppositionAStatementNode !== null) {
|
|
16
|
+
var proofStepBSubproofNode = proofStepB.getSubproofNode(), proofStepBStatementNode = proofStepB.getStatementNode(), subproofNodeB = proofStepBSubproofNode, statementNodeB = proofStepBStatementNode, statementNodeA = suppositionAStatementNode, statementStringA = localContextA.nodeAsString(statementNodeA);
|
|
17
|
+
substitutions.snapshot();
|
|
18
|
+
if (subproofNodeB !== null) {
|
|
19
|
+
var subproofStringB = (0, _unify.subproofNodeAsSubproofString)(subproofNodeB, localContextB);
|
|
20
|
+
localContextB.trace("Unifying the '".concat(subproofStringB, "' subproof with the supposition's '").concat(statementStringA, "' statement..."), subproofNodeB);
|
|
21
|
+
var subproofUnified = suppositionA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
|
|
22
|
+
if (subproofUnified) {
|
|
23
|
+
localContextB.debug("...unified the '".concat(subproofStringB, "' subproof with the supposition's '").concat(statementStringA, "' statement."), subproofNodeB);
|
|
24
|
+
suppositionUnified = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (statementNodeB !== null) {
|
|
28
|
+
var statementStringB = localContextB.nodeAsString(statementNodeB);
|
|
29
|
+
localContextB.trace("Unifying the '".concat(statementStringB, "' statement with the supposition's '").concat(statementStringA, "' statement..."), statementNodeB);
|
|
30
|
+
var statementUnified = suppositionA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
|
|
31
|
+
if (statementUnified) {
|
|
32
|
+
localContextB.debug("...unified the '".concat(statementStringB, "' statement with the supposition's '").concat(statementStringA, "' statement."), statementNodeB);
|
|
33
|
+
suppositionUnified = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
suppositionUnified ? substitutions.continue() : substitutions.rollback(localContextA, localContextB);
|
|
37
|
+
}
|
|
38
|
+
return suppositionUnified;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdXBwb3NpdGlvbldpdGhQcm9mZlN0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHN1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwKHN1cHBvc2l0aW9uQSwgcHJvb2ZTdGVwQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3VwcG9zaXRpb25VbmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25BU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uQS5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwQi5nZXRTdWJwcm9vZk5vZGUoKSxcbiAgICAgICAgICBwcm9vZlN0ZXBCU3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcEIuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIHN1YnByb29mTm9kZUIgPSBwcm9vZlN0ZXBCU3VicHJvb2ZOb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHByb29mU3RlcEJTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQSA9IHN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZ0EgPSBsb2NhbENvbnRleHRBLm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlQSlcblxuICAgIHN1YnN0aXR1dGlvbnMuc25hcHNob3QoKTtcblxuICAgIGlmIChzdWJwcm9vZk5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZlN0cmluZ0IgPSBzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nKHN1YnByb29mTm9kZUIsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmdCfScgc3VicHJvb2Ygd2l0aCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3VicHJvb2ZOb2RlQik7XG5cbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllZCA9IHN1cHBvc2l0aW9uQS51bmlmeVN1YnByb29mKHN1YnByb29mTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBpZiAoc3VicHJvb2ZVbmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nQn0nIHN1YnByb29mIHdpdGggdGhlIHN1cHBvc2l0aW9uJ3MgJyR7c3RhdGVtZW50U3RyaW5nQX0nIHN0YXRlbWVudC5gLCBzdWJwcm9vZk5vZGVCKTtcblxuICAgICAgICBzdXBwb3NpdGlvblVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgc3VwcG9zaXRpb24ncyAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50Li4uYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gc3VwcG9zaXRpb25BLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCB3aXRoIHRoZSBzdXBwb3NpdGlvbidzICcke3N0YXRlbWVudFN0cmluZ0F9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uVW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVkID9cbiAgICAgIHN1YnN0aXR1dGlvbnMuY29udGludWUoKSA6XG4gICAgICAgIHN1YnN0aXR1dGlvbnMucm9sbGJhY2sobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gIH1cblxuICByZXR1cm4gc3VwcG9zaXRpb25VbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwIiwic3VwcG9zaXRpb25BIiwicHJvb2ZTdGVwQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInN1cHBvc2l0aW9uVW5pZmllZCIsInN1cHBvc2l0aW9uQVN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwicHJvb2ZTdGVwQlN1YnByb29mTm9kZSIsImdldFN1YnByb29mTm9kZSIsInByb29mU3RlcEJTdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZOb2RlQiIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnRTdHJpbmdBIiwibm9kZUFzU3RyaW5nIiwic25hcHNob3QiLCJzdWJwcm9vZlN0cmluZ0IiLCJzdWJwcm9vZk5vZGVBc1N1YnByb29mU3RyaW5nIiwidHJhY2UiLCJzdWJwcm9vZlVuaWZpZWQiLCJ1bmlmeVN1YnByb29mIiwiZGVidWciLCJzdGF0ZW1lbnRTdHJpbmdCIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwiY29udGludWUiLCJyb2xsYmFjayJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztxQkFGcUI7QUFFOUIsU0FBU0EsOEJBQThCQyxZQUFZLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7SUFDekgsSUFBSUMscUJBQXFCO0lBRXpCLElBQU1DLDRCQUE0Qk4sYUFBYU8sZ0JBQWdCO0lBRS9ELElBQUlELDhCQUE4QixNQUFNO1FBQ3RDLElBQU1FLHlCQUF5QlAsV0FBV1EsZUFBZSxJQUNuREMsMEJBQTBCVCxXQUFXTSxnQkFBZ0IsSUFDckRJLGdCQUFnQkgsd0JBQ2hCSSxpQkFBaUJGLHlCQUNqQkcsaUJBQWlCUCwyQkFDakJRLG1CQUFtQlgsY0FBY1ksWUFBWSxDQUFDRjtRQUVwRFgsY0FBY2MsUUFBUTtRQUV0QixJQUFJTCxrQkFBa0IsTUFBTTtZQUMxQixJQUFNTSxrQkFBa0JDLElBQUFBLG1DQUE0QixFQUFDUCxlQUFlUDtZQUVwRUEsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQXFFTCxPQUFyREcsaUJBQWdCLHVDQUFzRCxPQUFqQkgsa0JBQWlCLG1CQUFpQkg7WUFFNUgsSUFBTVMsa0JBQWtCcEIsYUFBYXFCLGFBQWEsQ0FBQ1YsZUFBZVQsZUFBZUMsZUFBZUM7WUFFaEcsSUFBSWdCLGlCQUFpQjtnQkFDbkJoQixjQUFja0IsS0FBSyxDQUFDLEFBQUMsbUJBQXVFUixPQUFyREcsaUJBQWdCLHVDQUFzRCxPQUFqQkgsa0JBQWlCLGlCQUFlSDtnQkFFNUhOLHFCQUFxQjtZQUN2QjtRQUNGO1FBRUEsSUFBSU8sbUJBQW1CLE1BQU07WUFDM0IsSUFBTVcsbUJBQW1CbkIsY0FBY1csWUFBWSxDQUFDSDtZQUVwRFIsY0FBY2UsS0FBSyxDQUFDLEFBQUMsaUJBQXVFTCxPQUF2RFMsa0JBQWlCLHdDQUF1RCxPQUFqQlQsa0JBQWlCLG1CQUFpQkY7WUFFOUgsSUFBTVksbUJBQW1CeEIsYUFBYXlCLGNBQWMsQ0FBQ2IsZ0JBQWdCVixlQUFlQyxlQUFlQztZQUVuRyxJQUFJb0Isa0JBQWtCO2dCQUNwQnBCLGNBQWNrQixLQUFLLENBQUMsQUFBQyxtQkFBeUVSLE9BQXZEUyxrQkFBaUIsd0NBQXVELE9BQWpCVCxrQkFBaUIsaUJBQWVGO2dCQUU5SFAscUJBQXFCO1lBQ3ZCO1FBQ0Y7UUFFQUEscUJBQ0VILGNBQWN3QixRQUFRLEtBQ3BCeEIsY0FBY3lCLFFBQVEsQ0FBQ3hCLGVBQWVDO0lBQzVDO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifySuppositionsWithProofSteps;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
+
var _suppositionWithProffStep = /*#__PURE__*/ _interop_require_default(require("./suppositionWithProffStep"));
|
|
13
|
+
var _array = require("../utilities/array");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function unifySuppositionsWithProofSteps(suppositionsA, proofStepsB, substitutions, fileContextA, localContextB) {
|
|
20
|
+
suppositionsA = (0, _array.reverse)(suppositionsA); ///
|
|
21
|
+
proofStepsB = (0, _array.reverse)(proofStepsB); ///
|
|
22
|
+
var suppositionsUnified = (0, _array.correlate)(suppositionsA, proofStepsB, function(suppositionA, proofStepB) {
|
|
23
|
+
var localContextA = _local.default.fromFileContext(fileContextA), suppositionUnified = (0, _suppositionWithProffStep.default)(suppositionA, proofStepB, substitutions, localContextA, localContextB);
|
|
24
|
+
if (suppositionUnified) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return suppositionsUnified;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdXBwb3NpdGlvbnNXaXRoUHJvb2ZTdGVwcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IHVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwIGZyb20gXCIuL3N1cHBvc2l0aW9uV2l0aFByb2ZmU3RlcFwiO1xuXG5pbXBvcnQgeyByZXZlcnNlLCBjb3JyZWxhdGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3VwcG9zaXRpb25zV2l0aFByb29mU3RlcHMoc3VwcG9zaXRpb25zQSwgcHJvb2ZTdGVwc0IsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBzdXBwb3NpdGlvbnNBID0gcmV2ZXJzZShzdXBwb3NpdGlvbnNBKTsgLy8vXG5cbiAgcHJvb2ZTdGVwc0IgPSByZXZlcnNlKHByb29mU3RlcHNCKTsgLy8vXG5cbiAgY29uc3Qgc3VwcG9zaXRpb25zVW5pZmllZCA9IGNvcnJlbGF0ZShzdXBwb3NpdGlvbnNBLCBwcm9vZlN0ZXBzQiwgKHN1cHBvc2l0aW9uQSwgcHJvb2ZTdGVwQikgPT4ge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgc3VwcG9zaXRpb25VbmlmaWVkID0gdW5pZnlTdXBwb3NpdGlvbldpdGhQcm9vZlN0ZXAoc3VwcG9zaXRpb25BLCBwcm9vZlN0ZXBCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChzdXBwb3NpdGlvblVuaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc1VuaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdXBwb3NpdGlvbnNXaXRoUHJvb2ZTdGVwcyIsInN1cHBvc2l0aW9uc0EiLCJwcm9vZlN0ZXBzQiIsInN1YnN0aXR1dGlvbnMiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwicmV2ZXJzZSIsInN1cHBvc2l0aW9uc1VuaWZpZWQiLCJjb3JyZWxhdGUiLCJzdXBwb3NpdGlvbkEiLCJwcm9vZlN0ZXBCIiwibG9jYWxDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9uVW5pZmllZCIsInVuaWZ5U3VwcG9zaXRpb25XaXRoUHJvb2ZTdGVwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7OzREQUxDOytFQUNpQjtxQkFFUDs7Ozs7O0FBRXBCLFNBQVNBLGdDQUFnQ0MsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhO0lBQzVISixnQkFBZ0JLLElBQUFBLGNBQU8sRUFBQ0wsZ0JBQWdCLEdBQUc7SUFFM0NDLGNBQWNJLElBQUFBLGNBQU8sRUFBQ0osY0FBYyxHQUFHO0lBRXZDLElBQU1LLHNCQUFzQkMsSUFBQUEsZ0JBQVMsRUFBQ1AsZUFBZUMsYUFBYSxTQUFDTyxjQUFjQztRQUMvRSxJQUFNQyxnQkFBZ0JDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDVCxlQUM3Q1UscUJBQXFCQyxJQUFBQSxpQ0FBNkIsRUFBQ04sY0FBY0MsWUFBWVAsZUFBZVEsZUFBZU47UUFFakgsSUFBSVMsb0JBQW9CO1lBQ3RCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT1A7QUFDVCJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyTermWithTerm;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _equivalences = require("../utilities/equivalences");
|
|
12
|
+
function unifyTermWithTerm(leftTermNode, rightTermNode, localContext) {
|
|
13
|
+
var termUnifiedWithTerm = false;
|
|
14
|
+
var equivalences = localContext.getEquivalences(), termNodesEqual = (0, _equivalences.areTermNodesEqual)(leftTermNode, rightTermNode, equivalences);
|
|
15
|
+
if (termNodesEqual) {
|
|
16
|
+
termUnifiedWithTerm = true;
|
|
17
|
+
}
|
|
18
|
+
return termUnifiedWithTerm;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aFRlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFyZVRlcm1Ob2Rlc0VxdWFsIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lcXVpdmFsZW5jZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aFRlcm0obGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aFRlcm0gPSBmYWxzZTtcblxuICBjb25zdCBlcXVpdmFsZW5jZXMgPSBsb2NhbENvbnRleHQuZ2V0RXF1aXZhbGVuY2VzKCksXG4gICAgICAgIHRlcm1Ob2Rlc0VxdWFsID0gYXJlVGVybU5vZGVzRXF1YWwobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBlcXVpdmFsZW5jZXMpO1xuXG4gIGlmICh0ZXJtTm9kZXNFcXVhbCkge1xuICAgIHRlcm1VbmlmaWVkV2l0aFRlcm0gPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aFRlcm07XG59Il0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhUZXJtIiwibGVmdFRlcm1Ob2RlIiwicmlnaHRUZXJtTm9kZSIsImxvY2FsQ29udGV4dCIsInRlcm1VbmlmaWVkV2l0aFRlcm0iLCJlcXVpdmFsZW5jZXMiLCJnZXRFcXVpdmFsZW5jZXMiLCJ0ZXJtTm9kZXNFcXVhbCIsImFyZVRlcm1Ob2Rlc0VxdWFsIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzRCQUZVO0FBRW5CLFNBQVNBLGtCQUFrQkMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDakYsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLGVBQWVGLGFBQWFHLGVBQWUsSUFDM0NDLGlCQUFpQkMsSUFBQUEsK0JBQWlCLEVBQUNQLGNBQWNDLGVBQWVHO0lBRXRFLElBQUlFLGdCQUFnQjtRQUNsQkgsc0JBQXNCO0lBQ3hCO0lBRUEsT0FBT0E7QUFDVCJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyTermWithType;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
+
var _array = require("../utilities/array");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function unifyTermWithType(termNode, typeNode, localContext) {
|
|
19
|
+
var termUnifiedWithType;
|
|
20
|
+
var verifyTerm = _shim.default.verifyTerm, terms = [], termVerified = verifyTerm(termNode, terms, localContext, function() {
|
|
21
|
+
var verifiedAhead = false;
|
|
22
|
+
var firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), type = localContext.findTypeByTypeNode(typeNode), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
|
|
23
|
+
if (termTypeEqualToOrSubTypeOfType) {
|
|
24
|
+
verifiedAhead = true;
|
|
25
|
+
}
|
|
26
|
+
return verifiedAhead;
|
|
27
|
+
});
|
|
28
|
+
termUnifiedWithType = termVerified; ///
|
|
29
|
+
return termUnifiedWithType;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoVHlwZTtcblxuICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgIHRlcm1zID0gW10sXG4gICAgICAgIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1VbmlmaWVkV2l0aFR5cGUgPSB0ZXJtVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiB0ZXJtVW5pZmllZFdpdGhUeXBlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhUeXBlIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsImxvY2FsQ29udGV4dCIsInRlcm1VbmlmaWVkV2l0aFR5cGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VGVybSIsImZpcnN0IiwidGVybSIsInRlcm1UeXBlIiwiZ2V0VHlwZSIsInR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5vZGUiLCJ0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OzsyREFKUDtxQkFFSzs7Ozs7O0FBRVAsU0FBU0Esa0JBQWtCQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsWUFBWTtJQUN4RSxJQUFJQztJQUVKLElBQU0sQUFBRUMsYUFBZUMsYUFBSSxDQUFuQkQsWUFDRkUsUUFBUSxFQUFFLEVBQ1ZDLGVBQWVILFdBQVdKLFVBQVVNLE9BQU9KLGNBQWM7UUFDdkQsSUFBSU0sZ0JBQWdCO1FBRXBCLElBQU1DLFlBQVlDLElBQUFBLFlBQUssRUFBQ0osUUFDbEJLLE9BQU9GLFdBQ1BHLFdBQVdELEtBQUtFLE9BQU8sSUFDdkJDLE9BQU9aLGFBQWFhLGtCQUFrQixDQUFDZCxXQUN2Q2UsaUNBQWlDSixTQUFTSyxvQkFBb0IsQ0FBQ0g7UUFFckUsSUFBSUUsZ0NBQWdDO1lBQ2xDUixnQkFBZ0I7UUFDbEI7UUFFQSxPQUFPQTtJQUNUO0lBRU5MLHNCQUFzQkksY0FBYyxHQUFHO0lBRXZDLE9BQU9KO0FBQ1QifQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyVariableWithTerm;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
|
|
12
|
+
var _query = require("../utilities/query");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
|
|
19
|
+
function unifyVariableWithTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
|
|
20
|
+
var variableUnifiedWithTerm = false;
|
|
21
|
+
var substitution = substitutions.findSubstitution(function(substitution) {
|
|
22
|
+
var substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
|
|
23
|
+
if (substitutionMatchesVariableNodeA) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}) || null;
|
|
27
|
+
if (substitution !== null) {
|
|
28
|
+
var substitutionMatchesTermNodeB = substitution.matchTermNode(termNodeB);
|
|
29
|
+
if (substitutionMatchesTermNodeB) {
|
|
30
|
+
variableUnifiedWithTerm = true;
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
var variableA = localContextA.findVariableByVariableNode(variableNodeA);
|
|
34
|
+
if (variableA !== null) {
|
|
35
|
+
var variableB = variableFromTermNode(termNodeB, localContextB);
|
|
36
|
+
if (variableA !== variableB) {
|
|
37
|
+
var termNode = termNodeB, variableNode = variableNodeA, termForVariableSubstitution = _termForVariable.default.fromVariableNodeAndTermNode(variableNode, termNode), substitution1 = termForVariableSubstitution; ///
|
|
38
|
+
substitutions.addSubstitution(substitution1, localContextA, localContextB);
|
|
39
|
+
}
|
|
40
|
+
variableUnifiedWithTerm = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return variableUnifiedWithTerm;
|
|
44
|
+
}
|
|
45
|
+
function variableFromTermNode(termNode, localContext) {
|
|
46
|
+
var variable = null;
|
|
47
|
+
var variableNode = variableNodeQuery(termNode);
|
|
48
|
+
if (variableNode !== null) {
|
|
49
|
+
variable = localContext.findVariableByVariableNode(variableNode);
|
|
50
|
+
}
|
|
51
|
+
return variable;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS92YXJpYWJsZVdpdGhUZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlWYXJpYWJsZVdpdGhUZXJtKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgdmFyaWFibGVVbmlmaWVkV2l0aFRlcm0gPSBmYWxzZTtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIgPSBzdWJzdGl0dXRpb24ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZUIpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIpIHtcbiAgICAgIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBKTtcblxuICAgIGlmICh2YXJpYWJsZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlQiA9IHZhcmlhYmxlRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmICh2YXJpYWJsZUEgIT09IHZhcmlhYmxlQikge1xuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgICAgfVxuXG4gICAgICB2YXJpYWJsZVVuaWZpZWRXaXRoVGVybSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB2YXJpYWJsZSA9IG51bGw7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICB2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VmFyaWFibGVXaXRoVGVybSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZhcmlhYmxlVW5pZmllZFdpdGhUZXJtIiwic3Vic3RpdHV0aW9uIiwiZmluZFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25NYXRjaGVzVGVybU5vZGVCIiwibWF0Y2hUZXJtTm9kZSIsInZhcmlhYmxlQSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVCIiwidmFyaWFibGVGcm9tVGVybU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSIsImFkZFN1YnN0aXR1dGlvbiIsImxvY2FsQ29udGV4dCIsInZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NFQU5nQjtxQkFFZDs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixTQUFTRixzQkFBc0JHLGFBQWEsRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNqSCxJQUFJQywwQkFBMEI7SUFFOUIsSUFBTUMsZUFBZUosY0FBY0ssZ0JBQWdCLENBQUMsU0FBQ0Q7UUFDbkQsSUFBTUUsbUNBQW1DRixhQUFhRyxpQkFBaUIsQ0FBQ1Q7UUFFeEUsSUFBSVEsa0NBQWtDO1lBQ3BDLE9BQU87UUFDVDtJQUNGLE1BQU07SUFFTixJQUFJRixpQkFBaUIsTUFBTTtRQUN6QixJQUFNSSwrQkFBK0JKLGFBQWFLLGFBQWEsQ0FBQ1Y7UUFFaEUsSUFBSVMsOEJBQThCO1lBQ2hDTCwwQkFBMEI7UUFDNUI7SUFDRixPQUFPO1FBQ0wsSUFBTU8sWUFBWVQsY0FBY1UsMEJBQTBCLENBQUNiO1FBRTNELElBQUlZLGNBQWMsTUFBTTtZQUN0QixJQUFNRSxZQUFZQyxxQkFBcUJkLFdBQVdHO1lBRWxELElBQUlRLGNBQWNFLFdBQVc7Z0JBQzNCLElBQU1FLFdBQVdmLFdBQ1hnQixlQUFlakIsZUFDZmtCLDhCQUE4QkMsd0JBQTJCLENBQUNDLDJCQUEyQixDQUFDSCxjQUFjRCxXQUNwR1YsZ0JBQWVZLDZCQUE4QixHQUFHO2dCQUV0RGhCLGNBQWNtQixlQUFlLENBQUNmLGVBQWNILGVBQWVDO1lBQzdEO1lBRUFDLDBCQUEwQjtRQUM1QjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNVLHFCQUFxQkMsUUFBUSxFQUFFTSxZQUFZO0lBQ2xELElBQUlDLFdBQVc7SUFFZixJQUFNTixlQUFlbkIsa0JBQWtCa0I7SUFFdkMsSUFBSUMsaUJBQWlCLE1BQU07UUFDekJNLFdBQVdELGFBQWFULDBCQUEwQixDQUFDSTtJQUNyRDtJQUVBLE9BQU9NO0FBQ1QifQ==
|
package/lib/verify/error.js
CHANGED
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
function verifyError(errorNode, fileContext) {
|
|
12
12
|
var errorVerified = false;
|
|
13
13
|
var errorString = fileContext.nodeAsString(errorNode);
|
|
14
|
-
fileContext.debug("The '".concat(errorString, "' cannot be verified."), errorNode);
|
|
14
|
+
fileContext.debug("The '".concat(errorString, "' error cannot be verified."), errorNode);
|
|
15
15
|
return errorVerified;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGVycm9yVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBlcnJvclN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhlcnJvck5vZGUpXG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGVycm9yIGNhbm5vdCBiZSB2ZXJpZmllZC5gLCBlcnJvck5vZGUpO1xuXG4gIHJldHVybiBlcnJvclZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVycm9yIiwiZXJyb3JOb2RlIiwiZmlsZUNvbnRleHQiLCJlcnJvclZlcmlmaWVkIiwiZXJyb3JTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLFlBQVlDLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsY0FBY0YsWUFBWUcsWUFBWSxDQUFDSjtJQUU3Q0MsWUFBWUksS0FBSyxDQUFDLEFBQUMsUUFBbUIsT0FBWkYsYUFBWSxnQ0FBOEJIO0lBRXBFLE9BQU9FO0FBQ1QifQ==
|
package/lib/verify/judgement.js
CHANGED
|
@@ -54,8 +54,8 @@ function verifyDerivedJudgement(judgementNode, assignments, derived, localContex
|
|
|
54
54
|
if (frameSingular) {
|
|
55
55
|
var declaration = frame.getDeclaration(), metavariableNode1 = declaration.getMetavariableNode(), metaLemma = localContext.findMetaLemmaByMetavariableNode(metavariableNode1), metatheorem = localContext.findMetatheoremByMetavariableNode(metavariableNode1), metaLemmaMetatheorem = metaLemma || metatheorem; ///
|
|
56
56
|
if (metaLemmaMetatheorem !== null) {
|
|
57
|
-
var
|
|
58
|
-
derivedJudgementVerified =
|
|
57
|
+
var metaLemmaMetatheoremUnifiedWithDeclaration = declaration.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem), metaLemmaMetatheoremUnifiedWithJudgement = judgement.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
58
|
+
derivedJudgementVerified = metaLemmaMetatheoremUnifiedWithDeclaration && metaLemmaMetatheoremUnifiedWithJudgement;
|
|
59
59
|
} else {
|
|
60
60
|
var metavariableString = localContext.nodeAsString(metavariableNode1);
|
|
61
61
|
localContext.debug("There are no meta-lemmas or metatheorems corresponding to the '".concat(metavariableString, "' metavariable."), judgementNode);
|
|
@@ -118,4 +118,4 @@ function verifyMetavariable(metavariableNode, localContext) {
|
|
|
118
118
|
return metavariableVerified;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSnVkZ2VtZW50IGZyb20gXCIuLi9qdWRnZW1lbnRcIjtcbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBKdWRnZW1lbnRBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L2p1ZGdlbWVudFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGp1ZGdlbWVudCA9IGxvY2FsQ29udGV4dC5maW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0RGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvbi51bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pLFxuICAgICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50ID0ganVkZ2VtZW50LnVuaWZ5TWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSk7XG5cbiAgICAgICAgICAgICAgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gKG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllZEFnYWluc3REZWNsYXJhdGlvbiAmJiBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke2ZyYW1lU3RyaW5nfScgaXMgbm90IHNpbmd1bGFyLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgc3RhdGVkIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgIGZyYW1lTm9kZSA9IGZyYW1lTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgIGp1ZGdlbWVudCA9IEp1ZGdlbWVudC5mcm9tSnVkZ2VtZW50Tm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShqdWRnZW1lbnROb2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGp1ZGdlbWVudEFzc2lnbm1lbnQgPSBKdWRnZW1lbnRBc3NpZ25tZW50LmZyb21KdWRnZW1lbnQoanVkZ2VtZW50KSxcbiAgICAgICAgICAgICAgYXNzaWdubWVudCA9IGp1ZGdlbWVudEFzc2lnbm1lbnQ7XG5cbiAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUp1ZGdlbWVudCIsImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwianVkZ2VtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50IiwidmVyaWZ5U3RhdGVkSnVkZ2VtZW50Iiwic29tZSIsInZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlIiwiZnJhbWVzIiwiZnJhbWVOb2RlIiwiZnJhbWVWZXJpZmllZCIsInZlcmlmeUZyYW1lIiwiZmlyc3RGcmFtZSIsImZpcnN0IiwiZnJhbWUiLCJmcmFtZVNpbmd1bGFyIiwiaXNTaW5ndWxhciIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hIiwiZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF0aGVvcmVtIiwiZmluZE1ldGF0aGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0RGVjbGFyYXRpb24iLCJ1bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50IiwibWV0YXZhcmlhYmxlU3RyaW5nIiwiZnJhbWVTdHJpbmciLCJzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCIsIkp1ZGdlbWVudCIsImZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50QXNzaWdubWVudCIsIkp1ZGdlbWVudEFzc2lnbm1lbnQiLCJmcm9tSnVkZ2VtZW50IiwiYXNzaWdubWVudCIsInB1c2giLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXdCQTs7O2dFQVhGOzREQUNFOzZEQUNFO2lFQUNNO3FCQUVWO3FCQUNJOzs7Ozs7QUFFMUIsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN2RixJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFB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
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSnVkZ2VtZW50IGZyb20gXCIuLi9qdWRnZW1lbnRcIjtcbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBKdWRnZW1lbnRBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L2p1ZGdlbWVudFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGp1ZGdlbWVudCA9IGxvY2FsQ29udGV4dC5maW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoRGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvbi51bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pLFxuICAgICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50ID0ganVkZ2VtZW50LnVuaWZ5TWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSk7XG5cbiAgICAgICAgICAgICAgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gKG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllZFdpdGhEZWNsYXJhdGlvbiAmJiBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke2ZyYW1lU3RyaW5nfScgaXMgbm90IHNpbmd1bGFyLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgc3RhdGVkIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgIGZyYW1lTm9kZSA9IGZyYW1lTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgIGp1ZGdlbWVudCA9IEp1ZGdlbWVudC5mcm9tSnVkZ2VtZW50Tm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShqdWRnZW1lbnROb2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGp1ZGdlbWVudEFzc2lnbm1lbnQgPSBKdWRnZW1lbnRBc3NpZ25tZW50LmZyb21KdWRnZW1lbnQoanVkZ2VtZW50KSxcbiAgICAgICAgICAgICAgYXNzaWdubWVudCA9IGp1ZGdlbWVudEFzc2lnbm1lbnQ7XG5cbiAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUp1ZGdlbWVudCIsImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwianVkZ2VtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50IiwidmVyaWZ5U3RhdGVkSnVkZ2VtZW50Iiwic29tZSIsInZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlIiwiZnJhbWVzIiwiZnJhbWVOb2RlIiwiZnJhbWVWZXJpZmllZCIsInZlcmlmeUZyYW1lIiwiZmlyc3RGcmFtZSIsImZpcnN0IiwiZnJhbWUiLCJmcmFtZVNpbmd1bGFyIiwiaXNTaW5ndWxhciIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hIiwiZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF0aGVvcmVtIiwiZmluZE1ldGF0aGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoRGVjbGFyYXRpb24iLCJ1bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50IiwibWV0YXZhcmlhYmxlU3RyaW5nIiwiZnJhbWVTdHJpbmciLCJzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCIsIkp1ZGdlbWVudCIsImZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50QXNzaWdubWVudCIsIkp1ZGdlbWVudEFzc2lnbm1lbnQiLCJmcm9tSnVkZ2VtZW50IiwiYXNzaWdubWVudCIsInB1c2giLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXdCQTs7O2dFQVhGOzREQUNFOzZEQUNFO2lFQUNNO3FCQUVWO3FCQUNJOzs7Ozs7QUFFMUIsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN2RixJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlCTDtJQUV0RSxJ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
|