occam-verify-cli 0.0.508 → 0.0.510

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/lib/assertion/type.js +90 -0
  2. package/lib/combinator.js +7 -1
  3. package/lib/verify/assertion/type.js +19 -23
  4. package/lib/verify/conclusion.js +6 -5
  5. package/lib/verify/consequence.js +6 -5
  6. package/lib/verify/derivation.js +2 -2
  7. package/lib/verify/metastatement/qualified.js +19 -5
  8. package/lib/verify/metastatement/unqualified.js +16 -4
  9. package/lib/verify/metastatement.js +3 -3
  10. package/lib/verify/premise.js +6 -5
  11. package/lib/verify/ruleDerivation.js +2 -2
  12. package/lib/verify/statement/qualified.js +9 -8
  13. package/lib/verify/statement/unqualified.js +16 -4
  14. package/lib/verify/statement.js +106 -9
  15. package/lib/verify/supposition.js +11 -11
  16. package/package.json +3 -3
  17. package/src/assertion/type.js +46 -0
  18. package/src/combinator.js +4 -0
  19. package/src/verify/assertion/type.js +24 -25
  20. package/src/verify/conclusion.js +11 -5
  21. package/src/verify/consequence.js +10 -4
  22. package/src/verify/derivation.js +4 -2
  23. package/src/verify/metastatement/qualified.js +20 -6
  24. package/src/verify/metastatement/unqualified.js +13 -3
  25. package/src/verify/metastatement.js +2 -2
  26. package/src/verify/premise.js +10 -4
  27. package/src/verify/ruleDerivation.js +4 -2
  28. package/src/verify/statement/qualified.js +13 -11
  29. package/src/verify/statement/unqualified.js +13 -3
  30. package/src/verify/statement.js +175 -9
  31. package/src/verify/supposition.js +16 -12
  32. package/lib/verify/metaDerivation.js +0 -63
  33. package/lib/verify/metaproof.js +0 -32
  34. package/src/verify/metaDerivation.js +0 -75
  35. package/src/verify/metaproof.js +0 -35
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TypeAssertion;
9
+ }
10
+ });
11
+ var _variable = /*#__PURE__*/ _interopRequireDefault(require("../variable"));
12
+ function _classCallCheck(instance, Constructor) {
13
+ if (!(instance instanceof Constructor)) {
14
+ throw new TypeError("Cannot call a class as a function");
15
+ }
16
+ }
17
+ function _defineProperties(target, props) {
18
+ for(var i = 0; i < props.length; i++){
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+ function _createClass(Constructor, protoProps, staticProps) {
27
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
+ if (staticProps) _defineProperties(Constructor, staticProps);
29
+ return Constructor;
30
+ }
31
+ function _interopRequireDefault(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ var TypeAssertion = /*#__PURE__*/ function() {
37
+ function TypeAssertion(type, termNode, variableName) {
38
+ _classCallCheck(this, TypeAssertion);
39
+ this.type = type;
40
+ this.termNode = termNode;
41
+ this.variableName = variableName;
42
+ }
43
+ _createClass(TypeAssertion, [
44
+ {
45
+ key: "getType",
46
+ value: function getType() {
47
+ return this.type;
48
+ }
49
+ },
50
+ {
51
+ key: "getTermNode",
52
+ value: function getTermNode() {
53
+ return this.termNode;
54
+ }
55
+ },
56
+ {
57
+ key: "getVariableName",
58
+ value: function getVariableName() {
59
+ return this.variableName;
60
+ }
61
+ },
62
+ {
63
+ key: "assert",
64
+ value: function assert(proofContext) {
65
+ if (this.variableName !== null) {
66
+ var name = this.variableName, variable = _variable.default.fromTypeAndName(this.type, name);
67
+ proofContext.addVariable(variable);
68
+ }
69
+ }
70
+ }
71
+ ], [
72
+ {
73
+ key: "fromTypeAndTermNode",
74
+ value: function fromTypeAndTermNode(type, termNode) {
75
+ var variableName = null, typeAssertion = new TypeAssertion(type, termNode, variableName);
76
+ return typeAssertion;
77
+ }
78
+ },
79
+ {
80
+ key: "fromTypeAndVariableName",
81
+ value: function fromTypeAndVariableName(type, variableName) {
82
+ var termNode = null, typeAssertion = new TypeAssertion(type, termNode, variableName);
83
+ return typeAssertion;
84
+ }
85
+ }
86
+ ]);
87
+ return TypeAssertion;
88
+ }();
89
+
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuLi92YXJpYWJsZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IodHlwZSwgdGVybU5vZGUsIHZhcmlhYmxlTmFtZSkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50ZXJtTm9kZSA9IHRlcm1Ob2RlO1xuICAgIHRoaXMudmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOYW1lO1xuICB9XG5cbiAgYXNzZXJ0KHByb29mQ29udGV4dCkge1xuICAgIGlmICh0aGlzLnZhcmlhYmxlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudmFyaWFibGVOYW1lLCAgLy8vXG4gICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21UeXBlQW5kTmFtZSh0aGlzLnR5cGUsIG5hbWUpO1xuXG4gICAgICBwcm9vZkNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFuZFRlcm1Ob2RlKHR5cGUsIHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gbnVsbCxcbiAgICAgICAgICB0eXBlQXNzZXJ0aW9uID0gbmV3IFR5cGVBc3NlcnRpb24odHlwZSwgdGVybU5vZGUsIHZhcmlhYmxlTmFtZSk7XG5cbiAgICByZXR1cm4gdHlwZUFzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFuZFZhcmlhYmxlTmFtZSh0eXBlLCB2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IG51bGwsXG4gICAgICAgICAgdHlwZUFzc2VydGlvbiA9IG5ldyBUeXBlQXNzZXJ0aW9uKHR5cGUsIHRlcm1Ob2RlLCB2YXJpYWJsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVBc3NlcnRpb247XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiVHlwZUFzc2VydGlvbiIsInR5cGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTmFtZSIsImdldFR5cGUiLCJnZXRUZXJtTm9kZSIsImdldFZhcmlhYmxlTmFtZSIsImFzc2VydCIsInByb29mQ29udGV4dCIsIm5hbWUiLCJ2YXJpYWJsZSIsIlZhcmlhYmxlIiwiZnJvbVR5cGVBbmROYW1lIiwiYWRkVmFyaWFibGUiLCJmcm9tVHlwZUFuZFRlcm1Ob2RlIiwidHlwZUFzc2VydGlvbiIsImZyb21UeXBlQW5kVmFyaWFibGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7Ozs2REFGQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVOLElBQUEsQUFBTUEsOEJBQU47YUFBTUEsY0FDUEMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFlBQVk7OEJBRHJCSDtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBOztpQkFKSEg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjO2dCQUNaLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQjtnQkFDaEIsT0FBTyxJQUFJLENBQUNILFlBQVk7WUFDMUI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsWUFBWSxFQUFFO2dCQUNuQixJQUFJLElBQUksQ0FBQ0wsWUFBWSxLQUFLLElBQUksRUFBRTtvQkFDOUIsSUFBTU0sT0FBTyxJQUFJLENBQUNOLFlBQVksRUFDeEJPLFdBQVdDLGlCQUFRLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUNYLElBQUksRUFBRVE7b0JBRXJERCxhQUFhSyxXQUFXLENBQUNIO2dCQUMzQixDQUFDO1lBQ0g7Ozs7WUFFT0ksS0FBQUE7bUJBQVAsU0FBT0Esb0JBQW9CYixJQUFJLEVBQUVDLFFBQVEsRUFBRTtnQkFDekMsSUFBTUMsZUFBZSxJQUFJLEVBQ25CWSxnQkFBZ0IsSUE5QkxmLGNBOEJ1QkMsTUFBTUMsVUFBVUM7Z0JBRXhELE9BQU9ZO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSx3QkFBd0JmLElBQUksRUFBRUUsWUFBWSxFQUFFO2dCQUNqRCxJQUFNRCxXQUFXLElBQUksRUFDZmEsZ0JBQWdCLElBckNMZixjQXFDdUJDLE1BQU1DLFVBQVVDO2dCQUV4RCxPQUFPWTtZQUNUOzs7V0F4Q21CZiJ9
package/lib/combinator.js CHANGED
@@ -35,6 +35,12 @@ var Combinator = /*#__PURE__*/ function() {
35
35
  this.statementNode = statementNode;
36
36
  }
37
37
  _createClass(Combinator, [
38
+ {
39
+ key: "getStatementNode",
40
+ value: function getStatementNode() {
41
+ return this.statementNode;
42
+ }
43
+ },
38
44
  {
39
45
  key: "asString",
40
46
  value: function asString() {
@@ -73,4 +79,4 @@ var Combinator = /*#__PURE__*/ function() {
73
79
  return Combinator;
74
80
  }();
75
81
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT01CSU5BVE9SX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCBzdHJpbmc7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIHN0cmluZyA9IGAke3N0YXRlbWVudFN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBraW5kID0gQ09NQklOQVRPUl9LSU5ELFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdGF0ZW1lbnQgfSA9IGpzb24sXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImFzU3RyaW5nIiwic3RyaW5nIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidG9KU09OIiwia2luZCIsIkNPTUJJTkFUT1JfS0lORCIsInN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0Iiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJjb21iaW5hdG9yIiwiZnJvbVN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3NCQUpRO3FCQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdqQixJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLGFBQWE7OEJBRE5EO1FBRWpCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7aUJBRkpEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ0osYUFBYTtnQkFFdkRFLFNBQVMsQUFBQyxHQUFrQixPQUFoQkM7Z0JBRVosT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1GLGtCQUFrQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNKLGFBQWEsR0FDakRNLE9BQU9DLHNCQUFlLEVBQ3RCQyxZQUFZTCxpQkFDWk0sT0FBTztvQkFDTEgsTUFBQUE7b0JBQ0FFLFdBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsWUFBY0MsS0FBZEQsV0FDRkwsa0JBQWtCSyxXQUNsQlIsZ0JBQWdCWSxJQUFBQSx3Q0FBZ0MsRUFBQ1QsaUJBQWlCUSxpQkFDbEVFLGFBQWEsSUEvQkZkLFdBK0JpQkM7Z0JBRWxDLE9BQU9hO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JkLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWEsYUFBYSxJQXJDRmQsV0FxQ2lCQztnQkFFbEMsT0FBT2E7WUFDVDs7O1dBeENtQmQifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT01CSU5BVE9SX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCBzdHJpbmc7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIHN0cmluZyA9IGAke3N0YXRlbWVudFN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBraW5kID0gQ09NQklOQVRPUl9LSU5ELFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdGF0ZW1lbnQgfSA9IGpzb24sXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJhc1N0cmluZyIsInN0cmluZyIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRvSlNPTiIsImtpbmQiLCJDT01CSU5BVE9SX0tJTkQiLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwiY29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztzQkFKUTtxQkFDRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHakIsSUFBQSxBQUFNQSwyQkFBTjthQUFNQSxXQUNQQyxhQUFhOzhCQURORDtRQUVqQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2lCQUZKRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUI7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDRCxhQUFhO1lBQzNCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ0wsYUFBYTtnQkFFdkRHLFNBQVMsQUFBQyxHQUFrQixPQUFoQkM7Z0JBRVosT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1GLGtCQUFrQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNMLGFBQWEsR0FDakRPLE9BQU9DLHNCQUFlLEVBQ3RCQyxZQUFZTCxpQkFDWk0sT0FBTztvQkFDTEgsTUFBQUE7b0JBQ0FFLFdBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsWUFBY0MsS0FBZEQsV0FDRkwsa0JBQWtCSyxXQUNsQlQsZ0JBQWdCYSxJQUFBQSx3Q0FBZ0MsRUFBQ1QsaUJBQWlCUSxpQkFDbEVFLGFBQWEsSUFuQ0ZmLFdBbUNpQkM7Z0JBRWxDLE9BQU9jO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JmLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWMsYUFBYSxJQXpDRmYsV0F5Q2lCQztnQkFFbEMsT0FBT2M7WUFDVDs7O1dBNUNtQmYifQ==
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return verifyStatementTypeAssertion;
8
+ return verifyTypeAssertion;
9
9
  }
10
10
  });
11
- var _variable = /*#__PURE__*/ _interopRequireDefault(require("../../variable"));
11
+ var _type = /*#__PURE__*/ _interopRequireDefault(require("../../assertion/type"));
12
12
  var _array = require("../../utilities/array");
13
13
  var _string = require("../../utilities/string");
14
14
  var _query = require("../../utilities/query");
@@ -19,63 +19,59 @@ function _interopRequireDefault(obj) {
19
19
  };
20
20
  }
21
21
  var termNodeQuery = (0, _query.nodeQuery)("/typeAssertion/term"), typeNodeQuery = (0, _query.nodeQuery)("/typeAssertion/type");
22
- function verifyStatementTypeAssertion(typeAssertionNode, qualified, proofContext) {
22
+ function verifyTypeAssertion(typeAssertionNode, assertions, proofContext) {
23
23
  var typeAssertionVerified = false;
24
24
  proofContext.begin(typeAssertionNode);
25
- var statementString = (0, _string.nodeAsString)(typeAssertionNode);
26
- proofContext.debug("Verifying the '".concat(statementString, "' type assertion..."));
25
+ var typsAssertionString = (0, _string.nodeAsString)(typeAssertionNode);
26
+ proofContext.debug("Verifying the '".concat(typsAssertionString, "' type assertion..."));
27
27
  var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = proofContext.isTypePresentByTypeName(typeName);
28
28
  if (!typePresent) {
29
29
  proofContext.error("The ".concat(typeName, " type is not present."));
30
30
  } else {
31
31
  if (!typeAssertionVerified) {
32
- var variableTypeAssertionVerified = verifyVariableTypeAssertion(typeAssertionNode, qualified, proofContext);
32
+ var variableTypeAssertionVerified = verifyVariableTypeAssertion(typeAssertionNode, assertions, proofContext);
33
33
  typeAssertionVerified = variableTypeAssertionVerified; ///
34
34
  }
35
35
  if (!typeAssertionVerified) {
36
- var termTypeAssertionVerified = verifyTermTypeAssertion(typeAssertionNode, qualified, proofContext);
36
+ var termTypeAssertionVerified = verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext);
37
37
  typeAssertionVerified = termTypeAssertionVerified; ///
38
38
  }
39
39
  }
40
40
  if (typeAssertionVerified) {
41
- proofContext.info("Verified the '".concat(statementString, "' statement type assertion."));
41
+ proofContext.info("Verified the '".concat(typsAssertionString, "' statement type assertion."));
42
42
  }
43
43
  typeAssertionVerified ? proofContext.complete(typeAssertionNode) : proofContext.halt(typeAssertionNode);
44
44
  return typeAssertionVerified;
45
45
  }
46
- function verifyVariableTypeAssertion(typeAssertionNode, qualified, proofContext) {
46
+ function verifyVariableTypeAssertion(typeAssertionNode, assertions, proofContext) {
47
47
  var variableTypeAssertionVerified = false;
48
48
  var context = proofContext, variables = [], termNode = termNodeQuery(typeAssertionNode), termVerifiedAsVariable = (0, _term.verifyTermAsVariable)(termNode, variables, context);
49
49
  if (termVerifiedAsVariable) {
50
- var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), assertedTypeName = typeName, assertedType = proofContext.findTypeByTypeName(assertedTypeName), firstVariable = (0, _array.first)(variables), variable = firstVariable, variableName = variable.getName(), variableType = variable.getType();
51
- var assertedTypeEqualToOrSubTypeOfVariableType = variableType === null ? true : assertedType.isEqualToOrSubTypeOf(variableType);
50
+ var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), assertedTypeName = typeName, assertedType = proofContext.findTypeByTypeName(assertedTypeName), firstVariable = (0, _array.first)(variables), variable = firstVariable, variableName = variable.getName(), variableType = variable.getType(), assertedTypeEqualToOrSubTypeOfVariableType = variableType === null ? true : assertedType.isEqualToOrSubTypeOf(variableType);
52
51
  if (!assertedTypeEqualToOrSubTypeOfVariableType) {
53
52
  proofContext.error("The asserted type is not equal to or a sub-type of the '".concat(variableName, "' variable type."));
54
53
  } else {
55
- if (!qualified) {
56
- var type = assertedType, name = variableName, variable1 = _variable.default.fromTypeAndName(type, name);
57
- proofContext.addVariable(variable1);
58
- }
54
+ var type = assertedType, typeAssertion = _type.default.fromTypeAndVariableName(type, variableName), assertion = typeAssertion; ///
55
+ assertions.push(assertion);
59
56
  variableTypeAssertionVerified = true;
60
57
  }
61
58
  }
62
59
  return variableTypeAssertionVerified;
63
60
  }
64
- function verifyTermTypeAssertion(typeAssertionNode, qualified, proofContext) {
61
+ function verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext) {
65
62
  var termTypeAssertionVerified = false;
66
63
  var types = [], context = proofContext, termNode = termNodeQuery(typeAssertionNode), termVerifiedAgainstConstructors = (0, _term.verifyTermAgainstConstructors)(termNode, types, context);
67
64
  if (termVerifiedAgainstConstructors) {
68
- var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), assertedTypeName = typeName, assertedType = proofContext.findTypeByTypeName(assertedTypeName), firstType = (0, _array.first)(types), termType = firstType, termString = (0, _string.nodeAsString)(termNode), assertedTypeEqualToOrSubTypeOfTermType = termType === null ? true : assertedType.isEqualToOrSubTypeOf(termType);
69
- if (!assertedTypeEqualToOrSubTypeOfTermType) {
70
- proofContext.error("The asserted type is not equal to or a sub-type of the '".concat(termString, "' term type."));
65
+ var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), assertedTypeName = typeName, assertedType = proofContext.findTypeByTypeName(assertedTypeName), firstType = (0, _array.first)(types), termType = firstType, termString = (0, _string.nodeAsString)(termNode), assertedTypeEqualToTermType = termType === null ? true : assertedType.isEqualTo(termType);
66
+ if (!assertedTypeEqualToTermType) {
67
+ proofContext.error("The asserted type is not equal to the '".concat(termString, "' term type."));
71
68
  } else {
72
- if (!qualified) {
73
- debugger;
74
- }
69
+ var type = assertedType, typeAssertion = _type.default.fromTypeAndTermNode(type, termNode), assertion = typeAssertion; ///
70
+ assertions.push(assertion);
75
71
  termTypeAssertionVerified = true;
76
72
  }
77
73
  }
78
74
  return termTypeAssertionVerified;
79
75
  }
80
76
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlLCB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyB9IGZyb20gXCIuLi8uLi92ZXJpZnkvdGVybVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBxdWFsaWZpZWQsIHByb29mQ29udGV4dCkge1xuICBsZXQgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gIHByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IHByb29mQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlICR7dHlwZU5hbWV9IHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCF0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5VmFyaWFibGVUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBxdWFsaWZpZWQsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKCF0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgcXVhbGlmaWVkLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIHByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHR5cGUgYXNzZXJ0aW9uLmApO1xuICB9XG5cbiAgdHlwZUFzc2VydGlvblZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodHlwZUFzc2VydGlvbk5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICByZXR1cm4gdHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlWYXJpYWJsZVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIHF1YWxpZmllZCwgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRleHQgPSBwcm9vZkNvbnRleHQsIC8vL1xuICAgICAgICB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICBhc3NlcnRlZFR5cGVOYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBhc3NlcnRlZFR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGFzc2VydGVkVHlwZU5hbWUpLFxuICAgICAgICAgIGZpcnN0VmFyaWFibGUgPSBmaXJzdCh2YXJpYWJsZXMpLFxuICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdmFyaWFibGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhcmlhYmxlVHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKTtcblxuICAgIGNvbnN0IGFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSA9ICh2YXJpYWJsZVR5cGUgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0ZWRUeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHZhcmlhYmxlVHlwZSk7XG5cbiAgICBpZiAoIWFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuICAgICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgYXNzZXJ0ZWQgdHlwZSBpcyBub3QgZXF1YWwgdG8gb3IgYSBzdWItdHlwZSBvZiB0aGUgJyR7dmFyaWFibGVOYW1lfScgdmFyaWFibGUgdHlwZS5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFxdWFsaWZpZWQpIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IGFzc2VydGVkVHlwZSwgIC8vL1xuICAgICAgICAgICAgICBuYW1lID0gdmFyaWFibGVOYW1lLCAgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVR5cGVBbmROYW1lKHR5cGUsIG5hbWUpO1xuXG4gICAgICAgIHByb29mQ29udGV4dC5hZGRWYXJpYWJsZSh2YXJpYWJsZSk7XG4gICAgICB9XG5cbiAgICAgIHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVUeXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1UeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBxdWFsaWZpZWQsIHByb29mQ29udGV4dCkge1xuICBsZXQgdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgIGNvbnRleHQgPSBwcm9vZkNvbnRleHQsIC8vL1xuICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzID0gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnModGVybU5vZGUsIHR5cGVzLCBjb250ZXh0KTtcblxuICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgYXNzZXJ0ZWRUeXBlTmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgYXNzZXJ0ZWRUeXBlID0gcHJvb2ZDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShhc3NlcnRlZFR5cGVOYW1lKSxcbiAgICAgICAgICBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsXG4gICAgICAgICAgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0ZXJtTm9kZSksXG4gICAgICAgICAgYXNzZXJ0ZWRUeXBlRXF1YWxUb09yU3ViVHlwZU9mVGVybVR5cGUgPSAodGVybVR5cGUgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGVkVHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICBpZiAoIWFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSBhc3NlcnRlZCB0eXBlIGlzIG5vdCBlcXVhbCB0byBvciBhIHN1Yi10eXBlIG9mIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB0eXBlLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXF1YWxpZmllZCkge1xuICAgICAgICBkZWJ1Z2dlclxuICAgICAgfVxuXG4gICAgICB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YXRlbWVudFR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlIiwicXVhbGlmaWVkIiwicHJvb2ZDb250ZXh0IiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwiYmVnaW4iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInR5cGVOb2RlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJlcnJvciIsInZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVUeXBlQXNzZXJ0aW9uIiwidGVybVR5cGVBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVRlcm1UeXBlQXNzZXJ0aW9uIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCIsImNvbnRleHQiLCJ2YXJpYWJsZXMiLCJ0ZXJtTm9kZSIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQXNWYXJpYWJsZSIsImFzc2VydGVkVHlwZU5hbWUiLCJhc3NlcnRlZFR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJmaXJzdFZhcmlhYmxlIiwiZmlyc3QiLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsImdldE5hbWUiLCJ2YXJpYWJsZVR5cGUiLCJnZXRUeXBlIiwiYXNzZXJ0ZWRUeXBlRXF1YWxUb09yU3ViVHlwZU9mVmFyaWFibGVUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJ0eXBlIiwibmFtZSIsIlZhcmlhYmxlIiwiZnJvbVR5cGVBbmROYW1lIiwiYWRkVmFyaWFibGUiLCJ0eXBlcyIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsImZpcnN0VHlwZSIsInRlcm1UeXBlIiwidGVybVN0cmluZyIsImFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7OzZEQVZIO3FCQUVDO3NCQUNPO3FCQUNtQjtvQkFDb0I7Ozs7OztBQUVwRSxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0YsNkJBQTZCSSxpQkFBaUIsRUFBRUMsU0FBUyxFQUFFQyxZQUFZLEVBQUU7SUFDL0YsSUFBSUMsd0JBQXdCLEtBQUs7SUFFakNELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDTjtJQUVyQ0UsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0I7SUFFckQsSUFBTUcsV0FBV1QsY0FBY0Msb0JBQ3pCUyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0YsV0FDaENHLGNBQWNULGFBQWFVLHVCQUF1QixDQUFDSDtJQUV6RCxJQUFJLENBQUNFLGFBQWE7UUFDaEJULGFBQWFXLEtBQUssQ0FBQyxBQUFDLE9BQWUsT0FBVEosVUFBUztJQUNyQyxPQUFPO1FBQ0wsSUFBSSxDQUFDTix1QkFBdUI7WUFDMUIsSUFBTVcsZ0NBQWdDQyw0QkFBNEJmLG1CQUFtQkMsV0FBV0M7WUFFaEdDLHdCQUF3QlcsK0JBQWdDLEdBQUc7UUFDN0QsQ0FBQztR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
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUeXBlQXNzZXJ0aW9uIGZyb20gXCIuLi8uLi9hc3NlcnRpb24vdHlwZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5VGVybUFzVmFyaWFibGUsIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzIH0gZnJvbSBcIi4uLy4uL3ZlcmlmeS90ZXJtXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2VydGlvbnMsIHByb29mQ29udGV4dCkge1xuICBsZXQgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBzQXNzZXJ0aW9uU3RyaW5nID0gbm9kZUFzU3RyaW5nKHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dHlwc0Fzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgIHR5cGVQcmVzZW50ID0gcHJvb2ZDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgJHt0eXBlTmFtZX0gdHlwZSBpcyBub3QgcHJlc2VudC5gKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoIXR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgY29uc3QgdmFyaWFibGVUeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlWYXJpYWJsZVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2VydGlvbnMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKCF0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZDsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICBwcm9vZkNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3R5cHNBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZW1lbnQgdHlwZSBhc3NlcnRpb24uYCk7XG4gIH1cblxuICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZSh0eXBlQXNzZXJ0aW9uTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gIHJldHVybiB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVZhcmlhYmxlVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRleHQgPSBwcm9vZkNvbnRleHQsIC8vL1xuICAgICAgICB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICBhc3NlcnRlZFR5cGVOYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBhc3NlcnRlZFR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGFzc2VydGVkVHlwZU5hbWUpLFxuICAgICAgICAgIGZpcnN0VmFyaWFibGUgPSBmaXJzdCh2YXJpYWJsZXMpLFxuICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdmFyaWFibGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhcmlhYmxlVHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKSxcbiAgICAgICAgICBhc3NlcnRlZFR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZWYXJpYWJsZVR5cGUgPSAodmFyaWFibGVUeXBlID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlIDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGVkVHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih2YXJpYWJsZVR5cGUpO1xuXG4gICAgaWYgKCFhc3NlcnRlZFR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZWYXJpYWJsZVR5cGUpIHtcbiAgICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgaXMgbm90IGVxdWFsIHRvIG9yIGEgc3ViLXR5cGUgb2YgdGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlIHR5cGUuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBhc3NlcnRlZFR5cGUsICAvLy9cbiAgICAgICAgICAgIHR5cGVBc3NlcnRpb24gPSBUeXBlQXNzZXJ0aW9uLmZyb21UeXBlQW5kVmFyaWFibGVOYW1lKHR5cGUsIHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgICBhc3NlcnRpb24gPSB0eXBlQXNzZXJ0aW9uOyAgLy8vXG5cbiAgICAgIGFzc2VydGlvbnMucHVzaChhc3NlcnRpb24pO1xuXG4gICAgICB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgY29udGV4dCA9IHByb29mQ29udGV4dCwgLy8vXG4gICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzKSB7XG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICBhc3NlcnRlZFR5cGVOYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBhc3NlcnRlZFR5cGUgPSBwcm9vZkNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGFzc2VydGVkVHlwZU5hbWUpLFxuICAgICAgICAgIGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSxcbiAgICAgICAgICB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgICBhc3NlcnRlZFR5cGVFcXVhbFRvVGVybVR5cGUgPSAodGVybVR5cGUgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGVkVHlwZS5pc0VxdWFsVG8odGVybVR5cGUpO1xuXG4gICAgaWYgKCFhc3NlcnRlZFR5cGVFcXVhbFRvVGVybVR5cGUpIHtcbiAgICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB0eXBlLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlID0gYXNzZXJ0ZWRUeXBlLCAgLy8vXG4gICAgICAgICAgICB0eXBlQXNzZXJ0aW9uID0gVHlwZUFzc2VydGlvbi5mcm9tVHlwZUFuZFRlcm1Ob2RlKHR5cGUsIHRlcm1Ob2RlKSxcbiAgICAgICAgICAgIGFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb247ICAvLy9cblxuICAgICAgYXNzZXJ0aW9ucy5wdXNoKGFzc2VydGlvbik7XG5cbiAgICAgIHRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG4iXSwibmFtZXMiOlsidmVyaWZ5VHlwZUFzc2VydGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGUiLCJhc3NlcnRpb25zIiwicHJvb2ZDb250ZXh0IiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwiYmVnaW4iLCJ0eXBzQXNzZXJ0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiZXJyb3IiLCJ2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlVHlwZUFzc2VydGlvbiIsInRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbiIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJjb250ZXh0IiwidmFyaWFibGVzIiwidGVybU5vZGUiLCJ0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJhc3NlcnRlZFR5cGVOYW1lIiwiYXNzZXJ0ZWRUeXBlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwiZmlyc3RWYXJpYWJsZSIsImZpcnN0IiwidmFyaWFibGUiLCJ2YXJpYWJsZU5hbWUiLCJnZXROYW1lIiwidmFyaWFibGVUeXBlIiwiZ2V0VHlwZSIsImFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwidHlwZSIsInR5cGVBc3NlcnRpb24iLCJUeXBlQXNzZXJ0aW9uIiwiZnJvbVR5cGVBbmRWYXJpYWJsZU5hbWUiLCJhc3NlcnRpb24iLCJwdXNoIiwidHlwZXMiLCJ0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnMiLCJmaXJzdFR5cGUiLCJ0ZXJtVHlwZSIsInRlcm1TdHJpbmciLCJhc3NlcnRlZFR5cGVFcXVhbFRvVGVybVR5cGUiLCJpc0VxdWFsVG8iLCJmcm9tVHlwZUFuZFRlcm1Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7O3lEQVZFO3FCQUVKO3NCQUNPO3FCQUNtQjtvQkFDb0I7Ozs7OztBQUVwRSxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysb0JBQW9CSSxpQkFBaUIsRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUU7SUFDdkYsSUFBSUMsd0JBQXdCLEtBQUs7SUFFakNELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDTjtJQUV6Q0UsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0I7SUFFekQsSUFBTUcsV0FBV1QsY0FBY0Msb0JBQ3pCUyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0YsV0FDaENHLGNBQWNULGFBQWFVLHVCQUF1QixDQUFDSDtJQUV6RCxJQUFJLENBQUNFLGFBQWE7UUFDaEJULGFBQWFXLEtB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
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _conclusion = /*#__PURE__*/ _interopRequireDefault(require("../conclusion"));
12
+ var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("./metastatement/unqualified"));
12
13
  var _query = require("../utilities/query");
