occam-verify-cli 0.0.910 → 0.0.911
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/axiomLemmaTheoremConjecture.js +6 -6
- package/lib/conclusion.js +7 -7
- package/lib/consequent.js +3 -3
- package/lib/context/file.js +7 -7
- package/lib/context/local.js +9 -9
- package/lib/context/localMeta.js +11 -11
- package/lib/declaration.js +9 -9
- package/lib/equivalence.js +15 -15
- package/lib/frame.js +5 -5
- package/lib/frameAssertion.js +3 -3
- package/lib/metaConsequent.js +4 -4
- package/lib/metaLemmaMetatheorem.js +10 -10
- package/lib/metaSupposition.js +7 -7
- package/lib/metaType.js +7 -7
- package/lib/metavariable.js +7 -7
- package/lib/mixins/nodesVerifier/intrinsiclevel.js +3 -3
- package/lib/mixins/nodesVerifier/metaLevel.js +3 -3
- package/lib/premise.js +16 -16
- package/lib/rule.js +21 -21
- package/lib/step/metaproof.js +6 -6
- package/lib/step/proof.js +6 -6
- package/lib/substitution/metastatementForMetavariable.js +8 -8
- package/lib/substitution/statementForMetavariable.js +5 -4
- package/lib/substitution/termForVariable.js +9 -9
- package/lib/substitution.js +11 -11
- package/lib/supposition.js +3 -3
- package/lib/type.js +7 -7
- package/lib/utilities/match.js +3 -3
- package/lib/variable.js +8 -8
- package/lib/verify/containedAssertion.js +54 -20
- package/lib/verify/definedAssertion.js +67 -33
- package/lib/verify/frame.js +2 -2
- package/lib/verify/frameAssertion.js +3 -3
- package/lib/verify/metaproofStep.js +37 -15
- package/lib/verify/metastatement/unqualified.js +3 -3
- package/lib/verify/metastatement.js +35 -6
- package/lib/verify/ruleProofStep.js +25 -14
- package/lib/verify/statement/unqualified.js +3 -3
- package/lib/verify/statement.js +4 -7
- package/package.json +2 -2
- package/src/axiomLemmaTheoremConjecture.js +6 -6
- package/src/conclusion.js +6 -6
- package/src/consequent.js +2 -2
- package/src/context/file.js +6 -6
- package/src/context/local.js +7 -7
- package/src/context/localMeta.js +9 -9
- package/src/declaration.js +10 -10
- package/src/equivalence.js +14 -14
- package/src/frame.js +4 -4
- package/src/frameAssertion.js +2 -2
- package/src/metaConsequent.js +3 -3
- package/src/metaLemmaMetatheorem.js +10 -10
- package/src/metaSupposition.js +6 -6
- package/src/metaType.js +7 -7
- package/src/metavariable.js +6 -6
- package/src/mixins/nodesVerifier/intrinsiclevel.js +2 -2
- package/src/mixins/nodesVerifier/metaLevel.js +2 -2
- package/src/premise.js +15 -15
- package/src/rule.js +22 -22
- package/src/step/metaproof.js +4 -4
- package/src/step/proof.js +4 -4
- package/src/substitution/metastatementForMetavariable.js +7 -7
- package/src/substitution/statementForMetavariable.js +5 -3
- package/src/substitution/termForVariable.js +8 -8
- package/src/substitution.js +10 -10
- package/src/supposition.js +2 -2
- package/src/type.js +7 -7
- package/src/utilities/match.js +2 -2
- package/src/variable.js +11 -11
- package/src/verify/containedAssertion.js +76 -27
- package/src/verify/definedAssertion.js +90 -41
- package/src/verify/frame.js +1 -1
- package/src/verify/frameAssertion.js +2 -2
- package/src/verify/metaproofStep.js +43 -2
- package/src/verify/metastatement/unqualified.js +2 -2
- package/src/verify/metastatement.js +46 -5
- package/src/verify/ruleProofStep.js +22 -1
- package/src/verify/statement/unqualified.js +2 -2
- package/src/verify/statement.js +2 -6
|
@@ -49,31 +49,42 @@ function verifyRuleProofStep(ruleProofStepNode, localMetaContext) {
|
|
|
49
49
|
ruleProofStepVerified = true;
|
|
50
50
|
}
|
|
51
51
|
} else if (unqualifiedStatementNode !== null) {
|
|
52
|
-
|
|
52
|
+
var qualifiedStatementVerified1;
|
|
53
|
+
var assignments1 = [], localContext1 = localMetaContext, substitutions = null;
|
|
54
|
+
qualifiedStatementVerified1 = (0, _qualified.default)(qualifiedStatementNode, substitutions, assignments1, localContext1);
|
|
55
|
+
if (qualifiedStatementVerified1) {
|
|
56
|
+
var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext1);
|
|
57
|
+
qualifiedStatementVerified1 = assignmentAssigned1; ///
|
|
58
|
+
}
|
|
59
|
+
if (qualifiedStatementVerified1) {
|
|
60
|
+
var statementNode1 = statementNodeQuery(qualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
|
|
61
|
+
localMetaContext.addMetaproofStep(metaproofStep2);
|
|
62
|
+
ruleProofStepVerified = qualifiedStatementVerified1; ///
|
|
63
|
+
}
|
|
53
64
|
} else if (qualifiedMetastatementNode !== null) {
|
|
54
65
|
var qualifiedMetastatementVerified;
|
|
55
|
-
var
|
|
56
|
-
qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode,
|
|
66
|
+
var assignments2 = [], substitutions1 = null;
|
|
67
|
+
qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions1, assignments2, localMetaContext);
|
|
57
68
|
if (qualifiedMetastatementVerified) {
|
|
58
|
-
var
|
|
59
|
-
qualifiedMetastatementVerified =
|
|
69
|
+
var localContext2 = localMetaContext, assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext2);
|
|
70
|
+
qualifiedMetastatementVerified = assignmentAssigned2; ///
|
|
60
71
|
}
|
|
61
72
|
if (qualifiedMetastatementVerified) {
|
|
62
|
-
var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode),
|
|
63
|
-
localMetaContext.addMetaproofStep(
|
|
73
|
+
var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
|
|
74
|
+
localMetaContext.addMetaproofStep(metaproofStep3);
|
|
64
75
|
ruleProofStepVerified = qualifiedMetastatementVerified; ///
|
|
65
76
|
}
|
|
66
77
|
} else if (unqualifiedMetastatementNode !== null) {
|
|
67
78
|
var unqualifiedMetastatementVerified;
|
|
68
|
-
var derived = true,
|
|
69
|
-
unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode,
|
|
79
|
+
var derived = true, assignments3 = [];
|
|
80
|
+
unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assignments3, derived, localMetaContext);
|
|
70
81
|
if (unqualifiedMetastatementVerified) {
|
|
71
|
-
var
|
|
72
|
-
unqualifiedMetastatementVerified =
|
|
82
|
+
var localContext3 = localMetaContext, assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext3);
|
|
83
|
+
unqualifiedMetastatementVerified = assignmentAssigned3; ///
|
|
73
84
|
}
|
|
74
85
|
if (unqualifiedMetastatementVerified) {
|
|
75
|
-
var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode),
|
|
76
|
-
localMetaContext.addMetaproofStep(
|
|
86
|
+
var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
|
|
87
|
+
localMetaContext.addMetaproofStep(metaproofStep4);
|
|
77
88
|
ruleProofStepVerified = true;
|
|
78
89
|
}
|
|
79
90
|
}
|
|
@@ -83,4 +94,4 @@ Object.assign(_ruleSubDerivation.default, {
|
|
|
83
94
|
verifyRuleProofStep: verifyRuleProofStep
|
|
84
95
|
});
|
|
85
96
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3J1bGVTdWJwcm9vZiFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcXVhbGlmaWVkU3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZVByb29mU3RlcChydWxlUHJvb2ZTdGVwTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IHJ1bGVTdWJwcm9vZk5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHJ1bGVTdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQ7XG5cbiAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChydWxlU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBkZWJ1Z2dlclxuICB9IGVsc2UgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IG51bGw7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlSdWxlUHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlUHJvb2ZTdGVwIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicnVsZVN1YnByb29mTm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInJ1bGVQcm9vZlN0ZXBOb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsInJ1bGVQcm9vZlN0ZXBWZXJpZmllZCIsInJ1bGVTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwicnVsZVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwic3Vic3RpdHV0aW9ucyIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeVJ1bGVTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OztnRUFsQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7aUVBQ0k7a0VBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHdEQUMvQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0UseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0csOEJBQThCSCxJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0ksZ0NBQWdDSixJQUFBQSxnQkFBUyxFQUFDLDJEQUMx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
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3J1bGVTdWJwcm9vZiFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcXVhbGlmaWVkU3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZVByb29mU3RlcChydWxlUHJvb2ZTdGVwTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IHJ1bGVTdWJwcm9vZk5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHJ1bGVTdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQ7XG5cbiAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChydWxlU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IGxvY2FsTWV0YUNvbnRleHQsICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gbnVsbDtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBudWxsO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBydWxlUHJvb2ZTdGVwVmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24odmVyaWZ5UnVsZVN1YkRlcml2YXRpb24sIHtcbiAgdmVyaWZ5UnVsZVByb29mU3RlcFxufSk7XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZVByb29mU3RlcCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJydWxlUHJvb2ZTdGVwTm9kZSIsImxvY2FsTWV0YUNvbnRleHQiLCJydWxlUHJvb2ZTdGVwVmVyaWZpZWQiLCJydWxlU3VicHJvb2ZOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UnVsZVN1YnByb29mIiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tUnVsZVN1YnByb29mTm9kZSIsImFkZE1ldGFwcm9vZlN0ZXAiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudCIsInN0YXRlbWVudE5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0JBOzs7ZUFBd0JBOzs7Z0VBbEJFO21FQUNLO3dFQUNLO2dFQUNDO2lFQUNJO2tFQUNFO3FCQUVqQjsyQkFDTzs7Ozs7O0FBRWpDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyx3REFDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQyxtREFDbENFLHlCQUF5QkYsSUFBQUEsZ0JBQVMsRUFBQyxvRUFDbkNHLDhCQUE4QkgsSUFBQUEsZ0JBQVMsRUFBQyx5REFDeENJLGdDQUFnQ0osSUFBQUEsZ0JBQVMsRUFBQywyREFDMUNLLGtDQUFrQ0wsSUFBQUEsZ0JBQVMsRUFBQyw2REFDNUNNLG9DQUFvQ04sSUFBQUEsZ0JBQVMsRUFBQztBQUVyQyxTQUFTRixvQkFBb0JTLGlCQUFpQixFQUFFQyxnQkFBZ0I7SUFDN0UsSUFBSUMsd0JBQXdCO0lBRTVC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
|
|
@@ -21,8 +21,8 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, deriv
|
|
|
21
21
|
var statementNode = statementNodeQuery(unqualifiedStatementNode), unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
|
|
22
22
|
localContext.trace("Verifying the '".concat(unqualifiedStatementString, "' unqualified statement..."), unqualifiedStatementNode);
|
|
23
23
|
if (derived) {
|
|
24
|
-
var
|
|
25
|
-
unqualifiedStatementVerified =
|
|
24
|
+
var matchesStatementNode = localContext.matchStatementNode(statementNode);
|
|
25
|
+
unqualifiedStatementVerified = matchesStatementNode; ///
|
|
26
26
|
}
|
|
27
27
|
if (!unqualifiedStatementVerified) {
|
|
28
28
|
var statementVerified = (0, _statement.default)(statementNode, assignments, derived, localContext);
|
|
@@ -34,4 +34,4 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, deriv
|
|
|
34
34
|
return unqualifiedStatementVerified;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1hdGNoZXNTdGF0ZW1lbnROb2RlID0gbG9jYWxDb250ZXh0Lm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBtYXRjaGVzU3RhdGVtZW50Tm9kZTsgIC8vL1xuICB9XG5cbiAgaWYgKCF1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O2dFQU5JO3FCQUVGOzs7Ozs7QUFFMUIsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXRCLFNBQVNGLDJCQUEyQkcsd0JBQXdCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzdHLElBQUlDLCtCQUErQjtJQUVuQyxJQUFNQyxnQkFBZ0JQLG1CQUFtQkUsMkJBQ25DTSw2QkFBNkJILGFBQWFJLFlBQVksQ0FBQ1A7SUFFN0RHLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkYsNEJBQTJCLCtCQUE2Qk47SUFFN0YsSUFBSUUsU0FBUztRQUNYLElBQU1PLHVCQUF1Qk4sYUFBYU8sa0JBQWtCLENBQUNMO1FBRTdERCwrQkFBK0JLLHNCQUF1QixHQUFHO0lBQzNEO0lBRUEsSUFBSSxDQUFDTCw4QkFBOEI7UUFDakMsSUFBTU8sb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDUCxlQUFlSixhQUFhQyxTQUFTQztRQUUvRUMsK0JBQStCTyxtQkFBb0IsR0FBRztJQUN4RDtJQUVBLElBQUlQLDhCQUE4QjtRQUNoQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQThDLE9BQTNCUCw0QkFBMkIsNkJBQTJCTjtJQUMvRjtJQUVBLE9BQU9JO0FBQ1QifQ==
|
package/lib/verify/statement.js
CHANGED
|
@@ -140,10 +140,7 @@ function verifyStatementAsDefinedAssertion(statementNode, assignments, derived,
|
|
|
140
140
|
if (definedAssertionNode !== null) {
|
|
141
141
|
var statementString = localContext.nodeAsString(statementNode);
|
|
142
142
|
localContext.trace("Verifying the '".concat(statementString, "' statement as a defined assertion..."), definedAssertionNode);
|
|
143
|
-
var definedAssertionVerified = (0, _definedAssertion.default)(definedAssertionNode,
|
|
144
|
-
var verifiedAhead = true;
|
|
145
|
-
return verifiedAhead;
|
|
146
|
-
});
|
|
143
|
+
var definedAssertionVerified = (0, _definedAssertion.default)(definedAssertionNode, assignments, derived, localContext);
|
|
147
144
|
statementVerifiedAsDefinedAssertion = definedAssertionVerified; ///
|
|
148
145
|
if (statementVerifiedAsDefinedAssertion) {
|
|
149
146
|
localContext.debug("...verified the '".concat(statementString, "' statement as a defined assertion."), definedAssertionNode);
|
|
@@ -157,7 +154,7 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
|
|
|
157
154
|
if (containedAssertionNode !== null) {
|
|
158
155
|
var statementString = localContext.nodeAsString(statementNode);
|
|
159
156
|
localContext.trace("Verifying the '".concat(statementString, "' statement as a contained assertion..."), containedAssertionNode);
|
|
160
|
-
var containedVerified = (0, _containedAssertion.default)(containedAssertionNode);
|
|
157
|
+
var containedVerified = (0, _containedAssertion.default)(containedAssertionNode, assignments, derived, localContext);
|
|
161
158
|
if (containedVerified) {
|
|
162
159
|
statementNode = statementNodeQuery(containedAssertionNode); ///
|
|
163
160
|
var verifyStatementFunctions = [
|
|
@@ -165,7 +162,7 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
|
|
|
165
162
|
verifyStatementAgainstCombinators
|
|
166
163
|
];
|
|
167
164
|
var statementVerified = verifyStatementFunctions.some(function(verifyStatementFunction) {
|
|
168
|
-
var derived = false, assignments = [], statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
|
|
165
|
+
var _$derived = false, _$assignments = [], statementVerified = verifyStatementFunction(statementNode, _$assignments, _$derived, localContext);
|
|
169
166
|
if (statementVerified) {
|
|
170
167
|
return true;
|
|
171
168
|
}
|
|
@@ -210,4 +207,4 @@ function verifyStatementAgainstCombinator(statementNode, combinator, localContex
|
|
|
210
207
|
return statementVerifiedAgainstCombinator;
|
|
211
208
|
}
|
|
212
209
|
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVmaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRhaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnRhaW5lZEFzc2VydGlvbi9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIiksXG4gICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9kZWZpbmVkQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvY29udGFpbmVkQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gIF07XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhbmRhbG9uZSBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkKTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgaWYgKHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihzdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvck5vZGVzVmVyaWZpZXIsIHtcbiAgdmVyaWZ5U3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5U3RhdGVtZW50O1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5ID0gZXF1YWxpdHlWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuYCwgZXF1YWxpdHlOb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlZmluZWRBc3NlcnRpb25Ob2RlID0gZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCwgZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBjb250YWluZWRWZXJpZmllZCA9IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGlmIChjb250YWluZWRWZXJpZmllZCkge1xuICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKTsgLy8vXG5cbiAgICAgIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKChlcXVhbGl0eU5vZGUgPT09IG51bGwpICYmICh0eXBlQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkgJiYgKGRlZmluZWRBc3NlcnRpb25Ob2RlID09PSBudWxsKSAmJiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkpIHtcbiAgICBsZXQgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICAgIGNvbWJpbmF0b3JzID0gWyAvLy9cbiAgICAgIGJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgICAuLi5jb21iaW5hdG9yc1xuICAgIF07XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5IiwidmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uIiwiZXF1YWxpdHlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5IiwiZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInZlcmlmeUFoZWFkIiwic3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIk9iamVjdCIsImFzc2lnbiIsInN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uIiwidHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24iLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeURlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImNvbnRhaW5lZFZlcmlmaWVkIiwidmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbWJpbmF0b3JzIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yIiwidmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3IiLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29tYmluYXRvclN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkVBLE9BQStCO2VBQS9COztJQTVCZ0JBLHlCQUF5QjtlQUF6QkE7O0lBOEJBQyx5QkFBeUI7ZUFBekJBOztJQTBCQUMsOEJBQThCO2VBQTlCQTs7OytEQXJHVztnRUFDSztvRUFDQTt1RUFDRzt5RUFDRTtpRkFDZTtxQkFFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLHlCQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLG1DQUMvQkUseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDLDhCQUNuQ0csNEJBQTRCSCxJQUFBQSxnQkFBUyxFQUFDLGlDQUN0Q0ksOEJBQThCSixJQUFBQSxnQkFBUyxFQUFDO0FBRTlDLFNBQVNLLGdCQUFnQkMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN4RSxJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlCTDtJQUV0RSxJQUFNUSwyQkFBMkI7UUFDL0JqQjtRQUNBQztRQUNBaUI7UUFDQUM7UUFDQUM7S0FDRDtJQUVEUCxvQkFBb0JJLHlCQUF5QkksSUFBSSxDQUFDLFNBQUNDO1FBQ2pELElBQU1ULG9CQUFvQlMsd0JBQXdCYixlQUFlQyxhQUFhQyxTQUFTQztRQUV2RixJQUFJQyxtQkFBbUI7WUFDckIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxtQkFBbUI7UUFDckJELGFBQWFXLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlQsaUJBQWdCLGlCQUFlTDtJQUN4RTtJQUVBLE9BQU9JO0FBQ1Q7QUFFTyxTQUFTZCwwQkFBMEJVLGFBQWEsRUFBRUcsWUFBWSxFQUFFWSxXQUFXO0lBQ2hGLElBQUlDLDhCQUE4QjtJQUVsQyxJQUFNWCxrQkFBa0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFbERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLDhCQUE0Qkw7SUFFakYsSUFBTUUsVUFBVSxPQUNWRCxjQUFjLEVBQUUsRUFDaEJHLG9CQUFvQkwsZ0JBQWdCQyxlQUFlQyxhQUFhQztJQUV0RSxJQUFJRSxtQkFBbUI7UUFDckIsSUFBTWEsZ0JBQWdCRjtRQUV0QkMsOEJBQThCQyxlQUFlLEdBQUc7SUFDbEQ7SUFFQSxJQUFJRCw2QkFBNkI7UUFDL0JiLGFBQWFXLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlQsaUJBQWdCLDRCQUEwQkw7SUFDbkY7SUFFQSxPQUFPZ0I7QUFDVDtBQUVBRSxPQUFPQyxNQUFNLENBQUNDLG1DQUF1QyxFQUFFO0lBQ3JEckIsaUJBQUFBO0FBQ0Y7SUFFQSxXQUFlQTtBQUVSLFNBQVNSLDBCQUEwQlMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN6RixJQUFJa0IsOEJBQThCO0lBRWxDLElBQU1DLGVBQWU3QixrQkFBa0JPO0lBRXZDLElBQUlzQixpQkFBaUIsTUFBTTtRQUN6QixJQUFNakIsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO1FBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJGLGlCQUFnQixrQ0FBZ0NpQjtRQUVyRixJQUFNQyxtQkFBbUJDLElBQUFBLGlCQUFjLEVBQUNGLGNBQWNyQixhQUFhQyxTQUFTQyxjQUFjO1lBQ3hGLElBQU1jLGdCQUFnQjtZQUV0QixPQUFPQTtRQUNUO1FBRUFJLDhCQUE4QkUsa0JBQWtCLEdBQUc7UUFFbkQsSUFBSUYsNkJBQTZCO1lBQy9CbEIsYUFBYVcsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCVCxpQkFBZ0IsZ0NBQThCaUI7UUFDdkY7SUFDRjtJQUVBLE9BQU9EO0FBQ1Q7QUFFTyxTQUFTN0IsK0JBQStCUSxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzlGLElBQUlzQixtQ0FBbUM7SUFFdkMsSUFBTUMsb0JBQW9COUIsdUJBQXVCSTtJQUVqRCxJQUFJMEIsc0JBQXNCLE1BQU07UUFDOUIsSUFBTXJCLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtRQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsdUNBQXFDcUI7UUFFMUYsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CekIsYUFBYUMsU0FBU0MsY0FBYztZQUN2RyxJQUFNYyxnQkFBZ0I7WUFFdEIsT0FBT0E7UUFDVDtRQUVBUSxtQ0FBbUNFLHVCQUF1QixHQUFHO1FBRTdELElBQUlGLGtDQUFrQztZQUNwQ3RCLGFBQWFXLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlQsaUJBQWdCLHFDQUFtQ3FCO1FBQzVGO0lBQ0Y7SUFFQSxPQUFPRDtBQUNUO0FBRUEsU0FBU2hCLGtDQUFrQ1QsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUMxRixJQUFJMEIsc0NBQXNDO0lBRTFDLElBQU1DLHVCQUF1QmpDLDBCQUEwQkc7SUFFdkQsSUFBSThCLHlCQUF5QixNQUFNO1FBQ2pDLElBQU16QixrQkFBa0JGLGFBQWFHLFlBQVksQ0FBQ047UUFFbERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLDBDQUF3Q3lCO1FBRTdGLElBQU1DLDJCQUEyQkMsSUFBQUEseUJBQXNCLEVBQUNGLHNCQUFzQjNCLGNBQWM7WUFDMUYsSUFBTWMsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFQVksc0NBQXNDRSwwQkFBMEIsR0FBRztRQUVuRSxJQUFJRixxQ0FBcUM7WUFDdkMxQixhQUFhVyxLQUFLLENBQUMsQUFBQyxvQkFBbUMsT0FBaEJULGlCQUFnQix3Q0FBc0N5QjtRQUMvRjtJQUNGO0lBRUEsT0FBT0Q7QUFDVDtBQUVBLFNBQVNuQixvQ0FBb0NWLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDNUYsSUFBSThCLHdDQUF3QztJQUU1QyxJQUFNQyx5QkFBeUJwQyw0QkFBNEJFO0lBRTNELElBQUlrQywyQkFBMkIsTUFBTTtRQUNuQyxJQUFNN0Isa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO1FBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJGLGlCQUFnQiw0Q0FBMEM2QjtRQUUvRixJQUFNQyxvQkFBb0JDLElBQUFBLDJCQUF3QixFQUFDRjtRQUVuRCxJQUFJQyxtQkFBbUI7WUFDckJuQyxnQkFBZ0JMLG1CQUFtQnVDLHlCQUF5QixHQUFHO1lBRS9ELElBQU0xQiwyQkFBMkI7Z0JBQy9CakI7Z0JBQ0FvQjthQUNEO1lBRUQsSUFBTVAsb0JBQW9CSSx5QkFBeUJJLElBQUksQ0FBQyxTQUFDQztnQkFDdkQsSUFBTVgsVUFBVSxPQUNWRCxjQUFjLEVBQUUsRUFDaEJHLG9CQUFvQlMsd0JBQXdCYixlQUFlQyxhQUFhQyxTQUFTQztnQkFFdkYsSUFBSUMsbUJBQW1CO29CQUNyQixPQUFPO2dCQUNUO1lBQ0Y7WUFFQTZCLHdDQUF3QzdCLG1CQUFtQixHQUFHO1FBQ2hFO1FBRUEsSUFBSTZCLHVDQUF1QztZQUN6QzlCLGFBQWFXLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlQsaUJBQWdCLDBDQUF3QzZCO1FBQ2pHO0lBQ0Y7SUFFQSxPQUFPRDtBQUNUO0FBRUEsU0FBU3RCLGtDQUFrQ1gsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUMxRixJQUFJa0Msc0NBQXNDO0lBRTFDLElBQU1mLGVBQWU3QixrQkFBa0JPLGdCQUNqQzBCLG9CQUFvQjlCLHVCQUF1QkksZ0JBQzNDOEIsdUJBQXVCakMsMEJBQTBCRyxnQkFDakRrQyx5QkFBeUJwQyw0QkFBNEJFO0lBRTNELElBQUksQUFBQ3NCLGlCQUFpQixRQUFVSSxzQkFBc0IsUUFBVUkseUJBQXlCLFFBQVVJLDJCQUEyQixNQUFPO1FBQ25JLElBQUlJLGNBQWNuQyxhQUFhb0MsY0FBYztRQUU3Q0QsY0FBYztZQUNaRSxrQkFBbUI7U0FFcEIsQ0FIYSxPQUVaLHFCQUFHRjtRQUdMRCxzQ0FBc0NDLFlBQVkxQixJQUFJLENBQUMsU0FBQzZCO1lBQ3RELElBQU1DLHFDQUFxQ0MsaUNBQWlDM0MsZUFBZXlDLFlBQVl0QztZQUV2RyxJQUFJdUMsb0NBQW9DO2dCQUN0QyxPQUFPO1lBQ1Q7UUFDRjtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLFNBQVNNLGlDQUFpQzNDLGFBQWEsRUFBRXlDLFVBQVUsRUFBRXRDLFlBQVk7SUFDL0UsSUFBSXVDO0lBRUosSUFBTXJDLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTixnQkFDNUM0QyxtQkFBbUJILFdBQVdJLFNBQVM7SUFFN0MxQyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBNERxQyxPQUEzQ3ZDLGlCQUFnQiw2QkFBNEMsT0FBakJ1QyxrQkFBaUIsb0JBQWtCNUM7SUFFbkgsSUFBTThDLDBCQUEwQkwsV0FBV00sZ0JBQWdCLElBQ3JEQyxtQkFBbUJoRCxlQUNuQmlELG1CQUFtQkgseUJBQ25CSSwwQkFBMEI5QixtQ0FBdUMsQ0FBQytCLHFCQUFxQixDQUFDSCxrQkFBa0JDLGtCQUFrQjlDLGNBQWM7UUFDeEksSUFBTWMsZ0JBQWdCO1FBRXRCLE9BQU9BO0lBQ1Q7SUFFTnlCLHFDQUFxQ1EseUJBQTBCLEdBQUc7SUFFbEUsSUFBSVIsb0NBQW9DO1FBQ3RDdkMsYUFBYVcsS0FBSyxDQUFDLEFBQUMsb0JBQThEOEIsT0FBM0N2QyxpQkFBZ0IsNkJBQTRDLE9BQWpCdUMsa0JBQWlCLGtCQUFnQjVDO0lBQ3JIO0lBRUEsT0FBTzBDO0FBQ1QifQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVmaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRhaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnRhaW5lZEFzc2VydGlvbi9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIiksXG4gICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9kZWZpbmVkQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvY29udGFpbmVkQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gIF07XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhbmRhbG9uZSBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkKTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgaWYgKHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihzdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvck5vZGVzVmVyaWZpZXIsIHtcbiAgdmVyaWZ5U3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5U3RhdGVtZW50O1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5ID0gZXF1YWxpdHlWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuYCwgZXF1YWxpdHlOb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlZmluZWRBc3NlcnRpb25Ob2RlID0gZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCwgZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBjb250YWluZWRWZXJpZmllZCA9IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChjb250YWluZWRWZXJpZmllZCkge1xuICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKTsgLy8vXG5cbiAgICAgIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKChlcXVhbGl0eU5vZGUgPT09IG51bGwpICYmICh0eXBlQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkgJiYgKGRlZmluZWRBc3NlcnRpb25Ob2RlID09PSBudWxsKSAmJiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkpIHtcbiAgICBsZXQgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICAgIGNvbWJpbmF0b3JzID0gWyAvLy9cbiAgICAgIGJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgICAuLi5jb21iaW5hdG9yc1xuICAgIF07XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5IiwidmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uIiwiZXF1YWxpdHlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5IiwiZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInZlcmlmeUFoZWFkIiwic3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIk9iamVjdCIsImFzc2lnbiIsInN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uIiwidHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24iLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeURlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImNvbnRhaW5lZFZlcmlmaWVkIiwidmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbWJpbmF0b3JzIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yIiwidmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3IiLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29tYmluYXRvclN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkVBLE9BQStCO2VBQS9COztJQTVCZ0JBLHlCQUF5QjtlQUF6QkE7O0lBOEJBQyx5QkFBeUI7ZUFBekJBOztJQTBCQUMsOEJBQThCO2VBQTlCQTs7OytEQXJHVztnRUFDSztvRUFDQTt1RUFDRzt5RUFDRTtpRkFDZTtxQkFFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLHlCQUM5QkMscUJBQXFCRCxJQUFB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.911",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.811",
|
|
16
16
|
"occam-entities": "^1.0.146",
|
|
17
17
|
"occam-file-system": "^6.0.187",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.207",
|
|
@@ -48,7 +48,7 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
matchMetavariableNode(metavariableNode) {
|
|
51
|
-
const
|
|
51
|
+
const matchesMetavariableNode = this.labels.some((label) => {
|
|
52
52
|
const labelMatchesMetavariableNode = label.matchMetavariableNode(metavariableNode);
|
|
53
53
|
|
|
54
54
|
if (labelMatchesMetavariableNode) {
|
|
@@ -56,7 +56,7 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
return
|
|
59
|
+
return matchesMetavariableNode;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
toJSON(tokens) {
|
|
@@ -149,17 +149,17 @@ function matchSupposition(supposition, proofStep, substitutions, localContext, s
|
|
|
149
149
|
const statementNode = proofStep.getStatementNode();
|
|
150
150
|
|
|
151
151
|
if (statementNode !== null) {
|
|
152
|
-
const
|
|
152
|
+
const suppositionMatchesStatementNode = supposition.matchStatementNode(statementNode, substitutions, localContext, statementLocalContext);
|
|
153
153
|
|
|
154
|
-
suppositionMatches =
|
|
154
|
+
suppositionMatches = suppositionMatchesStatementNode; ///
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
return suppositionMatches;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
function matchConsequent(consequent, statementNode, substitutions, localContext, statementLocalContext) {
|
|
161
|
-
const
|
|
162
|
-
consequentMatches =
|
|
161
|
+
const consequentMatchesStatementNode = consequent.matchStatementNode(statementNode, substitutions, localContext, statementLocalContext),
|
|
162
|
+
consequentMatches = consequentMatchesStatementNode; ///
|
|
163
163
|
|
|
164
164
|
return consequentMatches;
|
|
165
165
|
}
|
package/src/conclusion.js
CHANGED
|
@@ -22,7 +22,7 @@ export default class Conclusion {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
matchStatementNode(statementNode, substitutions, localContext, statementLocalContext) {
|
|
25
|
-
let
|
|
25
|
+
let matchesStatementNose = false;
|
|
26
26
|
|
|
27
27
|
if (this.metastatementNode !== null) {
|
|
28
28
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
@@ -35,14 +35,14 @@ export default class Conclusion {
|
|
|
35
35
|
return verifiedAhead;
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
matchesStatementNose = nonTerminalNodeVerified; ///
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
return
|
|
41
|
+
return matchesStatementNose;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
matchMetastatementNode(metastatementNode, substitutions, fileContext, localMetaContext) {
|
|
45
|
-
let
|
|
45
|
+
let matchesMetastatementNode = false;
|
|
46
46
|
|
|
47
47
|
if (this.metastatementNode !== null) {
|
|
48
48
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
@@ -56,10 +56,10 @@ export default class Conclusion {
|
|
|
56
56
|
return verifiedAhead;
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
matchesMetastatementNode = nonTerminalNodeVerified; ///
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
return
|
|
62
|
+
return matchesMetastatementNode;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
toJSON(tokens) {
|
package/src/consequent.js
CHANGED
|
@@ -24,9 +24,9 @@ export default class Consequent {
|
|
|
24
24
|
|
|
25
25
|
return verifiedAhead;
|
|
26
26
|
}),
|
|
27
|
-
|
|
27
|
+
matchesStatementNode = nonTerminalNodeVerified; ///
|
|
28
28
|
|
|
29
|
-
return
|
|
29
|
+
return matchesStatementNode;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
toJSON(tokens) {
|
package/src/context/file.js
CHANGED
|
@@ -337,9 +337,9 @@ export default class FileContext {
|
|
|
337
337
|
const node = variableNode, ///
|
|
338
338
|
variables = this.getVariables(),
|
|
339
339
|
variable = variables.find((variable) => {
|
|
340
|
-
const
|
|
340
|
+
const variableMatchesNode = variable.matchNode(node);
|
|
341
341
|
|
|
342
|
-
if (
|
|
342
|
+
if (variableMatchesNode) {
|
|
343
343
|
return true;
|
|
344
344
|
}
|
|
345
345
|
}) || null;
|
|
@@ -557,9 +557,9 @@ export default class FileContext {
|
|
|
557
557
|
|
|
558
558
|
const node = variable.getNode(),
|
|
559
559
|
variablePresent = this.variables.some((variable) => {
|
|
560
|
-
const
|
|
560
|
+
const variableMatchesNode = variable.matchNode(node);
|
|
561
561
|
|
|
562
|
-
if (
|
|
562
|
+
if (variableMatchesNode) {
|
|
563
563
|
return true;
|
|
564
564
|
}
|
|
565
565
|
});
|
|
@@ -598,9 +598,9 @@ export default class FileContext {
|
|
|
598
598
|
|
|
599
599
|
const name = metavariable.getName(),
|
|
600
600
|
metavariablePresent = this.metavariables.some((metavariable) => {
|
|
601
|
-
const
|
|
601
|
+
const metavariableMatchesNode = metavariable.matchName(name);
|
|
602
602
|
|
|
603
|
-
if (
|
|
603
|
+
if (metavariableMatchesNode) {
|
|
604
604
|
return true;
|
|
605
605
|
}
|
|
606
606
|
});
|
package/src/context/local.js
CHANGED
|
@@ -183,9 +183,9 @@ class LocalContext {
|
|
|
183
183
|
|
|
184
184
|
const node = variable.getNode(),
|
|
185
185
|
variablePresent = this.variables.some((variable) => {
|
|
186
|
-
const
|
|
186
|
+
const variableMatchesNode = variable.matchNode(node);
|
|
187
187
|
|
|
188
|
-
if (
|
|
188
|
+
if (variableMatchesNode) {
|
|
189
189
|
return true;
|
|
190
190
|
}
|
|
191
191
|
});
|
|
@@ -215,20 +215,20 @@ class LocalContext {
|
|
|
215
215
|
this.equivalences.splice(start, deleteCount);
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
matchStatementNode(statementNode) {
|
|
219
219
|
let proofSteps = this.getProofSteps();
|
|
220
220
|
|
|
221
221
|
proofSteps = reverse(proofSteps); ///
|
|
222
222
|
|
|
223
|
-
const
|
|
224
|
-
const
|
|
223
|
+
const matchesStatementNode = proofSteps.some((proofStep) => {
|
|
224
|
+
const proofStepMatchesStatementNode = proofStep.matchStatementNode(statementNode);
|
|
225
225
|
|
|
226
|
-
if (
|
|
226
|
+
if (proofStepMatchesStatementNode) {
|
|
227
227
|
return true;
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
|
|
231
|
-
return
|
|
231
|
+
return matchesStatementNode;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
findVariableByVariableNode(variableNode) {
|
package/src/context/localMeta.js
CHANGED
|
@@ -78,9 +78,9 @@ class LocalMetaContext extends LocalContext {
|
|
|
78
78
|
|
|
79
79
|
const node = metavariable.getName(),
|
|
80
80
|
metavariablePresent = this.metavariables.some((metavariable) => {
|
|
81
|
-
const
|
|
81
|
+
const metavariableMatchesNode = metavariable.matchNode(node);
|
|
82
82
|
|
|
83
|
-
if (
|
|
83
|
+
if (metavariableMatchesNode) {
|
|
84
84
|
return true;
|
|
85
85
|
}
|
|
86
86
|
});
|
|
@@ -98,20 +98,20 @@ class LocalMetaContext extends LocalContext {
|
|
|
98
98
|
this.metaproofSteps.push(metaproofStep);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
matchMetastatementNode(metastatementNode) {
|
|
102
102
|
let metaproofSteps = this.getMetaproofSteps();
|
|
103
103
|
|
|
104
104
|
metaproofSteps = reverse(metaproofSteps); ///
|
|
105
105
|
|
|
106
|
-
const
|
|
107
|
-
const
|
|
106
|
+
const matchesMetastatementNode = metaproofSteps.some((metaproofStep) => {
|
|
107
|
+
const metaproofStepMatchesMetastatementNode = metaproofStep.matchMetastatementNode(metastatementNode);
|
|
108
108
|
|
|
109
|
-
if (
|
|
109
|
+
if (metaproofStepMatchesMetastatementNode) {
|
|
110
110
|
return true;
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
return
|
|
114
|
+
return matchesMetastatementNode;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
findMetavariableByMetavariableNode(metavariableNode, localMetaContext) {
|
|
@@ -131,9 +131,9 @@ class LocalMetaContext extends LocalContext {
|
|
|
131
131
|
findFrameAssertionByMetavariableNode(metavariableNode) {
|
|
132
132
|
const frameAssertions = this.getFrameAssertions(),
|
|
133
133
|
frameAssertion = frameAssertions.find((frameAssertion) => {
|
|
134
|
-
const
|
|
134
|
+
const frameAssertionMatchesMetavariableNode = frameAssertion.matchMetavariableNode(metavariableNode);
|
|
135
135
|
|
|
136
|
-
if (
|
|
136
|
+
if (frameAssertionMatchesMetavariableNode) {
|
|
137
137
|
return true;
|
|
138
138
|
}
|
|
139
139
|
}) || null;
|
package/src/declaration.js
CHANGED
|
@@ -19,35 +19,35 @@ export default class Declaration {
|
|
|
19
19
|
matchSubstitution(substitution) {
|
|
20
20
|
const metavariableNode = substitution.getMetavariableNode(),
|
|
21
21
|
metastatementNode = substitution.getMetastatementNode(),
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
matchesMetavariableNode = this.matchMetavariableNode(metavariableNode),
|
|
23
|
+
matchesMetastatementNode = this.matchMetastatementNode(metastatementNode),
|
|
24
|
+
matchesSubstitution = (matchesMetavariableNode && matchesMetastatementNode);
|
|
25
25
|
|
|
26
|
-
return
|
|
26
|
+
return matchesSubstitution;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
matchMetavariableNode(metavariableNode) {
|
|
30
|
-
const
|
|
30
|
+
const matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
|
|
31
31
|
|
|
32
|
-
return
|
|
32
|
+
return matchesMetavariableNode;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
matchMetastatementNode(metastatementNode) {
|
|
36
36
|
const metastatementNodeA = metastatementNode, ///
|
|
37
37
|
metastatementNodeB = this.metastatementNode, ///
|
|
38
38
|
metastatementMatches = matchMetastatementModuloBrackets(metastatementNodeA, metastatementNodeB),
|
|
39
|
-
|
|
39
|
+
matchesMetastatementNode = metastatementMatches; ///
|
|
40
40
|
|
|
41
|
-
return
|
|
41
|
+
return matchesMetastatementNode;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem) {
|
|
45
45
|
const metaConsequent = metaLemmaMetatheorem.getMetaConsequent(),
|
|
46
46
|
metastatementNode = metaConsequent.getMetastatementNode(),
|
|
47
47
|
matches = this.metastatementNode.match(metastatementNode),
|
|
48
|
-
|
|
48
|
+
matchesMetaLemmaOrMetaTheorem = matches; ///
|
|
49
49
|
|
|
50
|
-
return
|
|
50
|
+
return matchesMetaLemmaOrMetaTheorem;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
static fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode) {
|
package/src/equivalence.js
CHANGED
|
@@ -49,14 +49,14 @@ export default class Equivalence {
|
|
|
49
49
|
const typeB = type; ///
|
|
50
50
|
|
|
51
51
|
const typeAEqualToTypeB = typeA.isEqualTo(typeB),
|
|
52
|
-
|
|
52
|
+
matchesType = typeAEqualToTypeB; ///
|
|
53
53
|
|
|
54
|
-
return
|
|
54
|
+
return matchesType;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
matchTerm(term) {
|
|
58
58
|
const termA = term, ///
|
|
59
|
-
|
|
59
|
+
matchesTerm = this.terms.some((term) => {
|
|
60
60
|
const termB = term, ///
|
|
61
61
|
termAMatchesTermB = termA.match(termB);
|
|
62
62
|
|
|
@@ -65,24 +65,24 @@ export default class Equivalence {
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
return
|
|
68
|
+
return matchesTerm;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
matchTerms(terms) {
|
|
72
|
-
const
|
|
73
|
-
const
|
|
72
|
+
const matchesTerms = terms.every((term) => {
|
|
73
|
+
const matchesTerm = this.matchTerm(term);
|
|
74
74
|
|
|
75
|
-
if (
|
|
75
|
+
if (matchesTerm) {
|
|
76
76
|
return true;
|
|
77
77
|
}
|
|
78
78
|
})
|
|
79
79
|
|
|
80
|
-
return
|
|
80
|
+
return matchesTerms;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
matchTermNode(termNode) {
|
|
84
84
|
const termNodeA = termNode, ///
|
|
85
|
-
|
|
85
|
+
matchesTermNode = this.terms.some((term) => {
|
|
86
86
|
const termNode = term.getNode(),
|
|
87
87
|
termNodeB = termNode, ///
|
|
88
88
|
termNodeAMatchesTermB = termNodeA.match(termNodeB);
|
|
@@ -92,19 +92,19 @@ export default class Equivalence {
|
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
94
|
|
|
95
|
-
return
|
|
95
|
+
return matchesTermNode;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
matchTermNodes(termNodes) {
|
|
99
|
-
const
|
|
100
|
-
const
|
|
99
|
+
const matchesTermNodes = termNodes.every((termNode) => {
|
|
100
|
+
const matchesTermNode = this.matchTermNode(termNode);
|
|
101
101
|
|
|
102
|
-
if (
|
|
102
|
+
if (matchesTermNode) {
|
|
103
103
|
return true;
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
-
return
|
|
107
|
+
return matchesTermNodes;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
getGroundedTerms(definedVariables, groundedTerms, localContext) {
|