occam-verify-cli 0.0.893 → 0.0.894
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 +3 -3
- package/lib/metaLemmaMetatheorem.js +4 -4
- package/lib/metaSupposition.js +15 -17
- package/lib/premise.js +57 -15
- package/lib/rule.js +31 -20
- package/lib/step/metaproof.js +19 -5
- package/lib/utilities/array.js +5 -2
- package/lib/verify/metaProofStep.js +2 -2
- package/lib/verify/metaSubDerivation.js +3 -3
- package/lib/verify/metaSubproof.js +3 -3
- package/lib/verify/metastatement/qualified.js +32 -15
- package/lib/verify/ruleProofStep.js +27 -15
- package/lib/verify/statement/qualified.js +39 -23
- package/lib/verify/statement.js +7 -1
- package/package.json +4 -4
- package/src/axiomLemmaTheoremConjecture.js +3 -4
- package/src/metaLemmaMetatheorem.js +4 -4
- package/src/metaSupposition.js +25 -29
- package/src/premise.js +95 -25
- package/src/rule.js +36 -20
- package/src/step/metaproof.js +24 -7
- package/src/utilities/array.js +1 -1
- package/src/verify/metaProofStep.js +1 -1
- package/src/verify/metaSubDerivation.js +2 -2
- package/src/verify/metaSubproof.js +2 -2
- package/src/verify/metastatement/qualified.js +51 -21
- package/src/verify/ruleProofStep.js +24 -2
- package/src/verify/statement/qualified.js +55 -25
- package/src/verify/statement.js +2 -2
package/lib/rule.js
CHANGED
|
@@ -12,7 +12,6 @@ var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
|
|
|
12
12
|
var _premise = /*#__PURE__*/ _interop_require_default(require("./premise"));
|
|
13
13
|
var _conclusion = /*#__PURE__*/ _interop_require_default(require("./conclusion"));
|
|
14
14
|
var _array = require("./utilities/array");
|
|
15
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
16
15
|
function _class_call_check(instance, Constructor) {
|
|
17
16
|
if (!(instance instanceof Constructor)) {
|
|
18
17
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -75,17 +74,17 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
75
74
|
value: function matchStatement(statementNode, localContext) {
|
|
76
75
|
var _this = this;
|
|
77
76
|
var statementNatches;
|
|
78
|
-
var premisesLength = this.premises.length
|
|
77
|
+
var premisesLength = this.premises.length;
|
|
79
78
|
if (premisesLength === 0) {
|
|
80
|
-
var substitutions = [], conclusionMatches = matchConclusion(this.conclusion, statementNode, substitutions, this.fileContext,
|
|
79
|
+
var substitutions = [], conclusionMatches = matchConclusion(this.conclusion, statementNode, substitutions, this.fileContext, localContext);
|
|
81
80
|
statementNatches = conclusionMatches; ///
|
|
82
81
|
} else {
|
|
83
|
-
var proofSteps =
|
|
82
|
+
var proofSteps = localContext.getProofSteps();
|
|
84
83
|
statementNatches = (0, _array.someSubArray)(proofSteps, premisesLength, function(proofSteps) {
|
|
85
84
|
var premisesMatchConclusion = false;
|
|
86
|
-
var substitutions = [], premisesMatch = matchPremises(_this.premises, proofSteps, substitutions, _this.fileContext,
|
|
85
|
+
var substitutions = [], premisesMatch = matchPremises(_this.premises, proofSteps, substitutions, _this.fileContext, localContext);
|
|
87
86
|
if (premisesMatch) {
|
|
88
|
-
var conclusionMatches = matchConclusion(_this.conclusion, statementNode, substitutions, _this.fileContext,
|
|
87
|
+
var conclusionMatches = matchConclusion(_this.conclusion, statementNode, substitutions, _this.fileContext, localContext);
|
|
89
88
|
premisesMatchConclusion = conclusionMatches; ///
|
|
90
89
|
}
|
|
91
90
|
if (premisesMatchConclusion) {
|
|
@@ -186,12 +185,18 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
186
185
|
]);
|
|
187
186
|
return Rule;
|
|
188
187
|
}();
|
|
189
|
-
function matchPremise(premise, proofSteps, substitutions, fileContext,
|
|
190
|
-
var proofStep = (0, _array.
|
|
191
|
-
var statementNode = proofStep.getStatementNode();
|
|
188
|
+
function matchPremise(premise, proofSteps, substitutions, fileContext, localContext) {
|
|
189
|
+
var proofStep = (0, _array.extract)(proofSteps, function(proofStep) {
|
|
190
|
+
var subproofNode = proofStep.getSubproofNode(), statementNode = proofStep.getStatementNode();
|
|
191
|
+
if (subproofNode !== null) {
|
|
192
|
+
var subproofNodeMatches = premise.matchSubproofNode(subproofNode, substitutions, fileContext, localContext);
|
|
193
|
+
if (subproofNodeMatches) {
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
192
197
|
if (statementNode !== null) {
|
|
193
|
-
var statementNodeMatches = premise.matchStatementNode(statementNode, substitutions, fileContext,
|
|
194
|
-
if (
|
|
198
|
+
var statementNodeMatches = premise.matchStatementNode(statementNode, substitutions, fileContext, localContext);
|
|
199
|
+
if (statementNodeMatches) {
|
|
195
200
|
return true;
|
|
196
201
|
}
|
|
197
202
|
}
|
|
@@ -199,31 +204,37 @@ function matchPremise(premise, proofSteps, substitutions, fileContext, statement
|
|
|
199
204
|
var premiseMatches = proofStep !== null;
|
|
200
205
|
return premiseMatches;
|
|
201
206
|
}
|
|
202
|
-
function matchPremises(premise, proofSteps, substitutions, fileContext,
|
|
207
|
+
function matchPremises(premise, proofSteps, substitutions, fileContext, localContext) {
|
|
203
208
|
var premisesMatch = premise.every(function(premise) {
|
|
204
|
-
var premiseMatches = matchPremise(premise, proofSteps, substitutions, fileContext,
|
|
209
|
+
var premiseMatches = matchPremise(premise, proofSteps, substitutions, fileContext, localContext);
|
|
205
210
|
if (premiseMatches) {
|
|
206
211
|
return true;
|
|
207
212
|
}
|
|
208
213
|
});
|
|
209
214
|
return premisesMatch;
|
|
210
215
|
}
|
|
211
|
-
function matchConclusion(conclusion, statementNode, substitutions, fileContext,
|
|
212
|
-
var statementNodeMatches = conclusion.matchStatementNode(statementNode, substitutions, fileContext,
|
|
216
|
+
function matchConclusion(conclusion, statementNode, substitutions, fileContext, localContext) {
|
|
217
|
+
var statementNodeMatches = conclusion.matchStatementNode(statementNode, substitutions, fileContext, localContext), conclusionMatches = statementNodeMatches; ///
|
|
213
218
|
return conclusionMatches;
|
|
214
219
|
}
|
|
215
220
|
function metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, localMetaContext) {
|
|
216
|
-
var metaproofStep = (0, _array.
|
|
217
|
-
var ruleSubproofNode = metaproofStep.getRuleSubproofNode(), metastatementNode = metaproofStep.getMetastatementNode();
|
|
221
|
+
var metaproofStep = (0, _array.extract)(metaproofSteps, function(metaproofStep) {
|
|
222
|
+
var ruleSubproofNode = metaproofStep.getRuleSubproofNode(), metaSubproofNode = metaproofStep.getMetaSubproofNode(), metastatementNode = metaproofStep.getMetastatementNode();
|
|
218
223
|
if (ruleSubproofNode !== null) {
|
|
219
224
|
var ruleSubProofNodeMatches = premise.matchRuleSubproofNode(ruleSubproofNode, substitutions, fileContext, localMetaContext);
|
|
220
|
-
if (
|
|
225
|
+
if (ruleSubProofNodeMatches) {
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (metaSubproofNode !== null) {
|
|
230
|
+
var metaSubProofNodeMatches = premise.matchMetaSubproofNode(metaSubproofNode, substitutions, fileContext, localMetaContext);
|
|
231
|
+
if (metaSubProofNodeMatches) {
|
|
221
232
|
return true;
|
|
222
233
|
}
|
|
223
234
|
}
|
|
224
235
|
if (metastatementNode !== null) {
|
|
225
236
|
var metastatementNodeMatches = premise.matchMetastatementNode(metastatementNode, substitutions, fileContext, localMetaContext);
|
|
226
|
-
if (
|
|
237
|
+
if (metastatementNodeMatches) {
|
|
227
238
|
return true;
|
|
228
239
|
}
|
|
229
240
|
}
|
|
@@ -245,4 +256,4 @@ function metaMatchConclusion(conclusion, metastatementNode, substitutions, fileC
|
|
|
245
256
|
return conclusionMatches;
|
|
246
257
|
}
|
|
247
258
|
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHNvbWVTdWJBcnJheSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IGxvY2FsIGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5wcmVtaXNlcyA9IHByZW1pc2VzO1xuICAgIHRoaXMuY29uY2x1c2lvbiA9IGNvbmNsdXNpb247XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFByZW1pc2VzKCkge1xuICAgIHJldHVybiB0aGlzLnByZW1pc2VzO1xuICB9XG5cbiAgZ2V0Q29uY2x1c2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25jbHVzaW9uO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50TmF0Y2hlcztcblxuICAgIGNvbnN0IHByZW1pc2VzTGVuZ3RoID0gdGhpcy5wcmVtaXNlcy5sZW5ndGgsXG4gICAgICAgICAgc3RhdGVtZW50TG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGlmIChwcmVtaXNlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gc3RhdGVtZW50TG9jYWxDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKHByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWF0Y2hQcmVtaXNlcyh0aGlzLnByZW1pc2VzLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROYXRjaGVzO1xuXG4gICAgY29uc3QgcHJlbWlzZXNMZW5ndGggPSB0aGlzLnByZW1pc2VzLmxlbmd0aDtcblxuICAgIGlmIChwcmVtaXNlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBtZXRhc3RhdGVtZW50TmF0Y2hlcyA9IGNvbmNsdXNpb25NYXRjaGVzOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcHMgPSBsb2NhbE1ldGFDb250ZXh0LmdldE1ldGFwcm9vZlN0ZXBzKCk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gc29tZVN1YkFycmF5KG1ldGFwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKG1ldGFwcm9vZlN0ZXBzKSA9PiB7XG4gICAgICAgIGxldCBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgICAgcHJlbWlzZXNNYXRjaCA9IG1ldGFNYXRjaFByZW1pc2VzKHRoaXMucHJlbWlzZXMsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaCkge1xuICAgICAgICAgIGNvbnN0IGNvbmNsdXNpb25NYXRjaGVzID0gbWV0YU1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICAgIHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gY29uY2x1c2lvbk1hdGNoZXM7ICAvLy9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoQ29uY2x1c2lvbikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5sYWJlbHMuc29tZSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSBsYWJlbC5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNNZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSB0aGlzLmxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEpTT04gPSBsYWJlbC50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBwcmVtaXNlc0pTT04gPSB0aGlzLnByZW1pc2VzLm1hcCgocHJlbWlzZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJlbWlzZUpTT04gPSBwcmVtaXNlLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uY2x1c2lvbkpTT04gPSB0aGlzLmNvbmNsdXNpb24udG9KU09OKHRva2VucyksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHByZW1pc2VzLFxuICAgICAgICAgICAgY29uY2x1c2lvblxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHJ1bGU7XG5cbiAgICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgICBsYWJlbHMgPSBsYWJlbHNKU09OLm1hcCgobGFiZWxKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGxldCB7IHByZW1pc2VzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgcHJlbWlzZXNKU09OID0gcHJlbWlzZXM7ICAvLy9cblxuICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLm1hcCgocHJlbWlzZUpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBwcmVtaXNlSlNPTiwgLy8vXG4gICAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHByZW1pc2U7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBjb25jbHVzaW9uIH0gPSBqc29uO1xuXG4gICAgY29uc3QgY29uY2x1c2lvbkpTT04gPSBjb25jbHVzaW9uOyAgLy8vXG5cbiAgICBqc29uID0gY29uY2x1c2lvbkpTT047ICAvLy9cblxuICAgIGNvbmNsdXNpb24gPSBDb25jbHVzaW9uLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgcnVsZSA9IG5ldyBSdWxlKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dChsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUnVsZShsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2UocHJlbWlzZSwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIHN0YXRlbWVudExvY2FsQ29udGV4dCkge1xuICBjb25zdCBwcm9vZlN0ZXAgPSBwcnVuZShwcm9vZlN0ZXBzLCAocHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKClcblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KSB8fCBudWxsO1xuXG4gIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gKHByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHByZW1pc2VNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VzKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpIHtcbiAgY29uc3QgcHJlbWlzZXNNYXRjaCA9IHByZW1pc2UuZXZlcnkoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpIHtcbiAgY29uc3Qgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hQcmVtaXNlKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gcHJ1bmUobWV0YXByb29mU3RlcHMsIChtZXRhcHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0UnVsZVN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAocnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmICghcnVsZVN1YlByb29mTm9kZU1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IChtZXRhcHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gcHJlbWlzZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaFByZW1pc2VzKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHByZW1pc2VNYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZmlsZUNvbnRleHQiLCJnZXRMYWJlbHMiLCJnZXRQcmVtaXNlcyIsImdldENvbmNsdXNpb24iLCJnZXRGaWxlQ29udGV4dCIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudE5hdGNoZXMiLCJwcmVtaXNlc0xlbmd0aCIsImxlbmd0aCIsInN0YXRlbWVudExvY2FsQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJjb25jbHVzaW9uTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbiIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZVN1YkFycmF5IiwicHJlbWlzZXNNYXRjaENvbmNsdXNpb24iLCJwcmVtaXNlc01hdGNoIiwibWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROYXRjaGVzIiwibWV0YU1hdGNoQ29uY2x1c2lvbiIsIm1ldGFwcm9vZlN0ZXBzIiwiZ2V0TWV0YXByb29mU3RlcHMiLCJtZXRhTWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsInNvbWUiLCJsYWJlbCIsImxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUiLCJ0b0pTT04iLCJ0b2tlbnMiLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZSIsInByZW1pc2VKU09OIiwiY29uY2x1c2lvbkpTT04iLCJqc29uIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsInJ1bGUiLCJMYWJlbCIsIlByZW1pc2UiLCJDb25jbHVzaW9uIiwiZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0IiwibWF0Y2hQcmVtaXNlIiwicHJvb2ZTdGVwIiwicHJ1bmUiLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJwcmVtaXNlTWF0Y2hlcyIsImV2ZXJ5IiwibWV0YU1hdGNoUHJlbWlzZSIsIm1ldGFwcm9vZlN0ZXAiLCJydWxlU3VicHJvb2ZOb2RlIiwiZ2V0UnVsZVN1YnByb29mTm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwicnVsZVN1YlByb29mTm9kZU1hdGNoZXMiLCJtYXRjaFJ1bGVTdWJwcm9vZk5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozs0REFSSDs4REFDRTtpRUFDRztxQkFFRDs0REFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILElBQUEsQUFBTUEscUJBQUQsQUFBTDthQUFNQSxLQUNQQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dDQURsQ0o7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7O2tCQUxGSjs7WUFRbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osUUFBUTtZQUN0Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osVUFBVTtZQUN4Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osV0FBVztZQUN6Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxhQUFhLEVBQUVD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
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgZXh0cmFjdCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgc29tZVN1YkFycmF5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGUge1xuICBjb25zdHJ1Y3RvcihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCkge1xuICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgIHRoaXMucHJlbWlzZXMgPSBwcmVtaXNlcztcbiAgICB0aGlzLmNvbmNsdXNpb24gPSBjb25jbHVzaW9uO1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRQcmVtaXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVtaXNlcztcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHN0YXRlbWVudE5hdGNoZXMgPSBjb25jbHVzaW9uTWF0Y2hlczsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByb29mU3RlcHMgPSBsb2NhbENvbnRleHQuZ2V0UHJvb2ZTdGVwcygpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gc29tZVN1YkFycmF5KHByb29mU3RlcHMsIHByZW1pc2VzTGVuZ3RoLCAocHJvb2ZTdGVwcykgPT4ge1xuICAgICAgICBsZXQgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICAgIHByZW1pc2VzTWF0Y2ggPSBtYXRjaFByZW1pc2VzKHRoaXMucHJlbWlzZXMsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2gpIHtcbiAgICAgICAgICBjb25zdCBjb25jbHVzaW9uTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGNvbmNsdXNpb25NYXRjaGVzOyAgLy8vXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaENvbmNsdXNpb24pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdGhpcy5maWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwcyA9IGxvY2FsTWV0YUNvbnRleHQuZ2V0TWV0YXByb29mU3RlcHMoKTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkobWV0YXByb29mU3RlcHMsIHByZW1pc2VzTGVuZ3RoLCAobWV0YXByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWV0YU1hdGNoUHJlbWlzZXModGhpcy5wcmVtaXNlcywgbWV0YXByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TmF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHByZW1pc2VzSlNPTiA9IHRoaXMucHJlbWlzZXMubWFwKChwcmVtaXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKHRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwcmVtaXNlSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25jbHVzaW9uSlNPTiA9IHRoaXMuY29uY2x1c2lvbi50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZXMgPSBwcmVtaXNlc0pTT04sICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uID0gY29uY2x1c2lvbkpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgcHJlbWlzZXMsXG4gICAgICAgICAgICBjb25jbHVzaW9uXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgcnVsZTtcblxuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgcHJlbWlzZXMgfSA9IGpzb247XG5cbiAgICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlczsgIC8vL1xuXG4gICAgcHJlbWlzZXMgPSBwcmVtaXNlc0pTT04ubWFwKChwcmVtaXNlSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IHByZW1pc2VKU09OLCAvLy9cbiAgICAgICAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gcHJlbWlzZTtcbiAgICB9KTtcblxuICAgIGxldCB7IGNvbmNsdXNpb24gfSA9IGpzb247XG5cbiAgICBjb25zdCBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb247ICAvLy9cblxuICAgIGpzb24gPSBjb25jbHVzaW9uSlNPTjsgIC8vL1xuXG4gICAgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBydWxlID0gbmV3IFJ1bGUobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0KGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcnVsZSA9IG5ldyBSdWxlKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxDb250ZXh0KSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IGV4dHJhY3QocHJvb2ZTdGVwcywgKHByb29mU3RlcCkgPT4ge1xuICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IHByb29mU3RlcC5nZXRTdWJwcm9vZk5vZGUoKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwLmdldFN0YXRlbWVudE5vZGUoKTtcblxuICAgIGlmIChzdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJwcm9vZk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KSB8fCBudWxsO1xuXG4gIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gKHByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHByZW1pc2VNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VzKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpIHtcbiAgY29uc3QgcHJlbWlzZXNNYXRjaCA9IHByZW1pc2UuZXZlcnkoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpIHtcbiAgY29uc3Qgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hQcmVtaXNlKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gZXh0cmFjdChtZXRhcHJvb2ZTdGVwcywgKG1ldGFwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gbWV0YXByb29mU3RlcC5nZXRSdWxlU3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgbWV0YVN1YnByb29mTm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0TWV0YVN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAocnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmIChydWxlU3ViUHJvb2ZOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWV0YVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhU3ViUHJvb2ZOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IChtZXRhcHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gcHJlbWlzZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaFByZW1pc2VzKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHByZW1pc2VNYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZmlsZUNvbnRleHQiLCJnZXRMYWJlbHMiLCJnZXRQcmVtaXNlcyIsImdldENvbmNsdXNpb24iLCJnZXRGaWxlQ29udGV4dCIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudE5hdGNoZXMiLCJwcmVtaXNlc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25jbHVzaW9uTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbiIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZVN1YkFycmF5IiwicHJlbWlzZXNNYXRjaENvbmNsdXNpb24iLCJwcmVtaXNlc01hdGNoIiwibWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROYXRjaGVzIiwibWV0YU1hdGNoQ29uY2x1c2lvbiIsIm1ldGFwcm9vZlN0ZXBzIiwiZ2V0TWV0YXByb29mU3RlcHMiLCJtZXRhTWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsInNvbWUiLCJsYWJlbCIsImxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUiLCJ0b0pTT04iLCJ0b2tlbnMiLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZSIsInByZW1pc2VKU09OIiwiY29uY2x1c2lvbkpTT04iLCJqc29uIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsInJ1bGUiLCJMYWJlbCIsIlByZW1pc2UiLCJDb25jbHVzaW9uIiwiZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0IiwibWF0Y2hQcmVtaXNlIiwicHJvb2ZTdGVwIiwiZXh0cmFjdCIsInN1YnByb29mTm9kZSIsImdldFN1YnByb29mTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZk5vZGVNYXRjaGVzIiwibWF0Y2hTdWJwcm9vZk5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInByZW1pc2VNYXRjaGVzIiwiZXZlcnkiLCJtZXRhTWF0Y2hQcmVtaXNlIiwibWV0YXByb29mU3RlcCIsInJ1bGVTdWJwcm9vZk5vZGUiLCJnZXRSdWxlU3VicHJvb2ZOb2RlIiwibWV0YVN1YnByb29mTm9kZSIsImdldE1ldGFTdWJwcm9vZk5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJQcm9vZk5vZGVNYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZOb2RlIiwibWV0YVN1YlByb29mTm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7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
|
package/lib/step/metaproof.js
CHANGED
|
@@ -32,13 +32,20 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
32
32
|
}
|
|
33
33
|
var metastatementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/metastatement"), ruleSubproofAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/subproofAssertion"), qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery = (0, _query.nodesQuery)("/ruleSubproof/qualifiedMetastatement|unqualifiedMetastatement/metastatement!");
|
|
34
34
|
var MetaproofStep = /*#__PURE__*/ function() {
|
|
35
|
-
function MetaproofStep(ruleSubproofNode, metaSubproofNode, metastatementNode) {
|
|
35
|
+
function MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode) {
|
|
36
36
|
_class_call_check(this, MetaproofStep);
|
|
37
|
+
this.statementNode = statementNode;
|
|
37
38
|
this.ruleSubproofNode = ruleSubproofNode;
|
|
38
39
|
this.metaSubproofNode = metaSubproofNode;
|
|
39
40
|
this.metastatementNode = metastatementNode;
|
|
40
41
|
}
|
|
41
42
|
_create_class(MetaproofStep, [
|
|
43
|
+
{
|
|
44
|
+
key: "getStatementNode",
|
|
45
|
+
value: function getStatementNode() {
|
|
46
|
+
return this.statementNode;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
42
49
|
{
|
|
43
50
|
key: "getRuleSubproofNode",
|
|
44
51
|
value: function getRuleSubproofNode() {
|
|
@@ -103,24 +110,31 @@ var MetaproofStep = /*#__PURE__*/ function() {
|
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
], [
|
|
113
|
+
{
|
|
114
|
+
key: "fromStatementNode",
|
|
115
|
+
value: function fromStatementNode(statementNode) {
|
|
116
|
+
var ruleSubproofNode = null, metaSubproofNode = null, metastatementNode = null, metaProofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
117
|
+
return metaProofStep;
|
|
118
|
+
}
|
|
119
|
+
},
|
|
106
120
|
{
|
|
107
121
|
key: "fromRuleSubproofNode",
|
|
108
122
|
value: function fromRuleSubproofNode(ruleSubproofNode) {
|
|
109
|
-
var metaSubproofNode = null, metastatementNode = null, metaProofStep = new MetaproofStep(ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
123
|
+
var statementNode = null, metaSubproofNode = null, metastatementNode = null, metaProofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
110
124
|
return metaProofStep;
|
|
111
125
|
}
|
|
112
126
|
},
|
|
113
127
|
{
|
|
114
128
|
key: "fromMetaSubproofNode",
|
|
115
129
|
value: function fromMetaSubproofNode(metaSubproofNode) {
|
|
116
|
-
var ruleSubproofNode = null, metastatementNode = null, metaProofStep = new MetaproofStep(ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
130
|
+
var statementNode = null, ruleSubproofNode = null, metastatementNode = null, metaProofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
117
131
|
return metaProofStep;
|
|
118
132
|
}
|
|
119
133
|
},
|
|
120
134
|
{
|
|
121
135
|
key: "fromMetastatementNode",
|
|
122
136
|
value: function fromMetastatementNode(metastatementNode) {
|
|
123
|
-
var ruleSubproofNode = null, metaSubproofNode = null, metaProofStep = new MetaproofStep(ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
137
|
+
var statementNode = null, ruleSubproofNode = null, metaSubproofNode = null, metaProofStep = new MetaproofStep(statementNode, ruleSubproofNode, metaSubproofNode, metastatementNode);
|
|
124
138
|
return metaProofStep;
|
|
125
139
|
}
|
|
126
140
|
}
|
|
@@ -128,4 +142,4 @@ var MetaproofStep = /*#__PURE__*/ function() {
|
|
|
128
142
|
return MetaproofStep;
|
|
129
143
|
}();
|
|
130
144
|
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG1hdGNoTWV0YXN0YXRlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbWV0YXByb29mXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb25cIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFwcm9vZlN0ZXAge1xuICBjb25zdHJ1Y3RvcihydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMucnVsZVN1YnByb29mTm9kZSA9IHJ1bGVTdWJwcm9vZk5vZGU7XG4gICAgdGhpcy5tZXRhU3VicHJvb2ZOb2RlID0gbWV0YVN1YnByb29mTm9kZTtcbiAgICB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRSdWxlU3VicHJvb2ZOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnJ1bGVTdWJwcm9vZk5vZGU7XG4gIH1cblxuICBnZXRNZXRhU3VicHJvb2ZOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFTdWJwcm9vZk5vZGU7XG4gIH1cblxuICBnZXRNZXRhc3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLm1hdGNoUnVsZVN1YnByb29mQXNzZXJ0aW9uKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUpO1xuXG4gICAgICAgIG1hdGNoZXMgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IHRoaXMubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWF0Y2hlcyA9IG1ldGFzdGF0ZW1lbnRNYXRjaGVzOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMubWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoUnVsZVN1YnByb29mQXNzZXJ0aW9uKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMucnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzID0gbWV0YXN0YXRlbWVudE5vZGVzUXVlcnkocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICBmaXJzdFJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gZmlyc3QocnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSh0aGlzLnJ1bGVTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgZmlyc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gZmlyc3QocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMpO1xuXG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUEgPSBmaXJzdFJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZUIgPSBmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICAgICAgY29uc3Qgc2Vjb25kUnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUgPSBzZWNvbmQocnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgICAgICAgc2Vjb25kUXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSA9IHNlY29uZChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlcyk7XG5cbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gc2Vjb25kUnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZUIgPSBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50TWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSkge1xuICAgIGNvbnN0IG1ldGFTdWJwcm9vZk5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IE1ldGFwcm9vZlN0ZXAocnVsZVN1YnByb29mTm9kZSwgbWV0YVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFTdWJwcm9vZk5vZGUobWV0YVN1YnByb29mTm9kZSkge1xuICAgIGNvbnN0IHJ1bGVTdWJwcm9vZk5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IE1ldGFwcm9vZlN0ZXAocnVsZVN1YnByb29mTm9kZSwgbWV0YVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG5cbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhU3VicHJvb2ZOb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IE1ldGFwcm9vZlN0ZXAocnVsZVN1YnByb29mTm9kZSwgbWV0YVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXRhcHJvb2ZTdGVwIiwibWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRSdWxlU3VicHJvb2ZOb2RlIiwiZ2V0TWV0YVN1YnByb29mTm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2giLCJtYXRjaGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXMiLCJtYXRjaFJ1bGVTdWJwcm9vZkFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnRNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YXN0YXRlbWVudE5vZGVCIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzIiwiZmlyc3RSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsImZpcnN0IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMiLCJmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUiLCJzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsInNlY29uZCIsInNlY29uZFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tUnVsZVN1YnByb29mTm9kZSIsIm1ldGFQcm9vZlN0ZXAiLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6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
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG1hdGNoTWV0YXN0YXRlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbWV0YXByb29mXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb25cIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFwcm9vZlN0ZXAge1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gICAgdGhpcy5ydWxlU3VicHJvb2ZOb2RlID0gcnVsZVN1YnByb29mTm9kZTtcbiAgICB0aGlzLm1ldGFTdWJwcm9vZk5vZGUgPSBtZXRhU3VicHJvb2ZOb2RlO1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFJ1bGVTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZVN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldE1ldGFTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YVN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2gobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24ocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICAgICAgbWF0Y2hlcyA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXM7ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIW1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gdGhpcy5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtYXRjaGVzID0gbWV0YXN0YXRlbWVudE1hdGNoZXM7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVCID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IG1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24ocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSkge1xuICAgIGxldCBydWxlU3VicHJvb2ZBc3NlcnRpb25NYXRjaGVzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5ydWxlU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMgPSBtZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIGZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUgPSBmaXJzdChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMgPSBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHRoaXMucnVsZVN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUgPSBmaXJzdChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlcyk7XG5cbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQSA9IGZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IGZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IG1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIGlmIChtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgICAgICBjb25zdCBzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSA9IHNlY29uZChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICAgICAgICBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gc2Vjb25kKHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzKTtcblxuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUEgPSBzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IHNlY29uZFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IG1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlcyA9IG1ldGFzdGF0ZW1lbnRNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YVN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChzdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YVN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChzdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgcnVsZVN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChzdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcblxuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIHJ1bGVTdWJwcm9vZk5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFTdWJwcm9vZk5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChzdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZOb2RlLCBtZXRhU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk1ldGFwcm9vZlN0ZXAiLCJtZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwiZ2V0UnVsZVN1YnByb29mTm9kZSIsImdldE1ldGFTdWJwcm9vZk5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoIiwibWF0Y2hlcyIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25NYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlQSIsIm1ldGFzdGF0ZW1lbnROb2RlQiIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyIsImZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJmaXJzdCIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzIiwiZmlyc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlIiwic2Vjb25kUnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJzZWNvbmQiLCJzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJtZXRhUHJvb2ZTdGVwIiwiZnJvbVJ1bGVTdWJwcm9vZk5vZGUiLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7cUJBUlM7eUJBQ0s7cUJBQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQyxxQ0FDckNDLGlDQUFpQ0MsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDM0NDLDZEQUE2REgsSUFBQUEsaUJBQVUsRUFBQztBQUUvRCxJQUFBLEFBQU1GLDhCQUFELEFBQUw7YUFBTUEsY0FDUE0sYUFBYSxFQUFFQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGlCQUFpQjtnQ0FEN0RUO1FBRWpCLElBQUksQ0FBQ00sYUFBYSxH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
|
package/lib/utilities/array.js
CHANGED
|
@@ -12,6 +12,9 @@ _export(exports, {
|
|
|
12
12
|
compress: function() {
|
|
13
13
|
return compress;
|
|
14
14
|
},
|
|
15
|
+
extract: function() {
|
|
16
|
+
return extract;
|
|
17
|
+
},
|
|
15
18
|
filter: function() {
|
|
16
19
|
return filter;
|
|
17
20
|
},
|
|
@@ -54,7 +57,7 @@ function _interop_require_default(obj) {
|
|
|
54
57
|
default: obj
|
|
55
58
|
};
|
|
56
59
|
}
|
|
57
|
-
var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, last = _necessary.arrayUtilities.last, push = _necessary.arrayUtilities.push, prune = _necessary.arrayUtilities.prune, match = _necessary.arrayUtilities.match, filter = _necessary.arrayUtilities.filter, compress = _necessary.arrayUtilities.compress, separate = _necessary.arrayUtilities.separate;
|
|
60
|
+
var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second, last = _necessary.arrayUtilities.last, push = _necessary.arrayUtilities.push, prune = _necessary.arrayUtilities.prune, extract = _necessary.arrayUtilities.extract, match = _necessary.arrayUtilities.match, filter = _necessary.arrayUtilities.filter, compress = _necessary.arrayUtilities.compress, separate = _necessary.arrayUtilities.separate;
|
|
58
61
|
function someSubArray(array, subArrayLength, callback) {
|
|
59
62
|
var found = false;
|
|
60
63
|
var arrayLength = array.length, indexesLength = arrayLength, permutationLength = subArrayLength; ///
|
|
@@ -102,4 +105,4 @@ function rightDifference(arrayA, arrayB) {
|
|
|
102
105
|
});
|
|
103
106
|
}
|
|
104
107
|
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBleHRyYWN0LCBtYXRjaCwgZmlsdGVyLCBjb21wcmVzcywgc2VwYXJhdGUgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc29tZVN1YkFycmF5KGFycmF5LCBzdWJBcnJheUxlbmd0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ZXNMZW5ndGggPSBhcnJheUxlbmd0aCwgLy8vXG4gICAgICAgIHBlcm11dGF0aW9uTGVuZ3RoID0gc3ViQXJyYXlMZW5ndGg7IC8vL1xuXG4gIGlmIChwZXJtdXRhdGlvbkxlbmd0aCA8PSBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCkge1xuICAgIGxldCBvZmZzZXQsXG4gICAgICAgIHBlcm11dGF0aW9ucztcblxuICAgIGlmIChpbmRleGVzTGVuZ3RoID4gTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCkge1xuICAgICAgb2Zmc2V0ID0gaW5kZXhlc0xlbmd0aCAtIE1BWElNVU1fSU5ERVhFU19MRU5HVEg7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtNQVhJTVVNX0lOREVYRVNfTEVOR1RIXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9mZnNldCA9IDA7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtpbmRleGVzTGVuZ3RoXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfVxuXG4gICAgaWYgKHBlcm11dGF0aW9ucyAhPT0gbnVsbCkge1xuICAgICAgZm91bmQgPSBwZXJtdXRhdGlvbnMuc29tZSgocGVybXV0YXRpb24pID0+IHtcbiAgICAgICAgaWYgKHBlcm11dGF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXJyYXkgPSBbXTtcblxuICAgICAgICAgIGZvciAobGV0IHBvc2l0aW9uID0gMDsgcG9zaXRpb24gPCBwZXJtdXRhdGlvbkxlbmd0aDsgcG9zaXRpb24rKykge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwZXJtdXRhdGlvbltwb3NpdGlvbl0gKyBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgICAgICAgICBzdWJBcnJheS5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHBhc3NlZCA9IGNhbGxiYWNrKHN1YkFycmF5KTtcblxuICAgICAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGVmdERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QSwgKGVsZW1lbnRBKSA9PiB7XG4gICAgY29uc3QgYXJyYXlCSW5jbHVkZXNFbGVtZW50QSA9IGFycmF5Qi5pbmNsdWRlcyhlbGVtZW50QSk7XG5cbiAgICBpZiAoIWFycmF5QkluY2x1ZGVzRWxlbWVudEEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByaWdodERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QiwgKGVsZW1lbnRCKSA9PiB7XG4gICAgY29uc3QgYXJyYXlBSW5jbHVkZXNFbGVtZW50QiA9IGFycmF5QS5pbmNsdWRlcyhlbGVtZW50Qik7XG5cbiAgICBpZiAoIWFycmF5QUluY2x1ZGVzRWxlbWVudEIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY29tcHJlc3MiLCJleHRyYWN0IiwiZmlsdGVyIiwiZmlyc3QiLCJsYXN0IiwibGVmdERpZmZlcmVuY2UiLCJtYXRjaCIsInBydW5lIiwicHVzaCIsInJpZ2h0RGlmZmVyZW5jZSIsInNlY29uZCIsInNlcGFyYXRlIiwic29tZVN1YkFycmF5IiwiYXJyYXlVdGlsaXRpZXMiLCJhcnJheSIsInN1YkFycmF5TGVuZ3RoIiwiY2FsbGJhY2siLCJmb3VuZCIsImFycmF5TGVuZ3RoIiwibGVuZ3RoIiwiaW5kZXhlc0xlbmd0aCIsInBlcm11dGF0aW9uTGVuZ3RoIiwiTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEgiLCJvZmZzZXQiLCJwZXJtdXRhdGlvbnMiLCJNQVhJTVVNX0lOREVYRVNfTEVOR1RIIiwicGVybXV0YXRpb25zTWF0cml4Iiwic29tZSIsInBlcm11dGF0aW9uIiwic3ViQXJyYXkiLCJwb3NpdGlvbiIsImluZGV4IiwiZWxlbWVudCIsInBhc3NlZCIsImFycmF5QSIsImFycmF5QiIsImVsZW1lbnRBIiwiYXJyYXlCSW5jbHVkZXNFbGVtZW50QSIsImluY2x1ZGVzIiwiZWxlbWVudEIiLCJhcnJheUFJbmNsdWRlc0VsZW1lbnRCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFReUVBLFFBQVE7ZUFBUkE7O0lBQXhCQyxPQUFPO2VBQVBBOztJQUFnQkMsTUFBTTtlQUFOQTs7SUFBbERDLEtBQUs7ZUFBTEE7O0lBQWVDLElBQUk7ZUFBSkE7O0lBZ0RkQyxjQUFjO2VBQWRBOztJQWhEMENDLEtBQUs7ZUFBTEE7O0lBQWhCQyxLQUFLO2VBQUxBOztJQUFOQyxJQUFJO2VBQUpBOztJQTBEcEJDLGVBQWU7ZUFBZkE7O0lBMURNQyxNQUFNO2VBQU5BOztJQUE2REMsUUFBUTtlQUFSQTs7SUFFbkVDLFlBQVk7ZUFBWkE7Ozt5QkFSZTt5RUFFQTt5QkFFb0M7Ozs7OztBQUU1RCxJQUFRVCxRQUFpRlUseUJBQWMsQ0FBL0ZWLE9BQU9PLFNBQTBFRyx5QkFBYyxDQUF4RkgsUUFBUU4sT0FBa0VTLHlCQUFjLENBQWhGVCxNQUFNSSxPQUE0REsseUJBQWMsQ0FBMUVMLE1BQU1ELFFBQXNETSx5QkFBYyxDQUFwRU4sT0FBT04sVUFBK0NZLHlCQUFjLENBQTdEWixTQUFTSyxRQUFzQ08seUJBQWMsQ0FBcERQLE9BQU9KLFNBQStCVyx5QkFBYyxDQUE3Q1gsUUFBUUYsV0FBdUJhLHlCQUFjLENBQXJDYixVQUFVVyxXQUFhRSx5QkFBYyxDQUEzQkY7QUFFNUUsU0FBU0MsYUFBYUUsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLFFBQVE7SUFDMUQsSUFBSUMsUUFBUTtJQUVaLElBQU1DLGNBQWNKLE1BQU1LLE1BQU0sRUFDMUJDLGdCQUFnQkYsYUFDaEJHLG9CQUFvQk4sZ0JBQWdCLEdBQUc7SUFFN0MsSUFBSU0scUJBQXFCQyxxQ0FBMEIsRUFBRTtRQUNuRCxJQUFJQyxRQUNBQztRQUVKLElBQUlKLGdCQUFnQkssaUNBQXNCLEVBQUU7WUFDMUNGLFNBQVNILGdCQUFnQkssaUNBQXNCO1lBRS9DRCxlQUFlRSwyQkFBa0IsQ0FBQ0QsaUNBQXNCLENBQUMsQ0FBQ0osa0JBQWtCO1FBQzlFLE9BQU87WUFDTEUsU0FBUztZQUVUQyxlQUFlRSwyQkFBa0IsQ0FBQ04sY0FBYyxDQUFDQyxrQkFBa0I7UUFDckU7UUFFQSxJQUFJRyxpQkFBaUIsTUFBTTtZQUN6QlAsUUFBUU8sYUFBYUcsSUFBSSxDQUFDLFNBQUNDO2dCQUN6QixJQUFJQSxnQkFBZ0IsTUFBTTtvQkFDeEIsSUFBTUMsV0FBVyxFQUFFO29CQUVuQixJQUFLLElBQUlDLFdBQVcsR0FBR0EsV0FBV1QsbUJBQW1CUyxXQUFZO3dCQUMvRCxJQUFNQyxRQUFRSCxXQUFXLENBQUNFLFNBQVMsR0FBR1AsUUFDaENTLFVBQVVsQixLQUFLLENBQUNpQixNQUFNO3dCQUU1QkYsU0FBU3JCLElBQUksQ0FBQ3dCO29CQUNoQjtvQkFFQSxJQUFNQyxTQUFTakIsU0FBU2E7b0JBRXhCLElBQUlJLFFBQVE7d0JBQ1YsT0FBTztvQkFDVDtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9oQjtBQUNUO0FBRU8sU0FBU1osZUFBZTZCLE1BQU0sRUFBRUMsTUFBTTtJQUMzQ2pDLE9BQU9nQyxRQUFRLFNBQUNFO1FBQ2QsSUFBTUMseUJBQXlCRixPQUFPRyxRQUFRLENBQUNGO1FBRS9DLElBQUksQ0FBQ0Msd0JBQXdCO1lBQzNCLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFTyxTQUFTNUIsZ0JBQWdCeUIsTUFBTSxFQUFFQyxNQUFNO0lBQzVDakMsT0FBT2lDLFFBQVEsU0FBQ0k7UUFDZCxJQUFNQyx5QkFBeUJOLE9BQU9JLFFBQVEsQ0FBQ0M7UUFFL0MsSUFBSSxDQUFDQyx3QkFBd0I7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7QUFDRiJ9
|
|
@@ -30,7 +30,7 @@ function verifyMetaProofStep(metaProofStepNode, substitutions, localMetaContext)
|
|
|
30
30
|
///
|
|
31
31
|
} else if (metaSubproofNode !== null) {
|
|
32
32
|
var metaSubproofVerified;
|
|
33
|
-
metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, localMetaContext);
|
|
33
|
+
metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, substitutions, localMetaContext);
|
|
34
34
|
if (metaSubproofVerified) {
|
|
35
35
|
var metaproofStep = _metaproof.default.fromMetaSubproofNode(metaSubproofNode);
|
|
36
36
|
localMetaContext.addMetaproofStep(metaproofStep);
|
|
@@ -73,4 +73,4 @@ Object.assign(_metaSubDerivation.default, {
|
|
|
73
73
|
verifyMetaProofStep: verifyMetaProofStep
|
|
74
74
|
});
|
|
75
75
|
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgbWV0YVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFQcm9vZlN0ZXB8bGFzdE1ldGFQcm9vZlN0ZXAvbWV0YVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVByb29mU3RlcHxsYXN0TWV0YVByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVByb29mU3RlcHxsYXN0TWV0YVByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFQcm9vZlN0ZXB8bGFzdE1ldGFQcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVByb29mU3RlcHxsYXN0TWV0YVByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhUHJvb2ZTdGVwKG1ldGFQcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhUHJvb2ZTdGVwVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhU3VicHJvb2ZOb2RlID0gbWV0YVN1YnByb29mTm9kZVF1ZXJ5KG1ldGFQcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFQcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFQcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhUHJvb2ZTdGVwTm9kZSk7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAobWV0YVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZDtcblxuICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgZGVidWdnZXJcbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBkZWJ1Z2dlclxuICB9IGVsc2UgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW107XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhUHJvb2ZTdGVwVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgbWV0YVByb29mU3RlcFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVByb29mU3RlcFZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKHZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uLCB7XG4gIHZlcmlmeU1ldGFQcm9vZlN0ZXBcbn0pO1xuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFQcm9vZlN0ZXAiLCJtZXRhU3VicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YVByb29mU3RlcE5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFQcm9vZlN0ZXBWZXJpZmllZCIsIm1ldGFTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21NZXRhU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImFzc2lnbm1lbnRzIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsImFzc2lnbm1lbnRBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OztnRUFsQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7a0VBQ0U7aUVBQ0U7bUVBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0MseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0UsOEJBQThCRixJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0csZ0NBQWdDSCxJQUFBQSxnQkFBUyxFQUFDLDJEQUMxQ0ksa0NBQWtDSixJQUFBQSxnQkFBUyxFQUFDLDZEQUM1Q0ssb0NBQW9DTCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLG9CQUFvQlEsaUJBQWlCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQzVGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxtQkFBbUJYLHNCQUFzQk8sb0JBQ3pDSyx5QkFBeUJULDRCQUE0Qkksb0JBQ3JETSwyQkFBMkJULDhCQUE4Qkcsb0JBQ3pETyw2QkFBNkJULGdDQUFnQ0Usb0JBQzdEUSwrQkFBK0JULGtDQUFrQ0M7SUFFdkUsSUFBSSxPQUFPO0lBQ1QsR0FBRztJQUNMLE9BQU8sSUFBSUkscUJBQXFCLE1BQU07UUFDcEMsSUFBSUs7UUFFSkEsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ04sa0JBQWtCSCxlQUFlQztRQUUzRSxJQUFJTyxzQkFBc0I7WUFDeEIsSUFBTUUsZ0JBQWdCQyxrQkFBYSxDQUFDQyxvQkFBb0IsQ0FBQ1Q7WUFFekRGLGlCQUFpQlksZ0JBQWdCLENBQUNIO1lBRWxDUix3QkFBd0I7UUFDMUI7SUFDRixPQUFPLElBQUlFLDJCQUEyQixNQUFNO1FBQzFDLFFBQVE7SUFDVixPQUFPLElBQUlDLDZCQUE2QixNQUFNO1FBQzVDLFFBQVE7SUFDVixPQUFPLElBQUlDLCtCQUErQixNQUFNO1FBQzlDLElBQUlRO1FBRUosSUFBTUMsY0FBYyxFQUFFO1FBRXRCRCxpQ0FBaUNFLElBQUFBLG1CQUE0QixFQUFDViw0QkFBNEJOLGVBQWVlLGFBQWFkO1FBRXRILElBQUlhLGdDQUFnQztZQUNsQyxJQUFNRyxxQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSCxhQUFhZDtZQUV6RGEsaUNBQWlDRyxvQkFBb0IsR0FBRztRQUMxRDtRQUVBLElBQUlILGdDQUFnQztZQUNsQyxJQUFNSyxvQkFBb0J6Qix1QkFBdUJZLDZCQUMzQ0ksaUJBQWdCQyxrQkFBYSxDQUFDUyxxQkFBcUIsQ0FBQ0Q7WUFFMURsQixpQkFBaUJZLGdCQUFnQixDQUFDSDtZQUVsQ1Isd0JBQXdCWSxnQ0FBZ0MsR0FBRztRQUM3RDtJQUNGLE9BQU8sSUFBSVAsaUNBQWlDLE1BQU07UUFDaEQsSUFBSWM7UUFFSixJQUFNQyxVQUFVLE1BQ1ZQLGVBQWMsRUFBRTtRQUV0Qk0sbUNBQW1DRSxJQUFBQSxxQkFBOEIsRUFBQ2hCLDhCQUE4QlEsY0FBYU8sU0FBU3JCO1FBRXRILElBQUlvQixrQ0FBa0M7WUFDcEMsSUFBTUosc0JBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0gsY0FBYWQ7WUFFekRvQixtQ0FBbUNKLHFCQUFvQixHQUFHO1FBQzVEO1FBRUEsSUFBSUksa0NBQWtDO1lBQ3BDLElBQU1GLHFCQUFvQnpCLHVCQUF1QmEsK0JBQzNDRyxpQkFBZ0JDLGtCQUFhLENBQUNTLHFCQUFxQixDQUFDRDtZQUUxRGxCLGlCQUFpQlksZ0JBQWdCLENBQUNIO1lBRWxDUix3QkFBd0I7UUFDMUI7SUFDRjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQXNCLE9BQU9DLE1BQU0sQ0FBQ0MsMEJBQXVCLEVBQUU7SUFDckNuQyxxQkFBQUE7QUFDRiJ9
|
|
@@ -10,11 +10,11 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _query = require("../utilities/query");
|
|
12
12
|
var metaProofStepNodesQuery = (0, _query.nodesQuery)("/metaSubDerivation/metaProofStep|lastMetaProofStep");
|
|
13
|
-
function verifyMetaSubDerivation(metaSubDerivationNode, localMetaContext) {
|
|
13
|
+
function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext) {
|
|
14
14
|
var metaSubDerivationVerified;
|
|
15
15
|
var metaProofStepNodes = metaProofStepNodesQuery(metaSubDerivationNode);
|
|
16
16
|
metaSubDerivationVerified = metaProofStepNodes.every(function(metaProofStepNode) {
|
|
17
|
-
var verifyMetaProofStep = verifyMetaSubDerivation.verifyMetaProofStep, metaProofStepVerified = verifyMetaProofStep(metaProofStepNode, localMetaContext);
|
|
17
|
+
var verifyMetaProofStep = verifyMetaSubDerivation.verifyMetaProofStep, metaProofStepVerified = verifyMetaProofStep(metaProofStepNode, substitutions, localMetaContext);
|
|
18
18
|
if (metaProofStepVerified) {
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
@@ -22,4 +22,4 @@ function verifyMetaSubDerivation(metaSubDerivationNode, localMetaContext) {
|
|
|
22
22
|
return metaSubDerivationVerified;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1YkRlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFQcm9vZlN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3ViRGVyaXZhdGlvbi9tZXRhUHJvb2ZTdGVwfGxhc3RNZXRhUHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbihtZXRhU3ViRGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YVByb29mU3RlcE5vZGVzID0gbWV0YVByb29mU3RlcE5vZGVzUXVlcnkobWV0YVN1YkRlcml2YXRpb25Ob2RlKTtcblxuICBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkID0gbWV0YVByb29mU3RlcE5vZGVzLmV2ZXJ5KChtZXRhUHJvb2ZTdGVwTm9kZSkgPT4ge1xuICAgIGNvbnN0IHsgdmVyaWZ5TWV0YVByb29mU3RlcCB9ID0gdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24sXG4gICAgICAgICAgbWV0YVByb29mU3RlcFZlcmlmaWVkID0gdmVyaWZ5TWV0YVByb29mU3RlcChtZXRhUHJvb2ZTdGVwTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVByb29mU3RlcFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIiwibWV0YVByb29mU3RlcE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YVN1YkRlcml2YXRpb25Ob2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwibWV0YVByb29mU3RlcE5vZGVzIiwiZXZlcnkiLCJtZXRhUHJvb2ZTdGVwTm9kZSIsInZlcmlmeU1ldGFQcm9vZlN0ZXAiLCJtZXRhUHJvb2ZTdGVwVmVyaWZpZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7cUJBSkc7QUFFM0IsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDO0FBRTVCLFNBQVNGLHdCQUF3QkcscUJBQXFCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQ3BHLElBQUlDO0lBRUosSUFBTUMscUJBQXFCTix3QkFBd0JFO0lBRW5ERyw0QkFBNEJDLG1CQUFtQkMsS0FBSyxDQUFDLFNBQUNDO1FBQ3BELElBQU0sQUFBRUMsc0JBQXdCVix3QkFBeEJVLHFCQUNGQyx3QkFBd0JELG9CQUFvQkQsbUJBQW1CTCxlQUFlQztRQUVwRixJQUFJTSx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUIn0=
|
|
@@ -18,12 +18,12 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
var suppositionNodesQuery = (0, _query.nodesQuery)("/metaSubproof/supposition"), metaSubDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaSubDerivation");
|
|
21
|
-
function verifyMetaSubproof(metaSubproofNode, localMetaContext) {
|
|
21
|
+
function verifyMetaSubproof(metaSubproofNode, substitutions, localMetaContext) {
|
|
22
22
|
var metaSubproofVerified = false;
|
|
23
23
|
localMetaContext = _localMeta.default.fromLocalMetaContext(localMetaContext); ///
|
|
24
24
|
var metaSuppositions = [], suppositionNodes = suppositionNodesQuery(metaSubproofNode), metaSuppositionsVerified = (0, _metaSuppositions.default)(suppositionNodes, metaSuppositions, localMetaContext);
|
|
25
25
|
if (metaSuppositionsVerified) {
|
|
26
|
-
var metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode), metaSubDerivationVerified = (0, _metaSubDerivation.default)(metaSubDerivationNode, localMetaContext);
|
|
26
|
+
var metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode), metaSubDerivationVerified = (0, _metaSubDerivation.default)(metaSubDerivationNode, substitutions, localMetaContext);
|
|
27
27
|
if (metaSubDerivationVerified) {
|
|
28
28
|
metaSubproofVerified = true;
|
|
29
29
|
}
|
|
@@ -31,4 +31,4 @@ function verifyMetaSubproof(metaSubproofNode, localMetaContext) {
|
|
|
31
31
|
return metaSubproofVerified;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1YnByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxNZXRhQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbE1ldGFcIjtcbmltcG9ydCB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1cHBvc2l0aW9uc1wiO1xuaW1wb3J0IHZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YkRlcml2YXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFTdWJwcm9vZi9zdXBwb3NpdGlvblwiKSxcbiAgICAgIG1ldGFTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFTdWJwcm9vZi9tZXRhU3ViRGVyaXZhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbG9jYWxNZXRhQ29udGV4dCA9IExvY2FsTWV0YUNvbnRleHQuZnJvbUxvY2FsTWV0YUNvbnRleHQobG9jYWxNZXRhQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IG1ldGFTdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBtZXRhU3VwcG9zaXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YVN1YkRlcml2YXRpb25Ob2RlID0gbWV0YVN1YkRlcml2YXRpb25Ob2RlUXVlcnkobWV0YVN1YnByb29mTm9kZSksXG4gICAgICAgICAgbWV0YVN1YkRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uKG1ldGFTdWJEZXJpdmF0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVN1YkRlcml2YXRpb25WZXJpZmllZCkge1xuICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhU3VicHJvb2ZWZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFTdWJwcm9vZiIsInN1cHBvc2l0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFTdWJwcm9vZk5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxNZXRhQ29udGV4dCIsImZyb21Mb2NhbE1ldGFDb250ZXh0IiwibWV0YVN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1YkRlcml2YXRpb25Ob2RlIiwibWV0YVN1YkRlcml2YXRpb25WZXJpZmllZCIsInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2dFQVRLO3VFQUNNO3dFQUNDO3FCQUVFOzs7Ozs7QUFFdEMsSUFBTUMsd0JBQXdCQyxJQUFBQSxpQkFBVSxFQUFDLDhCQUNuQ0MsNkJBQTZCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTlCLFNBQVNKLG1CQUFtQkssZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQzFGLElBQUlDLHVCQUF1QjtJQUUzQkQsbUJBQW1CRSxrQkFBZ0IsQ0FBQ0Msb0JBQW9CLENBQUNILG1CQUFtQixHQUFHO0lBRS9FLElBQU1JLG1CQUFtQixFQUFFLEVBQ3JCQyxtQkFBbUJYLHNCQUFzQkksbUJBQ3pDUSwyQkFBMkJDLElBQUFBLHlCQUFzQixFQUFDRixrQkFBa0JELGtCQUFrQko7SUFFNUYsSUFBSU0sMEJBQTBCO1FBQzVCLElBQU1FLHdCQUF3QlosMkJBQTJCRSxtQkFDbkRXLDRCQUE0QkMsSUFBQUEsMEJBQXVCLEVBQUNGLHVCQUF1QlQsZUFBZUM7UUFFaEcsSUFBSVMsMkJBQTJCO1lBQzdCUix1QkFBdUI7UUFDekI7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyQualifiedMetastatement;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _metastatement = /*#__PURE__*/ _interop_require_default(require("../../verify/metastatement"));
|
|
12
11
|
var _metavariableAgainstMetastatement = /*#__PURE__*/ _interop_require_default(require("../../verify/metavariableAgainstMetastatement"));
|
|
13
12
|
var _query = require("../../utilities/query");
|
|
14
13
|
function _interop_require_default(obj) {
|
|
@@ -21,21 +20,22 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions,
|
|
|
21
20
|
var qualifiedMetastatementVerified;
|
|
22
21
|
var qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
|
|
23
22
|
localMetaContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement..."), qualifiedMetastatementNode);
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
var metavariableNode = metavariableNodeQuery(qualifiedMetastatementNode), verifyQualifiedMetastatementFunctions = [
|
|
24
|
+
verifyQualifiedMetastatementAAgainstRule,
|
|
25
|
+
verifyQualifiedMetastatementAAgainstReference
|
|
26
|
+
];
|
|
27
|
+
qualifiedMetastatementVerified = verifyQualifiedMetastatementFunctions.some(function(verifyQualifiedMetastatementFunction) {
|
|
28
|
+
var qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext);
|
|
29
|
+
if (qualifiedMetastatementVerified) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
27
32
|
});
|
|
28
|
-
if (
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
];
|
|
33
|
-
qualifiedMetastatementVerified = verifyQualifiedMetastatementFunctions.some(function(verifyQualifiedMetastatementFunction) {
|
|
34
|
-
var qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext);
|
|
35
|
-
if (qualifiedMetastatementVerified) {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
33
|
+
if (qualifiedMetastatementVerified) {
|
|
34
|
+
var derived = false, metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, function() {
|
|
35
|
+
var verifiedAhead = true;
|
|
36
|
+
return verifiedAhead;
|
|
38
37
|
});
|
|
38
|
+
qualifiedMetastatementVerified = metastatementVerified; ///
|
|
39
39
|
}
|
|
40
40
|
if (qualifiedMetastatementVerified) {
|
|
41
41
|
localMetaContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement."), qualifiedMetastatementNode);
|
|
@@ -74,5 +74,22 @@ function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNod
|
|
|
74
74
|
}
|
|
75
75
|
return qualifiedMetastatementVerifiedAgainstReference;
|
|
76
76
|
}
|
|
77
|
+
function verifyMetastatement(metastatementNode, assignments, derived, localMetaContext) {
|
|
78
|
+
var metastatementVerified;
|
|
79
|
+
var metastatementString = localMetaContext.nodeAsString(metastatementNode);
|
|
80
|
+
localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
|
|
81
|
+
var verifyMetaStatementFunctions = [];
|
|
82
|
+
verifyMetaStatementFunctions.some(function(verifyStatementFunction) {
|
|
83
|
+
var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localMetaContext);
|
|
84
|
+
if (metastatementVerified) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
metastatementVerified = true; ///
|
|
89
|
+
if (metastatementVerified) {
|
|
90
|
+
localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
|
|
91
|
+
}
|
|
92
|
+
return metastatementVerified;
|
|
93
|
+
}
|
|
77
94
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9yZWZlcmVuY2UhL21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgICAgICB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSdWxlLFxuICAgICAgICAgICAgdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UmVmZXJlbmNlXG4gICAgICAgICAgXTtcblxuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7ICAvLy9cbiAgICAgIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbihxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSdWxlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGUgPSBsb2NhbE1ldGFDb250ZXh0LmZpbmRSdWxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChydWxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcnVsZS4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudCA9IHJ1bGUubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlID0gcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50OyAgLy8vXG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJ1bGUpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcnVsZS5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2UocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSZWZlcmVuY2UgPSBmYWxzZTtcblxuICBpZiAoc3Vic3RpdHV0aW9ucyAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVByZXNlbnQgPSBsb2NhbE1ldGFDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLi4uYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSZWZlcmVuY2U7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJhc3NpZ25tZW50cyIsImxvY2FsTWV0YUNvbnRleHQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJkZXJpdmVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwidmVyaWZpZWRBaGVhZCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRBQWdhaW5zdFJlZmVyZW5jZSIsInNvbWUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlIiwicnVsZSIsImZpbmRSdWxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwicnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50IiwibWF0Y2hNZXRhc3RhdGVtZW50IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50IiwidmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7b0VBUlE7dUZBQ21CO3FCQUV6Qjs7Ozs7O0FBRTFCLElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyxxREFDbENDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsZ0JBQWdCO0lBQzNILElBQUlDO0lBRUosSUFBTUMsK0JBQStCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFbkVHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQThDLE9BQTdCRiw4QkFBNkIsaUNBQStCTDtJQUVyRyxJQUFNUSxVQUFVLE9BQ1ZDLG9CQUFvQlYsdUJBQXVCQyw2QkFDM0NVLHdCQUF3QkMsSUFBQUEsc0JBQW1CLEVBQUNGLG1CQUFtQlAsYUFBYU0sU0FBU0wsa0JBQWtCO1FBQ3JHLElBQU1TLGdCQUFnQjtRQUV0QixPQUFPQTtJQUNUO0lBRU4sSUFBSUYsdUJBQXVCO1FBQ3pCLElBQU1HLG1CQUFtQmhCLHNCQUFzQkcsNkJBQ3pDYyx3Q0FBd0M7WUFDdENDO1lBQ0FDO1NBQ0Q7UUFFUFosaUNBQWlDVSxzQ0FBc0NHLElBQUksQ0FBQyxTQUFDQztZQUMzRSxJQUFNZCxpQ0FBaUNjLHFDQUFxQ2xCLDRCQUE0QmEsa0JBQWtCWixlQUFlRTtZQUV6SSxJQUFJQyxnQ0FBZ0M7Z0JBQ2xDLE9BQU87WUFDVDtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxnQ0FBZ0M7UUFDbENELGlCQUFpQmdCLEtBQUssQ0FBQyxBQUFDLG9CQUFnRCxPQUE3QmQsOEJBQTZCLCtCQUE2Qkw7SUFDdkc7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU1cseUNBQXlDZiwwQkFBMEIsRUFBRWEsZ0JBQWdCLEVBQUVaLGFBQWEsRUFBRUUsZ0JBQWdCO0lBQzdILElBQUlpQiw0Q0FBNEM7SUFFaEQsSUFBTUMsT0FBT2xCLGlCQUFpQm1CLDBCQUEwQixDQUFDVDtJQUV6RCxJQUFJUSxTQUFTLE1BQU07UUFDakIsSUFBTVosb0JBQW9CVix1QkFBdUJDLDZCQUMzQ3VCLHFCQUFxQnBCLGlCQUFpQkcsWUFBWSxDQUFDTyxtQkFDbkRSLCtCQUErQkYsaUJBQWlCRyxZQUFZLENBQUNOO1FBRW5FRyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUF1RmdCLE9BQXRFbEIsOEJBQTZCLDJDQUE0RCxPQUFuQmtCLG9CQUFtQixjQUFZdkI7UUFFOUksSUFBTXdCLDJCQUEyQkgsS0FBS0ksa0JBQWtCLENBQUNoQixtQkFBbUJOO1FBRTVFaUIsNENBQTRDSSwwQkFBMkIsR0FBRztRQUUxRSxJQUFJSiwyQ0FBMkM7WUFDN0NqQixpQkFBaUJnQixLQUFLLENBQUMsQUFBQyxvQkFBeUZJLE9BQXRFbEIsOEJBQTZCLDJDQUE0RCxPQUFuQmtCLG9CQUFtQixZQUFVdkI7UUFDaEo7SUFDRjtJQUVBLE9BQU9vQjtBQUNUO0FBRUEsU0FBU0osOENBQThDaEIsMEJBQTBCLEVBQUVhLGdCQUFnQixFQUFFWixhQUFhLEVBQUVFLGdCQUFnQjtJQUNsSSxJQUFJdUIsaURBQWlEO0lBRXJELElBQUl6QixrQkFBa0IsTUFBTTtRQUMxQixJQUFNc0IscUJBQXFCcEIsaUJBQWlCRyxZQUFZLENBQUNPLG1CQUNuRGMsc0JBQXNCeEIsaUJBQWlCeUIsdUNBQXVDLENBQUNmLGtCQUFrQlYsbUJBQ2pHRSwrQkFBK0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUVuRUcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBdUZnQixPQUF0RWxCLDhCQUE2QiwyQ0FBNEQsT0FBbkJrQixvQkFBbUIsbUJBQWlCdkI7UUFFbkosSUFBSTJCLHFCQUFxQjtZQUN2QixJQUFNbEIsb0JBQW9CVix1QkFBdUJDLDZCQUMzQzZCLDJDQUEyQ0MsSUFBQUEseUNBQXNDLEVBQUNqQixrQkFBa0JKLG1CQUFtQlIsZUFBZTtnQkFDcEksSUFBTVcsZ0JBQWdCO2dCQUV0QixPQUFPQTtZQUNUO1lBRU5jLGlEQUFpREcsMENBQTBDLEdBQUc7UUFDaEc7UUFFQSxJQUFJSCxnREFBZ0Q7WUFDbER2QixpQkFBaUJnQixLQUFLLENBQUMsQUFBQyxvQkFBeUZJLE9BQXRFbEIsOEJBQTZCLDJDQUE0RCxPQUFuQmtCLG9CQUFtQixpQkFBZXZCO1FBQ3JKO0lBQ0Y7SUFFQSxPQUFPMEI7QUFDVCJ9
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L21ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgICAgdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSxcbiAgICAgICAgICB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2VcbiAgICAgICAgXTtcblxuICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbikgPT4geyAgLy8vXG4gICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJ1bGUgPSBmYWxzZTtcblxuICBjb25zdCBydWxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSBydWxlLm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UmVmZXJlbmNlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlID0gZmFsc2U7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbnMgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxNZXRhQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudCA9IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50KG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSZWZlcmVuY2UgPSBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50OyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgIC8vL1xuICBdO1xuXG4gIHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImFzc2lnbm1lbnRzIiwibG9jYWxNZXRhQ29udGV4dCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRBQWdhaW5zdFJlZmVyZW5jZSIsInNvbWUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb24iLCJkZXJpdmVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwidmVyaWZpZWRBaGVhZCIsImRlYnVnIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJ1bGUiLCJydWxlIiwiZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJ2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7dUZBUDJCO3FCQUV6Qjs7Ozs7O0FBRTFCLElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyxxREFDbENDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsZ0JBQWdCO0lBQzNILElBQUlDO0lBRUosSUFBTUMsK0JBQStCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFbkVHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQThDLE9BQTdCRiw4QkFBNkIsaUNBQStCTDtJQUVyRyxJQUFNUSxtQkFBbUJYLHNCQUFzQkcsNkJBQ3pDUyx3Q0FBd0M7UUFDdENDO1FBQ0FDO0tBQ0Q7SUFFUFAsaUNBQWlDSyxzQ0FBc0NHLElBQUksQ0FBQyxTQUFDQztRQUMzRSxJQUFNVCxpQ0FBaUNTLHFDQUFxQ2IsNEJBQTRCUSxr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
|