13
14
  var _string = require("../utilities/string");
14
15
  function _interopRequireDefault(obj) {
@@ -16,15 +17,15 @@ function _interopRequireDefault(obj) {
16
17
  default: obj
17
18
  };
18
19
  }
19
- var metastatementNodeQuery = (0, _query.nodeQuery)("/conclusion/unqualifiedMetastatement!/metastatement!");
20
+ var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/conclusion/unqualifiedMetastatement!");
20
21
  function verifyConclusion(conclusionNode, conclusions, metaproofContext) {
21
22
  var conclusionVerified = false;
22
23
  metaproofContext.begin(conclusionNode);
23
24
  var conclusionString = (0, _string.nodeAsString)(conclusionNode);
24
25
  metaproofContext.debug("Verifying the '".concat(conclusionString, "' conclusion..."));
25
- var metastatementNode = metastatementNodeQuery(conclusionNode);
26
- if (metastatementNode !== null) {
27
- var conclusion = _conclusion.default.fromMetastatementNode(metastatementNode);
26
+ var derived = false, assertions = [], unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(conclusionNode), unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assertions, derived, metaproofContext);
27
+ if (unqualifiedMetastatementVerified) {
28
+ var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), conclusion = _conclusion.default.fromMetastatementNode(metastatementNode);
28
29
  conclusions.push(conclusion);
29
30
  conclusionVerified = true;
30
31
  }
@@ -32,4 +33,4 @@ function verifyConclusion(conclusionNode, conclusions, metaproofContext) {
32
33
  return conclusionVerified;
33
34
  }
34
35
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uY2x1c2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmNsdXNpb24gZnJvbSBcIi4uL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHtub2RlQXNTdHJpbmd9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uY2x1c2lvbi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhL21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb25jbHVzaW9uKGNvbmNsdXNpb25Ob2RlLCBjb25jbHVzaW9ucywgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgY29uY2x1c2lvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihjb25jbHVzaW9uTm9kZSk7XG5cbiAgY29uc3QgY29uY2x1c2lvblN0cmluZyA9IG5vZGVBc1N0cmluZyhjb25jbHVzaW9uTm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtjb25jbHVzaW9uU3RyaW5nfScgY29uY2x1c2lvbi4uLmApO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShjb25jbHVzaW9uTm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbmNsdXNpb25zLnB1c2goY29uY2x1c2lvbik7XG5cbiAgICBjb25jbHVzaW9uVmVyaWZpZWQgPSB0cnVlO1xuICB9XG5cbiAgY29uY2x1c2lvblZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKGNvbmNsdXNpb25Ob2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQoY29uY2x1c2lvbk5vZGUpO1xuXG4gIHJldHVybiBjb25jbHVzaW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uY2x1c2lvbiIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25zIiwibWV0YXByb29mQ29udGV4dCIsImNvbmNsdXNpb25WZXJpZmllZCIsImJlZ2luIiwiY29uY2x1c2lvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwibWV0YXN0YXRlbWVudE5vZGUiLCJjb25jbHVzaW9uIiwiQ29uY2x1c2lvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInB1c2giLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7K0RBUEQ7cUJBRUc7c0JBQ0M7Ozs7OztBQUUzQixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsaUJBQWlCRyxjQUFjLEVBQUVDLFdBQVcsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDdEYsSUFBSUMscUJBQXFCLEtBQUs7SUFFOUJELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixJQUFNSyxtQkFBbUJDLElBQUFBLG9CQUFZLEVBQUNOO0lBRXRDRSxpQkFBaUJLLEtBQUssQ0FBQyxBQUFDLGtCQUFrQyxPQUFqQkYsa0JBQWlCO0lBRTFELElBQU1HLG9CQUFvQlYsdUJBQXVCRTtJQUVqRCxJQUFJUSxzQkFBc0IsSUFBSSxFQUFFO1FBQzlCLElBQU1DLGFBQWFDLG1CQUFVLENBQUNDLHFCQUFxQixDQUFDSDtRQUVwRFAsWUFBWVcsSUFBSSxDQUFDSDtRQUVqQk4scUJBQXFCLElBQUk7SUFDM0IsQ0FBQztJQUVEQSxxQkFDRUQsaUJBQWlCVyxRQUFRLENBQUNiLGtCQUN4QkUsaUJBQWlCWSxJQUFJLENBQUNkLGVBQWU7SUFFekMsT0FBT0c7QUFDVCJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uY2x1c2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmNsdXNpb24gZnJvbSBcIi4uL2NvbmNsdXNpb25cIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4vbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25jbHVzaW9uL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmNsdXNpb24oY29uY2x1c2lvbk5vZGUsIGNvbmNsdXNpb25zLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBjb25jbHVzaW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKGNvbmNsdXNpb25Ob2RlKTtcblxuICBjb25zdCBjb25jbHVzaW9uU3RyaW5nID0gbm9kZUFzU3RyaW5nKGNvbmNsdXNpb25Ob2RlKTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke2NvbmNsdXNpb25TdHJpbmd9JyBjb25jbHVzaW9uLi4uYCk7XG5cbiAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICBhc3NlcnRpb25zID0gW10sXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkoY29uY2x1c2lvbk5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbmNsdXNpb25zLnB1c2goY29uY2x1c2lvbik7XG5cbiAgICBjb25jbHVzaW9uVmVyaWZpZWQgPSB0cnVlO1xuICB9XG5cbiAgY29uY2x1c2lvblZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKGNvbmNsdXNpb25Ob2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQoY29uY2x1c2lvbk5vZGUpO1xuXG4gIHJldHVybiBjb25jbHVzaW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uY2x1c2lvbiIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJjb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25zIiwibWV0YXByb29mQ29udGV4dCIsImNvbmNsdXNpb25WZXJpZmllZCIsImJlZ2luIiwiY29uY2x1c2lvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwiZGVyaXZlZCIsImFzc2VydGlvbnMiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb24iLCJDb25jbHVzaW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwicHVzaCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsrREFURDtnRUFDb0I7cUJBRWpCO3NCQUNHOzs7Ozs7QUFFN0IsSUFBTUMseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDLDZDQUNuQ0Msb0NBQW9DRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLGlCQUFpQkksY0FBYyxFQUFFQyxXQUFXLEVBQUVDLGdCQUFnQixFQUFFO0lBQ3RGLElBQUlDLHFCQUFxQixLQUFLO0lBRTlCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUssbUJBQW1CQyxJQUFBQSxvQkFBWSxFQUFDTjtJQUV0Q0UsaUJBQWlCSyxLQUFLLENBQUMsQUFBQyxrQkFBa0MsT0FBakJGLGtCQUFpQjtJQUUxRCxJQUFNRyxVQUFVLEtBQUssRUFDZkMsYUFBYSxFQUFFLEVBQ2ZDLCtCQUErQlgsa0NBQWtDQyxpQkFDakVXLG1DQUFtQ0MsSUFBQUEsb0JBQThCLEVBQUNGLDhCQUE4QkQsWUFBWUQsU0FBU047SUFFM0gsSUFBSVMsa0NBQWtDO1FBQ3BDLElBQU1FLG9CQUFvQmhCLHVCQUF1QmEsK0JBQzNDSSxhQUFhQyxtQkFBVSxDQUFDQyxxQkFBcUIsQ0FBQ0g7UUFFcERaLFlBQVlnQixJQUFJLENBQUNIO1FBRWpCWCxxQkFBcUIsSUFBSTtJQUMzQixDQUFDO0lBRURBLHFCQUNFRCxpQkFBaUJnQixRQUFRLENBQUNsQixrQkFDeEJFLGlCQUFpQmlCLElBQUksQ0FBQ25CLGVBQWU7SUFFekMsT0FBT0c7QUFDVCJ9
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _consequence = /*#__PURE__*/ _interopRequireDefault(require("../consequence"));
12
+ var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("./statement/unqualified"));
12
13
  var _query = require("../utilities/query");
13
14
  var _string = require("../utilities/string");
14
15
  function _interopRequireDefault(obj) {
@@ -16,15 +17,15 @@ function _interopRequireDefault(obj) {
16
17
  default: obj
17
18
  };
18
19
  }
19
- var statementNodeQuery = (0, _query.nodeQuery)("/consequence/unqualifiedStatement!/statement!");
20
+ var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/consequence/unqualifiedStatement!");
20
21
  function verifyConsequence(consequenceNode, consequences, proofContext) {
21
22
  var consequenceVerified = false;
22
23
  proofContext.begin(consequenceNode);
23
24
  var consequenceString = (0, _string.nodeAsString)(consequenceNode);
24
25
  proofContext.debug("Verifying the ".concat(consequenceString, " consequence..."));
25
- var statementNode = statementNodeQuery(consequenceNode);
26
- if (statementNode !== null) {
27
- var consequence = _consequence.default.fromStatementNode(statementNode);
26
+ var derived = false, assertions = [], unqualifiedStatementNode = unqualifiedStatementNodeQuery(consequenceNode), unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assertions, derived, proofContext);
27
+ if (unqualifiedStatementVerified) {
28
+ var statementNode = statementNodeQuery(unqualifiedStatementNode), consequence = _consequence.default.fromStatementNode(statementNode);
28
29
  consequences.push(consequence);
29
30
  consequenceVerified = true;
30
31
  }
@@ -32,4 +33,4 @@ function verifyConsequence(consequenceNode, consequences, proofContext) {
32
33
  return consequenceVerified;
33
34
  }
34
35
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uc2VxdWVuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb25zZXF1ZW5jZSBmcm9tIFwiLi4vY29uc2VxdWVuY2VcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnNlcXVlbmNlL3VucXVhbGlmaWVkU3RhdGVtZW50IS9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb25zZXF1ZW5jZShjb25zZXF1ZW5jZU5vZGUsIGNvbnNlcXVlbmNlcywgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBjb25zZXF1ZW5jZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKGNvbnNlcXVlbmNlTm9kZSk7XG5cbiAgY29uc3QgY29uc2VxdWVuY2VTdHJpbmcgPSBub2RlQXNTdHJpbmcoY29uc2VxdWVuY2VOb2RlKTtcblxuICBwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJHtjb25zZXF1ZW5jZVN0cmluZ30gY29uc2VxdWVuY2UuLi5gKTtcblxuICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KGNvbnNlcXVlbmNlTm9kZSk7XG5cbiAgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb25zZXF1ZW5jZSA9IENvbnNlcXVlbmNlLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc2VxdWVuY2VzLnB1c2goY29uc2VxdWVuY2UpO1xuXG4gICAgY29uc2VxdWVuY2VWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICBjb25zZXF1ZW5jZVZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoY29uc2VxdWVuY2VOb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChjb25zZXF1ZW5jZU5vZGUpO1xuXG4gIHJldHVybiBjb25zZXF1ZW5jZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbnNlcXVlbmNlIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uc2VxdWVuY2VOb2RlIiwiY29uc2VxdWVuY2VzIiwicHJvb2ZDb250ZXh0IiwiY29uc2VxdWVuY2VWZXJpZmllZCIsImJlZ2luIiwiY29uc2VxdWVuY2VTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInN0YXRlbWVudE5vZGUiLCJjb25zZXF1ZW5jZSIsIkNvbnNlcXVlbmNlIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJwdXNoIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O2dFQVBBO3FCQUVFO3NCQUNHOzs7Ozs7QUFFN0IsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXRCLFNBQVNGLGtCQUFrQkcsZUFBZSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRTtJQUNyRixJQUFJQyxzQkFBc0IsS0FBSztJQUUvQkQsYUFBYUUsS0FBSyxDQUFDSjtJQUVuQixJQUFNSyxvQkFBb0JDLElBQUFBLG9CQUFZLEVBQUNOO0lBRXZDRSxhQUFhSyxLQUFLLENBQUMsQUFBQyxpQkFBa0MsT0FBbEJGLG1CQUFrQjtJQUV0RCxJQUFNRyxnQkFBZ0JWLG1CQUFtQkU7SUFFekMsSUFBSVEsa0JBQWtCLElBQUksRUFBRTtRQUMxQixJQUFNQyxjQUFjQyxvQkFBVyxDQUFDQyxpQkFBaUIsQ0FBQ0g7UUFFbERQLGFBQWFXLElBQUksQ0FBQ0g7UUFFbEJOLHNCQUFzQixJQUFJO0lBQzVCLENBQUM7SUFFREEsc0JBQ0VELGFBQWFXLFFBQVEsQ0FBQ2IsbUJBQ3BCRSxhQUFhWSxJQUFJLENBQUNkLGdCQUFnQjtJQUV0QyxPQUFPRztBQUNUIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uc2VxdWVuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb25zZXF1ZW5jZSBmcm9tIFwiLi4vY29uc2VxdWVuY2VcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi9zdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zZXF1ZW5jZS91bnF1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbnNlcXVlbmNlKGNvbnNlcXVlbmNlTm9kZSwgY29uc2VxdWVuY2VzLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGNvbnNlcXVlbmNlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4oY29uc2VxdWVuY2VOb2RlKTtcblxuICBjb25zdCBjb25zZXF1ZW5jZVN0cmluZyA9IG5vZGVBc1N0cmluZyhjb25zZXF1ZW5jZU5vZGUpO1xuXG4gIHByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAke2NvbnNlcXVlbmNlU3RyaW5nfSBjb25zZXF1ZW5jZS4uLmApO1xuXG4gIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgYXNzZXJ0aW9ucyA9IFtdLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShjb25zZXF1ZW5jZU5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBwcm9vZkNvbnRleHQpO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbmNlID0gQ29uc2VxdWVuY2UuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zZXF1ZW5jZXMucHVzaChjb25zZXF1ZW5jZSk7XG5cbiAgICBjb25zZXF1ZW5jZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbnNlcXVlbmNlVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShjb25zZXF1ZW5jZU5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KGNvbnNlcXVlbmNlTm9kZSk7XG5cbiAgcmV0dXJuIGNvbnNlcXVlbmNlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uc2VxdWVuY2UiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsImNvbnNlcXVlbmNlTm9kZSIsImNvbnNlcXVlbmNlcyIsInByb29mQ29udGV4dCIsImNvbnNlcXVlbmNlVmVyaWZpZWQiLCJiZWdpbiIsImNvbnNlcXVlbmNlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJkZXJpdmVkIiwiYXNzZXJ0aW9ucyIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJjb25zZXF1ZW5jZSIsIkNvbnNlcXVlbmNlIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJwdXNoIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2dFQVRBO2dFQUNlO3FCQUViO3NCQUNHOzs7Ozs7QUFFN0IsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLFNBQVNGLGtCQUFrQkksZUFBZSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRTtJQUNyRixJQUFJQyxzQkFBc0IsS0FBSztJQUUvQkQsYUFBYUUsS0FBSyxDQUFDSjtJQUVuQixJQUFNSyxvQkFBb0JDLElBQUFBLG9CQUFZLEVBQUNOO0lBRXZDRSxhQUFhSyxLQUFLLENBQUMsQUFBQyxpQkFBa0MsT0FBbEJGLG1CQUFrQjtJQUV0RCxJQUFNRyxVQUFVLEtBQUssRUFDZkMsYUFBYSxFQUFFLEVBQ2ZDLDJCQUEyQlgsOEJBQThCQyxrQkFDekRXLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQkQsWUFBWUQsU0FBU047SUFFL0csSUFBSVMsOEJBQThCO1FBQ2hDLElBQU1FLGdCQUFnQmhCLG1CQUFtQmEsMkJBQ25DSSxjQUFjQyxvQkFBVyxDQUFDQyxpQkFBaUIsQ0FBQ0g7UUFFbERaLGFBQWFnQixJQUFJLENBQUNIO1FBRWxCWCxzQkFBc0IsSUFBSTtJQUM1QixDQUFDO0lBRURBLHNCQUNFRCxhQUFhZ0IsUUFBUSxDQUFDbEIsbUJBQ3BCRSxhQUFhaUIsSUFBSSxDQUFDbkIsZ0JBQWdCO0lBRXRDLE9BQU9HO0FBQ1QifQ==
@@ -90,7 +90,7 @@ function verifyChild(childNode, proofContext) {
90
90
  }
91
91
  case _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME:
92
92
  {
93
- var unqualifiedStatementNode = childNode, unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
93
+ var derived = true, assertions = [], unqualifiedStatementNode = childNode, unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assertions, derived, proofContext);
94
94
  if (unqualifiedStatementVerified) {
95
95
  var statementNode1 = statementNodeQuery(unqualifiedStatementNode), proofStep2 = _proof.default.fromStatementNode(statementNode1);
96
96
  proofContext.addProofStep(proofStep2);
@@ -102,4 +102,4 @@ function verifyChild(childNode, proofContext) {
102
102
  return childVerified;
103
103
  }
104
104
 
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByb29mU3RlcCBmcm9tIFwiLi4vc3RlcC9wcm9vZlwiO1xuaW1wb3J0IFByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9wcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVN1cHBvc2l0aW9uIGZyb20gXCIuL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFNVQlBST09GX1JVTEVfTkFNRSwgUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IGNoaWxkTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZGVyaXZhdGlvbnxzdWJEZXJpdmF0aW9uLypcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkU3RhdGVtZW50fHVucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBzdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N1YnByb29mL3N1cHBvc2l0aW9uXCIpLFxuICAgICAgc3ViRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9zdWJEZXJpdmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZXJpdmF0aW9uKGRlcml2YXRpb25Ob2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGRlcml2YXRpb25WZXJpZmllZDtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4oZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzUXVlcnkoZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2YXRpb25WZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBkZXJpdmF0aW9uVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShkZXJpdmF0aW9uTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoZGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJldHVybiBkZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN1YkRlcml2YXRpb24oc3ViRGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgc3ViRGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbihzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgc3ViRGVyaXZhdGlvblZlcmlmaWVkID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGRWZXJpZmllZCA9IHZlcmlmeUNoaWxkKGNoaWxkTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHN1YkRlcml2YXRpb25WZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHN1YkRlcml2YXRpb25Ob2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIHN1YkRlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbVByb29mQ29udGV4dChwcm9vZkNvbnRleHQpOyAvLy9cblxuICBjb25zdCBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHN1cHBvc2l0aW9uTm9kZXMuZXZlcnkoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uVmVyaWZpZWQgPSB2ZXJpZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbk5vZGUsIHN1cHBvc2l0aW9ucywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgIGNvbnN0IHN1YkRlcml2YXRpb25Ob2RlID0gc3ViRGVyaXZhdGlvbk5vZGVRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIHN1YkRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeVN1YkRlcml2YXRpb24oc3ViRGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoc3ViRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3VicHJvb2ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGNoaWxkVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlUnVsZU5hbWUgPSBjaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKGNoaWxkTm9kZVJ1bGVOYW1lKSB7XG4gICAgY2FzZSBTVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IGNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgc3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVN1YnByb29mKHN1YnByb29mTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHN1YnByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlKTtcblxuICAgICAgICBwcm9vZkNvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgcHJvb2ZDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBwcm9vZkNvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjaGlsZFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeURlcml2YXRpb24iLCJjaGlsZE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5Iiwic3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsImRlcml2YXRpb25Ob2RlIiwicHJvb2ZDb250ZXh0IiwiZGVyaXZhdGlvblZlcmlmaWVkIiwiYmVnaW4iLCJjaGlsZE5vZGVzIiwiZXZlcnkiLCJjaGlsZE5vZGUiLCJjaGlsZFZlcmlmaWVkIiwidmVyaWZ5Q2hpbGQiLCJjb21wbGV0ZSIsImhhbHQiLCJ2ZXJpZnlTdWJEZXJpdmF0aW9uIiwic3ViRGVyaXZhdGlvbk5vZGUiLCJzdWJEZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlTdWJwcm9vZiIsInN1YnByb29mTm9kZSIsInN1YnByb29mVmVyaWZpZWQiLCJQcm9vZkNvbnRleHQiLCJmcm9tUHJvb2ZDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwic3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25WZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9uIiwiY2hpbGROb2RlUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIlNVQlBST09GX1JVTEVfTkFNRSIsInByb29mU3RlcCIsIlByb29mU3RlcCIsImZyb21TdWJwcm9vZk5vZGUiLCJhZGRQcm9vZlN0ZXAiLCJRVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQXdCQTs7OzBEQWRGOzJEQUNHO2dFQUNLOzhEQUNPO2dFQUNFO3FCQUVEO3lCQUM2RDs7Ozs7O0FBRW5HLElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxnQ0FDN0JDLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyx3REFDL0JDLHdCQUF3QkgsSUFBQUEsaUJBQVUsRUFBQywwQkFDbkNJLHlCQUF5QkYsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTSixpQkFBaUJPLGNBQWMsRUFBRUMsWUFBWSxFQUFFO0lBQ3JFLElBQUlDO0lBRUpELGFBQWFFLEtBQUssQ0FBQ0g7SUFFbkIsSUFBTUksYUFBYVYsZ0JBQWdCTTtJQUVuQ0UscUJBQXFCRSxXQUFXQyxLQUFLLENBQUMsU0FBQ0MsV0FBYztRQUNuRCxJQUFNQyxnQkFBZ0JDLFlBQVlGLFdBQVdMO1FBRTdDLElBQUlNLGVBQWU7WUFDakIsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0lBRUFMLHFCQUNFRCxhQUFhUSxRQUFRLENBQUNULGtCQUNwQkMsYUFBYVMsSUFBSSxDQUFDVixlQUFlO0lBRXJDLE9BQU9FO0FBQ1Q7QUFFQSxTQUFTUyxvQkFBb0JDLGlCQUFpQixFQUFFWCxZQUFZLEVBQUU7SUFDNUQsSUFBSVk7SUFFSlosYUFBYUUsS0FBSyxDQUFDUztJQUVuQixJQUFNUixhQUFhVixnQkFBZ0JrQjtJQUVuQ0Msd0JBQXdCVCxXQUFXQyxLQUFLLENBQUMsU0FBQ0MsV0FBYztRQUN0RCxJQUFNQyxnQkFBZ0JDLFlBQVlGLFdBQVdMO1FBRTdDLElBQUlNLGVBQWU7WUFDakIsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0lBRUFNLHdCQUNFWixhQUFhUSxRQUFRLENBQUNHLHFCQUNwQlgsYUFBYVMsSUFBSSxDQUFDRSxrQkFBa0I7SUFFeEMsT0FBT0M7QUFDVDtBQUVBLFNBQVNDLGVBQWVDLFlBQVksRUFBRWQsWUFBWSxFQUFFO0lBQ2xELElBQUllLG1CQUFtQixLQUFLO0lBRTVCZixlQUFlZ0IsZUFBWSxDQUFDQyxnQkFBZ0IsQ0FBQ2pCLGVBQWUsR0FBRztJQUUvRCxJQUFNa0IsZUFBZSxFQUFFLEVBQ2pCQyxtQkFBbUJ0QixzQkFBc0JpQixlQUN6Q00sdUJBQXVCRCxpQkFBaUJmLEtBQUssQ0FBQyxTQUFDaUIsaUJBQW9CO1FBQ2pFLElBQU1DLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNGLGlCQUFpQkgsY0FBY2xCO1FBRTdFLElBQUlzQixxQkFBcUI7WUFDdkIsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0lBRU4sSUFBSUYsc0JBQXNCO1FBQ3hCLElBQU1ULG9CQUFvQmIsdUJBQXVCZ0IsZUFDM0NGLHdCQUF3QkYsb0JBQW9CQyxtQkFBbUJYO1FBRXJFLElBQUlZLHVCQUF1QjtZQUN6QkcsbUJBQW1CLElBQUk7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPQTtBQUNUO0FBRUEsU0FBU1IsWUFBWUYsU0FBUyxFQUFFTCxZQUFZLEVBQUU7SUFDNUMsSUFBSU07SUFFSixJQUFNa0Isb0JBQW9CbkIsVUFBVW9CLFdBQVc7SUFFL0MsT0FBUUQ7UUFDTixLQUFLRSw2QkFBa0I7WUFBRTtnQkFDdkIsSUFBTVosZUFBZVQsV0FDZlUsbUJBQW1CRixlQUFlQyxjQUFjZDtnQkFFdEQsSUFBSWUsa0JBQWtCO29CQUNwQixJQUFNWSxZQUFZQyxjQUFTLENBQUNDLGdCQUFnQixDQUFDZjtvQkFFN0NkLGFBQWE4QixZQUFZLENBQUNIO29CQUUxQnJCLGdCQUFnQixJQUFJO2dCQUN0QixDQUFDO2dCQUVELEtBQU07WUFDUjtRQUVBLEtBQUt5Qix3Q0FBNkI7WUFBRTtnQkFDbEMsSUFBTUMseUJBQXlCM0IsV0FDekI0Qiw2QkFBNkJDLElBQUFBLGtCQUF3QixFQUFDRix3QkFBd0JoQztnQkFFcEYsSUFBSWlDLDRCQUE0QjtvQkFDOUIsSUFBTUUsZ0JBQWdCeEMsbUJBQW1CcUMseUJBQ25DTCxhQUFZQyxjQUFTLENBQUNRLGlCQUFpQixDQUFDRDtvQkFFOUNuQyxhQUFhOEIsWUFBWSxDQUFDSDtvQkFFMUJyQixnQkFBZ0IyQiw0QkFBNEIsR0FBRztnQkFDakQsQ0FBQztnQkFFRCxLQUFNO1lBQ1I7UUFFQSxLQUFLSSwwQ0FBK0I7WUFBRTtnQkFDcEMsSUFBTUMsMkJBQTJCakMsV0FDM0JrQywrQkFBK0JDLElBQUFBLG9CQUEwQixFQUFDRiwwQkFBMEJ0QztnQkFFMUYsSUFBSXVDLDhCQUE4QjtvQkFDaEMsSUFBTUosaUJBQWdCeEMsbUJBQW1CMkMsMkJBQ25DWCxhQUFZQyxjQUFTLENBQUNRLGlCQUFpQixDQUFDRDtvQkFFOUNuQyxhQUFhOEIsWUFBWSxDQUFDSDtvQkFFMUJyQixnQkFBZ0IsSUFBSTtnQkFDdEIsQ0FBQztnQkFFRCxLQUFNO1lBQ1I7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByb29mU3RlcCBmcm9tIFwiLi4vc3RlcC9wcm9vZlwiO1xuaW1wb3J0IFByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9wcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVN1cHBvc2l0aW9uIGZyb20gXCIuL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFNVQlBST09GX1JVTEVfTkFNRSwgUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IGNoaWxkTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZGVyaXZhdGlvbnxzdWJEZXJpdmF0aW9uLypcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkU3RhdGVtZW50fHVucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBzdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N1YnByb29mL3N1cHBvc2l0aW9uXCIpLFxuICAgICAgc3ViRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9zdWJEZXJpdmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZXJpdmF0aW9uKGRlcml2YXRpb25Ob2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGRlcml2YXRpb25WZXJpZmllZDtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4oZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzUXVlcnkoZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2YXRpb25WZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBkZXJpdmF0aW9uVmVyaWZpZWQgP1xuICAgIHByb29mQ29udGV4dC5jb21wbGV0ZShkZXJpdmF0aW9uTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoZGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJldHVybiBkZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN1YkRlcml2YXRpb24oc3ViRGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgc3ViRGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbihzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNRdWVyeShzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgc3ViRGVyaXZhdGlvblZlcmlmaWVkID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGRWZXJpZmllZCA9IHZlcmlmeUNoaWxkKGNoaWxkTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChjaGlsZFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHN1YkRlcml2YXRpb25WZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHN1YkRlcml2YXRpb25Ob2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChzdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIHN1YkRlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbVByb29mQ29udGV4dChwcm9vZkNvbnRleHQpOyAvLy9cblxuICBjb25zdCBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHN1cHBvc2l0aW9uTm9kZXMuZXZlcnkoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uVmVyaWZpZWQgPSB2ZXJpZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbk5vZGUsIHN1cHBvc2l0aW9ucywgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgIGNvbnN0IHN1YkRlcml2YXRpb25Ob2RlID0gc3ViRGVyaXZhdGlvbk5vZGVRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIHN1YkRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeVN1YkRlcml2YXRpb24oc3ViRGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoc3ViRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3VicHJvb2ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGNoaWxkVmVyaWZpZWQ7XG5cbiAgY29uc3QgY2hpbGROb2RlUnVsZU5hbWUgPSBjaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKGNoaWxkTm9kZVJ1bGVOYW1lKSB7XG4gICAgY2FzZSBTVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IGNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgc3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVN1YnByb29mKHN1YnByb29mTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHN1YnByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlKTtcblxuICAgICAgICBwcm9vZkNvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgcHJvb2ZDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgICBhc3NlcnRpb25zID0gW10sXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2VydGlvbnMsIGRlcml2ZWQsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIHByb29mQ29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcblxuICAgICAgICBjaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNoaWxkVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RGVyaXZhdGlvbiIsImNoaWxkTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5IiwiZGVyaXZhdGlvbk5vZGUiLCJwcm9vZkNvbnRleHQiLCJkZXJpdmF0aW9uVmVyaWZpZWQiLCJiZWdpbiIsImNoaWxkTm9kZXMiLCJldmVyeSIsImNoaWxkTm9kZSIsImNoaWxkVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZCIsImNvbXBsZXRlIiwiaGFsdCIsInZlcmlmeVN1YkRlcml2YXRpb24iLCJzdWJEZXJpdmF0aW9uTm9kZSIsInN1YkRlcml2YXRpb25WZXJpZmllZCIsInZlcmlmeVN1YnByb29mIiwic3VicHJvb2ZOb2RlIiwic3VicHJvb2ZWZXJpZmllZCIsIlByb29mQ29udGV4dCIsImZyb21Qcm9vZkNvbnRleHQiLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb24iLCJjaGlsZE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwicHJvb2ZTdGVwIiwiUHJvb2ZTdGVwIiwiZnJvbVN1YnByb29mTm9kZSIsImFkZFByb29mU3RlcCIsIlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsImRlcml2ZWQiLCJhc3NlcnRpb25zIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwi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
@@ -8,8 +8,14 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyQualifiedMetastatement;
9
9
  }
10
10
  });
11
+ var _metastatement = /*#__PURE__*/ _interopRequireDefault(require("../../verify/metastatement"));
11
12
  var _string = require("../../utilities/string");
12
13
  var _query = require("../../utilities/query");
14
+ function _interopRequireDefault(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
13
19
  var referenceNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/qualification!/reference!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/metastatement!");
14
20
  function verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext) {
15
21
  var qualifiedMetastatementVerified = false;
@@ -18,14 +24,22 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofConte
18
24
  if (metastatementNode !== null) {
19
25
  var metastatementString = (0, _string.nodeAsString)(metastatementNode);
20
26
  metaproofContext.debug("Verifying the ".concat(metastatementString, " qualified metastatement..."));
21
- var referenceNode = referenceNodeQuery(qualifiedMetastatementNode), referenceName = (0, _query.referenceNameFromReferenceNode)(referenceNode), rule = metaproofContext.findRuleByReferenceName(referenceName);
22
- if (rule !== null) {
23
- var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, metaproofContext);
24
- qualifiedMetastatementVerified = ruleMatchesMetastatement; ///
27
+ var ruleMatchesStatement = true;
28
+ var referenceNode = referenceNodeQuery(qualifiedMetastatementNode);
29
+ if (referenceNode !== null) {
30
+ var referenceName = (0, _query.referenceNameFromReferenceNode)(referenceNode), rule = metaproofContext.findRuleByReferenceName(referenceName);
31
+ if (rule !== null) {
32
+ var ruleMatchesStatement1 = rule.matchMetastatement(metastatementNode, metaproofContext);
33
+ qualifiedMetastatementVerified = ruleMatchesStatement1; ///
34
+ }
35
+ }
36
+ if (ruleMatchesStatement) {
37
+ var assertions = [], metastatementVerified = (0, _metastatement.default)(metastatementNode, assertions, metaproofContext);
38
+ qualifiedMetastatementVerified = metastatementVerified; ///
25
39
  }
26
40
  }
27
41
  qualifiedMetastatementVerified ? metaproofContext.complete(qualifiedMetastatementNode) : metaproofContext.halt(qualifiedMetastatementNode);
28
42
  return qualifiedMetastatementVerified;
29
43
  }
30
44
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcmVmZXJlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcXVhbGlmaWNhdGlvbiEvcmVmZXJlbmNlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIG1ldGFwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJHttZXRhc3RhdGVtZW50U3RyaW5nfSBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmApO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlTm9kZSA9IHJlZmVyZW5jZU5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgcmVmZXJlbmNlTmFtZSA9IHJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZShyZWZlcmVuY2VOb2RlKSxcbiAgICAgICAgICBydWxlID0gbWV0YXByb29mQ29udGV4dC5maW5kUnVsZUJ5UmVmZXJlbmNlTmFtZShyZWZlcmVuY2VOYW1lKTtcblxuICAgIGlmIChydWxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSBydWxlLm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudDsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJyZWZlcmVuY2VOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInJlZmVyZW5jZU5vZGUiLCJyZWZlcmVuY2VOYW1lIiwicmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlIiwicnVsZSIsImZpbmRSdWxlQnlSZWZlcmVuY2VOYW1lIiwicnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50IiwibWF0Y2hNZXRhc3RhdGVtZW50IiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NCQU5LO3FCQUM2QjtBQUUxRCxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsc0RBQy9CQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDakcsSUFBSUMsaUNBQWlDLEtBQUs7SUFFMUNELGlCQUFpQkUsS0FBSyxDQUFDSDtJQUV2QixJQUFNSSxvQkFBb0JMLHVCQUF1QkM7SUFFakQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFZLEVBQUNGO1FBRXpDSCxpQkFBaUJNLEtBQUssQ0FBQyxBQUFDLGlCQUFvQyxPQUFwQkYscUJBQW9CO1FBRTVELElBQU1HLGdCQUFnQlgsbUJBQW1CRyw2QkFDbkNTLGdCQUFnQkMsSUFBQUEscUNBQThCLEVBQUNGLGdCQUMvQ0csT0FBT1YsaUJBQWlCVyx1QkFBdUIsQ0FBQ0g7UUFFdEQsSUFBSUUsU0FBUyxJQUFJLEVBQUU7WUFDakIsSUFBTUUsMkJBQTJCRixLQUFLRyxrQkFBa0IsQ0FBQ1YsbUJBQW1CSDtZQUU1RUMsaUNBQWlDVywwQkFBMkIsR0FBRztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEWCxpQ0FDRUQsaUJBQWlCYyxRQUFRLENBQUNmLDhCQUN4QkMsaUJBQWlCZSxJQUFJLENBQUNoQiwyQkFBMkI7SUFFckQsT0FBT0U7QUFDVCJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCByZWZlcmVuY2VOYW1lRnJvbVJlZmVyZW5jZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHJlZmVyZW5jZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L3F1YWxpZmljYXRpb24hL3JlZmVyZW5jZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4ocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICR7bWV0YXN0YXRlbWVudFN0cmluZ30gcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGxldCBydWxlTWF0Y2hlc1N0YXRlbWVudCA9IHRydWU7XG5cbiAgICBjb25zdCByZWZlcmVuY2VOb2RlID0gcmVmZXJlbmNlTm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChyZWZlcmVuY2VOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCByZWZlcmVuY2VOYW1lID0gcmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgICAgcnVsZSA9IG1ldGFwcm9vZkNvbnRleHQuZmluZFJ1bGVCeVJlZmVyZW5jZU5hbWUocmVmZXJlbmNlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVNYXRjaGVzU3RhdGVtZW50ID0gcnVsZS5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHJ1bGVNYXRjaGVzU3RhdGVtZW50OyAgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJ1bGVNYXRjaGVzU3RhdGVtZW50KSB7XG4gICAgICBjb25zdCBhc3NlcnRpb25zID0gW10sXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICB9XG4gIH1cblxuICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwicmVmZXJlbmNlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImJlZ2luIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJydWxlTWF0Y2hlc1N0YXRlbWVudCIsInJlZmVyZW5jZU5vZGUiLCJyZWZlcmVuY2VOYW1lIiwicmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlIiwicnVsZSIsImZpbmRSdWxlQnlSZWZlcmVuY2VOYW1lIiwibWF0Y2hNZXRhc3RhdGVtZW50IiwiYXNzZXJ0aW9ucyIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7a0VBUlE7c0JBRUg7cUJBQzZCOzs7Ozs7QUFFMUQsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHNEQUMvQkMseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNGLDZCQUE2QkksMEJBQTBCLEVBQUVDLGdCQUFnQixFQUFFO0lBQ2pHLElBQUlDLGlDQUFpQyxLQUFLO0lBRTFDRCxpQkFBaUJFLEtBQUssQ0FBQ0g7SUFFdkIsSUFBTUksb0JBQW9CTCx1QkFBdUJDO0lBRWpELElBQUlJLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDRjtRQUV6Q0gsaUJBQWlCTSxLQUFLLENBQUMsQUFBQyxpQkFBb0MsT0FBcEJGLHFCQUFvQjtRQUU1RCxJQUFJRyx1QkFBdUIsSUFBSTtRQUUvQixJQUFNQyxnQkFBZ0JaLG1CQUFtQkc7UUFFekMsSUFBSVMsa0JBQWtCLElBQUksRUFBRTtZQUMxQixJQUFNQyxnQkFBZ0JDLElBQUFBLHFDQUE4QixFQUFDRixnQkFDL0NHLE9BQU9YLGlCQUFpQlksdUJBQXVCLENBQUNIO1lBRXRELElBQUlFLFNBQVMsSUFBSSxFQUFFO2dCQUNqQixJQUFNSix3QkFBdUJJLEtBQUtFLGtCQUFrQixDQUFDVixtQkFBbUJIO2dCQUV4RUMsaUNBQWlDTSx1QkFBdUIsR0FBRztZQUM3RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUlBLHNCQUFzQjtZQUN4QixJQUFNTyxhQUFhLEVBQUUsRUFDZkMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ2IsbUJBQW1CVyxZQUFZZDtZQUVqRkMsaUNBQWlDYyx1QkFBdUIsR0FBRztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVEZCxpQ0FDRUQsaUJBQWlCaUIsUUFBUSxDQUFDbEIsOEJBQ3hCQyxpQkFBaUJrQixJQUFJLENBQUNuQiwyQkFBMkI7SUFFckQsT0FBT0U7QUFDVCJ9
@@ -8,21 +8,33 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyUnqualifiedMetastatement;
9
9
  }
10
10
  });
11
+ var _metastatement = /*#__PURE__*/ _interopRequireDefault(require("../metastatement"));
11
12
  var _query = require("../../utilities/query");
12
13
  var _string = require("../../utilities/string");
14
+ function _interopRequireDefault(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
13
19
  var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!");
14
- function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext) {
20
+ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assertions, derived, metaproofContext) {
15
21
  var unqualifiedMetastatementVerified = false;
16
22
  metaproofContext.begin(unqualifiedMetastatementNode);
17
23
  var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
18
24
  if (metastatementNode !== null) {
19
25
  var metastatementString = (0, _string.nodeAsString)(metastatementNode);
20
26
  metaproofContext.debug("Verifying the ".concat(metastatementString, " unqualified metastatement..."));
21
- var metaAssertionMatches = metaproofContext.matchMetastatement(metastatementNode);
22
- unqualifiedMetastatementVerified = metaAssertionMatches; ///
27
+ var metastatementMatches = true;
28
+ if (derived) {
29
+ metastatementMatches = metaproofContext.matchMetastatement(metastatementNode);
30
+ }
31
+ if (metastatementMatches) {
32
+ var metastatementVerified = (0, _metastatement.default)(metastatementNode, assertions, metaproofContext);
33
+ unqualifiedMetastatementVerified = metastatementVerified; ///
34
+ }
23
35
  }
24
36
  unqualifiedMetastatementVerified ? metaproofContext.complete(unqualifiedMetastatementNode) : metaproofContext.halt(unqualifiedMetastatementNode);
25
37
  return unqualifiedMetastatementVerified;
26
38
  }
27
39
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAke21ldGFzdGF0ZW1lbnRTdHJpbmd9IHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGNvbnN0IG1ldGFBc3NlcnRpb25NYXRjaGVzID0gbWV0YXByb29mQ29udGV4dC5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZkNvbnRleHQiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImJlZ2luIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJtZXRhQXNzZXJ0aW9uTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7OztxQkFMRTtzQkFDRztBQUU3QixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsK0JBQStCRyw0QkFBNEIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDckcsSUFBSUMsbUNBQW1DLEtBQUs7SUFFNUNELGlCQUFpQkUsS0FBSyxDQUFDSDtJQUV2QixJQUFNSSxvQkFBb0JOLHVCQUF1QkU7SUFFakQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFZLEVBQUNGO1FBRXpDSCxpQkFBaUJNLEtBQUssQ0FBQyxBQUFDLGlCQUFvQyxPQUFwQkYscUJBQW9CO1FBRTVELElBQU1HLHVCQUF1QlAsaUJBQWlCUSxrQkFBa0IsQ0FBQ0w7UUFFakVGLG1DQUFtQ00sc0JBQXVCLEdBQUc7SUFDL0QsQ0FBQztJQUVETixtQ0FDRUQsaUJBQWlCUyxRQUFRLENBQUNWLGdDQUN4QkMsaUJBQWlCVSxJQUFJLENBQUNYLDZCQUE2QjtJQUV2RCxPQUFPRTtBQUNUIn0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAke21ldGFzdGF0ZW1lbnRTdHJpbmd9IHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGxldCBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IHRydWU7XG5cbiAgICBpZiAoZGVyaXZlZCkge1xuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBtZXRhcHJvb2ZDb250ZXh0Lm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhc3NlcnRpb25zIiwiZGVyaXZlZCIsIm1ldGFwcm9vZkNvbnRleHQiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImJlZ2luIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJtZXRhc3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7a0VBUFE7cUJBRU47c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsK0JBQStCRyw0QkFBNEIsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQixFQUFFO0lBQzFILElBQUlDLG1DQUFtQyxLQUFLO0lBRTVDRCxpQkFBaUJFLEtBQUssQ0FBQ0w7SUFFdkIsSUFBTU0sb0JBQW9CUix1QkFBdUJFO0lBRWpELElBQUlNLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDRjtRQUV6Q0gsaUJBQWlCTSxLQUFLLENBQUMsQUFBQyxpQkFBb0MsT0FBcEJGLHFCQUFvQjtRQUU1RCxJQUFJRyx1QkFBdUIsSUFBSTtRQUUvQixJQUFJUixTQUFTO1lBQ1hRLHVCQUF1QlAsaUJBQWlCUSxrQkFBa0IsQ0FBQ0w7UUFDN0QsQ0FBQztRQUVELElBQUlJLHNCQUFzQjtZQUN4QixJQUFNRSx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDUCxtQkFBbUJMLFlBQVlFO1lBRWpGQyxtQ0FBbUNRLHVCQUF1QixHQUFHO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRURSLG1DQUNFRCxpQkFBaUJXLFFBQVEsQ0FBQ2QsZ0NBQ3hCRyxpQkFBaUJZLElBQUksQ0FBQ2YsNkJBQTZCO0lBRXZELE9BQU9JO0FBQ1QifQ==
@@ -8,12 +8,12 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyMetastatement;
9
9
  }
10
10
  });
11
- function verifyMetastatement(metastatementNode, qualified, metaproofContext) {
12
- var metastatementVerified = true;
11
+ function verifyMetastatement(metastatementNode, assertions, metaproofContext) {
12
+ var metastatementVerified = true; ///
13
13
  metaproofContext.begin(metastatementNode);
14
14
  ///
15
15
  metastatementVerified ? metaproofContext.complete(metastatementNode) : metaproofContext.halt(metastatementNode);
16
16
  return metastatementVerified;
17
17
  }
18
18
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgcXVhbGlmaWVkLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4obWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIC8vL1xuXG4gIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZCIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFNBQVMsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDMUYsSUFBSUMsd0JBQXdCLElBQUk7SUFFaENELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixHQUFHO0lBRUhHLHdCQUNFRCxpQkFBaUJHLFFBQVEsQ0FBQ0wscUJBQ3hCRSxpQkFBaUJJLElBQUksQ0FBQ04sa0JBQWtCO0lBRTVDLE9BQU9HO0FBQ1QifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzZXJ0aW9ucywgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdHJ1ZTsgLy8vXG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgLy8vXG5cbiAgbWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFzdGF0ZW1lbnROb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzZXJ0aW9ucyIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFVBQVUsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDM0YsSUFBSUMsd0JBQXdCLElBQUksRUFBRSxHQUFHO0lBRXJDRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsR0FBRztJQUVIRyx3QkFDRUQsaUJBQWlCRyxRQUFRLENBQUNMLHFCQUN4QkUsaUJBQWlCSSxJQUFJLENBQUNOLGtCQUFrQjtJQUU1QyxPQUFPRztBQUNUIn0=
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _premise = /*#__PURE__*/ _interopRequireDefault(require("../premise"));
12
12
  var _metaproof = /*#__PURE__*/ _interopRequireDefault(require("../step/metaproof"));
13
+ var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/unqualified"));
13
14
  var _query = require("../utilities/query");
14
15
  var _string = require("../utilities/string");
15
16
  function _interopRequireDefault(obj) {
@@ -17,15 +18,15 @@ function _interopRequireDefault(obj) {
17
18
  default: obj
18
19
  };
19
20
  }
20
- var metastatementNodeQuery = (0, _query.nodeQuery)("/premise/unqualifiedMetastatement!/metastatement!");
21
+ var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/premise/unqualifiedMetastatement!");
21
22
  function verifyPremise(premiseNode, premises, metaproofContext) {
22
23
  var premiseVerified;
23
24
  metaproofContext.begin(premiseNode);
24
25
  var premiseString = (0, _string.nodeAsString)(premiseNode);
25
26
  metaproofContext.debug("Verifying the ".concat(premiseString, " premise..."));
26
- var metastatementNode = metastatementNodeQuery(premiseNode);
27
- if (metastatementNode !== null) {
28
- var metaproofStep = _metaproof.default.fromMetastatementNode(metastatementNode), premise = _premise.default.fromMetastatementNode(metastatementNode);
27
+ var derived = false, assertions = [], unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(premiseNode), unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assertions, derived, metaproofContext);
28
+ if (unqualifiedMetastatementVerified) {
29
+ var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep = _metaproof.default.fromMetastatementNode(metastatementNode), premise = _premise.default.fromMetastatementNode(metastatementNode);
29
30
  premises.push(premise);
30
31
  metaproofContext.addMetaproofStep(metaproofStep);
31
32
  premiseVerified = true;
@@ -34,4 +35,4 @@ function verifyPremise(premiseNode, premises, metaproofContext) {
34
35
  return premiseVerified;
35
36
  }
36
37
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByZW1pc2UgZnJvbSBcIi4uL3ByZW1pc2VcIjtcbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ByZW1pc2UvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IS9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UHJlbWlzZShwcmVtaXNlTm9kZSwgcHJlbWlzZXMsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHByZW1pc2VWZXJpZmllZDtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKHByZW1pc2VOb2RlKTtcblxuICBjb25zdCBwcmVtaXNlU3RyaW5nID0gbm9kZUFzU3RyaW5nKHByZW1pc2VOb2RlKTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICR7cHJlbWlzZVN0cmluZ30gcHJlbWlzZS4uLmApO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShwcmVtaXNlTm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcHJlbWlzZXMucHVzaChwcmVtaXNlKTtcblxuICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgIHByZW1pc2VWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICBwcmVtaXNlVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUocHJlbWlzZU5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdChwcmVtaXNlTm9kZSk7XG5cbiAgcmV0dXJuIHByZW1pc2VWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcmVtaXNlIiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInByZW1pc2VOb2RlIiwicHJlbWlzZXMiLCJtZXRhcHJvb2ZDb250ZXh0IiwicHJlbWlzZVZlcmlmaWVkIiwiYmVnaW4iLCJwcmVtaXNlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZlN0ZXAiLCJNZXRhcHJvb2ZTdGVwIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwicHJlbWlzZSIsIlByZW1pc2UiLCJwdXNoIiwiYWRkTWV0YXByb29mU3RlcCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozs0REFSSjs4REFDTTtxQkFFQTtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRixjQUFjRyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDN0UsSUFBSUM7SUFFSkQsaUJBQWlCRSxLQUFLLENBQUNKO0lBRXZCLElBQU1LLGdCQUFnQkMsSUFBQUEsb0JBQVksRUFBQ047SUFFbkNFLGlCQUFpQkssS0FBSyxDQUFDLEFBQUMsaUJBQThCLE9BQWRGLGVBQWM7SUFFdEQsSUFBTUcsb0JBQW9CVix1QkFBdUJFO0lBRWpELElBQUlRLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsZ0JBQWdCQyxrQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ0gsb0JBQ3BESSxVQUFVQyxnQkFBTyxDQUFDRixxQkFBcUIsQ0FBQ0g7UUFFOUNQLFNBQVNhLElBQUksQ0FBQ0Y7UUFFZFYsaUJBQWlCYSxnQkFBZ0IsQ0FBQ047UUFFbENOLGtCQUFrQixJQUFJO0lBQ3hCLENBQUM7SUFFREEsa0JBQ0VELGlCQUFpQmMsUUFBUSxDQUFDaEIsZUFDeEJFLGlCQUFpQmUsSUFBSSxDQUFDakIsWUFBWTtJQUV0QyxPQUFPRztBQUNUIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByZW1pc2UgZnJvbSBcIi4uL3ByZW1pc2VcIjtcbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlQcmVtaXNlKHByZW1pc2VOb2RlLCBwcmVtaXNlcywgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgcHJlbWlzZVZlcmlmaWVkO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4ocHJlbWlzZU5vZGUpO1xuXG4gIGNvbnN0IHByZW1pc2VTdHJpbmcgPSBub2RlQXNTdHJpbmcocHJlbWlzZU5vZGUpO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJHtwcmVtaXNlU3RyaW5nfSBwcmVtaXNlLi4uYCk7XG5cbiAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICBhc3NlcnRpb25zID0gW10sXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocHJlbWlzZU5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcHJlbWlzZXMucHVzaChwcmVtaXNlKTtcblxuICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgIHByZW1pc2VWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICBwcmVtaXNlVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUocHJlbWlzZU5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdChwcmVtaXNlTm9kZSk7XG5cbiAgcmV0dXJuIHByZW1pc2VWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcmVtaXNlIiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInByZW1pc2VOb2RlIiwicHJlbWlzZXMiLCJtZXRhcHJvb2ZDb250ZXh0IiwicHJlbWlzZVZlcmlmaWVkIiwiYmVnaW4iLCJwcmVtaXNlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJkZXJpdmVkIiwiYXNzZXJ0aW9ucyIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJwcmVtaXNlIiwiUHJlbWlzZSIsInB1c2giLCJhZGRNZXRhcHJvb2ZTdGVwIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7OzREQVZKOzhEQUNNO2dFQUNpQjtxQkFFakI7c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMsNkNBQ25DQyxvQ0FBb0NELElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0YsY0FBY0ksV0FBVyxFQUFFQyxRQUFRLEVBQUVDLGdCQUFnQixFQUFFO0lBQzdFLElBQUlDO0lBRUpELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixJQUFNSyxnQkFBZ0JDLElBQUFBLG9CQUFZLEVBQUNOO0lBRW5DRSxpQkFBaUJLLEtBQUssQ0FBQyxBQUFDLGlCQUE4QixPQUFkRixlQUFjO0lBRXRELElBQU1HLFVBQVUsS0FBSyxFQUNmQyxhQUFhLEVBQUUsRUFDZkMsK0JBQStCWCxrQ0FBa0NDLGNBQ2pFVyxtQ0FBbUNDLElBQUFBLG9CQUE4QixFQUFDRiw4QkFBOEJELFlBQVlELFNBQVNOO0lBRTNILElBQUlTLGtDQUFrQztRQUNwQyxJQUFNRSxvQkFBb0JoQix1QkFBdUJhLCtCQUMzQ0ksZ0JBQWdCQyxrQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ0gsb0JBQ3BESSxVQUFVQyxnQkFBTyxDQUFDRixxQkFBcUIsQ0FBQ0g7UUFFOUNaLFNBQVNrQixJQUFJLENBQUNGO1FBRWRmLGlCQUFpQmtCLGdCQUFnQixDQUFDTjtRQUVsQ1gsa0JBQWtCLElBQUk7SUFDeEIsQ0FBQztJQUVEQSxrQkFDRUQsaUJBQWlCbUIsUUFBUSxDQUFDckIsZUFDeEJFLGlCQUFpQm9CLElBQUksQ0FBQ3RCLFlBQVk7SUFFdEMsT0FBT0c7QUFDVCJ9