occam-verify-cli 0.0.682 → 0.0.684

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 (130) hide show
  1. package/lib/assignment/equality.js +60 -0
  2. package/lib/assignment/variable.js +60 -0
  3. package/lib/axiom.js +4 -4
  4. package/lib/axiomLemmaTheoremConjecture.js +29 -29
  5. package/lib/collection.js +154 -0
  6. package/lib/combinator.js +1 -1
  7. package/lib/conclusion.js +5 -5
  8. package/lib/conjecture.js +4 -4
  9. package/lib/consequent.js +3 -3
  10. package/lib/constructor.js +1 -1
  11. package/lib/context/file.js +9 -2
  12. package/lib/context/local.js +330 -0
  13. package/lib/context/localMeta.js +192 -0
  14. package/lib/context/release.js +1 -1
  15. package/lib/equality.js +19 -87
  16. package/lib/label.js +1 -1
  17. package/lib/lemma.js +4 -4
  18. package/lib/log.js +1 -1
  19. package/lib/metaType.js +1 -1
  20. package/lib/metavariable.js +1 -1
  21. package/lib/ocmbinator/bracketed.js +1 -1
  22. package/lib/premise.js +9 -9
  23. package/lib/rule.js +25 -25
  24. package/lib/step/metaproof.js +1 -1
  25. package/lib/step/proof.js +1 -1
  26. package/lib/substitution/metastatementForMetavariable.js +1 -1
  27. package/lib/substitution/statementForMetavariable.js +1 -1
  28. package/lib/substitution/termForVariable.js +1 -1
  29. package/lib/supposition.js +5 -5
  30. package/lib/term.js +68 -0
  31. package/lib/theorem.js +4 -4
  32. package/lib/type.js +5 -5
  33. package/lib/utilities/array.js +4 -4
  34. package/lib/utilities/collection.js +107 -0
  35. package/lib/variable.js +1 -1
  36. package/lib/verifier/node/metastatement.js +9 -9
  37. package/lib/verifier/node/statementAsCombinator.js +1 -1
  38. package/lib/verifier/node/termAsConstructor.js +2 -2
  39. package/lib/verifier/node.js +1 -1
  40. package/lib/verifier/nodes/metastatementForMetavariable/conclusion.js +1 -1
  41. package/lib/verifier/nodes/metastatementForMetavariable/premise.js +1 -1
  42. package/lib/verifier/nodes/metastatementForMetavariable.js +8 -8
  43. package/lib/verifier/nodes/statement.js +1 -1
  44. package/lib/verifier/nodes/statementForMetavariable/conclusion.js +1 -1
  45. package/lib/verifier/nodes/statementForMetavariable/premise.js +1 -1
  46. package/lib/verifier/nodes/statementForMetavariable.js +9 -9
  47. package/lib/verifier/nodes/term.js +3 -3
  48. package/lib/verifier/nodes/termForVariable/consequent.js +1 -1
  49. package/lib/verifier/nodes/termForVariable/supposition.js +1 -1
  50. package/lib/verifier/nodes/termForVariable.js +11 -11
  51. package/lib/verifier/nodes.js +1 -1
  52. package/lib/verify/axiom.js +6 -6
  53. package/lib/verify/conclusion.js +6 -6
  54. package/lib/verify/conjecture.js +7 -7
  55. package/lib/verify/consequent.js +6 -6
  56. package/lib/verify/derivation.js +17 -17
  57. package/lib/verify/equality.js +50 -18
  58. package/lib/verify/lemma.js +7 -7
  59. package/lib/verify/metastatement/qualified.js +7 -7
  60. package/lib/verify/metastatement/unqualified.js +7 -7
  61. package/lib/verify/metastatement.js +12 -12
  62. package/lib/verify/premise.js +7 -7
  63. package/lib/verify/proof.js +10 -7
  64. package/lib/verify/rule.js +6 -6
  65. package/lib/verify/ruleDerivation.js +17 -17
  66. package/lib/verify/ruleProof.js +6 -6
  67. package/lib/verify/statement/qualified.js +15 -15
  68. package/lib/verify/statement/unqualified.js +7 -7
  69. package/lib/verify/supposition.js +8 -8
  70. package/lib/verify/term.js +32 -31
  71. package/lib/verify/terms.js +11 -17
  72. package/lib/verify/theorem.js +7 -7
  73. package/lib/verify/typeAssertion.js +3 -3
  74. package/package.json +2 -2
  75. package/src/assignment/equality.js +21 -0
  76. package/src/assignment/variable.js +21 -0
  77. package/src/axiom.js +1 -1
  78. package/src/axiomLemmaTheoremConjecture.js +26 -26
  79. package/src/collection.js +101 -0
  80. package/src/conclusion.js +6 -6
  81. package/src/conjecture.js +1 -1
  82. package/src/consequent.js +4 -4
  83. package/src/context/file.js +9 -1
  84. package/src/context/local.js +311 -0
  85. package/src/context/{metaproof.js → localMeta.js} +16 -17
  86. package/src/equality.js +17 -111
  87. package/src/lemma.js +1 -1
  88. package/src/premise.js +12 -12
  89. package/src/rule.js +24 -24
  90. package/src/supposition.js +8 -8
  91. package/src/term.js +30 -0
  92. package/src/theorem.js +1 -1
  93. package/src/type.js +3 -3
  94. package/src/utilities/array.js +1 -1
  95. package/src/utilities/collection.js +83 -0
  96. package/src/verifier/node/metastatement.js +8 -8
  97. package/src/verifier/node/termAsConstructor.js +2 -2
  98. package/src/verifier/nodes/metastatementForMetavariable.js +7 -7
  99. package/src/verifier/nodes/statementForMetavariable.js +8 -8
  100. package/src/verifier/nodes/term.js +5 -4
  101. package/src/verifier/nodes/termForVariable.js +15 -14
  102. package/src/verify/axiom.js +5 -5
  103. package/src/verify/conclusion.js +5 -5
  104. package/src/verify/conjecture.js +6 -6
  105. package/src/verify/consequent.js +5 -5
  106. package/src/verify/derivation.js +16 -16
  107. package/src/verify/equality.js +81 -24
  108. package/src/verify/lemma.js +6 -6
  109. package/src/verify/metastatement/qualified.js +7 -7
  110. package/src/verify/metastatement/unqualified.js +6 -6
  111. package/src/verify/metastatement.js +11 -11
  112. package/src/verify/premise.js +6 -6
  113. package/src/verify/proof.js +13 -10
  114. package/src/verify/rule.js +5 -5
  115. package/src/verify/ruleDerivation.js +16 -16
  116. package/src/verify/ruleProof.js +5 -5
  117. package/src/verify/statement/qualified.js +15 -15
  118. package/src/verify/statement/unqualified.js +6 -6
  119. package/src/verify/supposition.js +7 -7
  120. package/src/verify/term.js +38 -35
  121. package/src/verify/terms.js +14 -28
  122. package/src/verify/theorem.js +6 -6
  123. package/src/verify/typeAssertion.js +3 -2
  124. package/lib/assignment.js +0 -74
  125. package/lib/context/metaproof.js +0 -192
  126. package/lib/context/proof.js +0 -245
  127. package/lib/verifier/nodes/equality.js +0 -155
  128. package/src/assignment.js +0 -36
  129. package/src/context/proof.js +0 -205
  130. package/src/verifier/nodes/equality.js +0 -68
@@ -2,7 +2,7 @@
2
2
 
3
3
  import Theorem from "../theorem";
4
4
  import verifyProof from "../verify/proof";
5
- import ProofContext from "../context/proof";
5
+ import LocalContext from "../context/local";
6
6
  import verifyLabels from "../verify/labels";
7
7
  import verifyConsequent from "./consequent";
8
8
  import verifySupposition from "./supposition";
@@ -20,7 +20,7 @@ export default function verifyTheorem(theoremNode, fileContext) {
20
20
 
21
21
  const labelNodes = labelNodesQuery(theoremNode),
22
22
  labelsString = fileContext.nodesAsString(labelNodes),
23
- proofContext = ProofContext.fromFileContext(fileContext);
23
+ localContext = LocalContext.fromFileContext(fileContext);
24
24
 
25
25
  fileContext.trace(`Verifying the '${labelsString}' theorem...`, theoremNode);
26
26
 
@@ -31,7 +31,7 @@ export default function verifyTheorem(theoremNode, fileContext) {
31
31
  const suppositions = [],
32
32
  suppositionNodes = suppositionsNodeQuery(theoremNode),
33
33
  suppositionsVerified = suppositionNodes.every((suppositionNode) => {
34
- const suppositionVerified = verifySupposition(suppositionNode, suppositions, proofContext);
34
+ const suppositionVerified = verifySupposition(suppositionNode, suppositions, localContext);
35
35
 
36
36
  if (suppositionVerified) {
37
37
  return true;
@@ -41,16 +41,16 @@ export default function verifyTheorem(theoremNode, fileContext) {
41
41
  if (suppositionsVerified) {
42
42
  const consequents = [],
43
43
  consequentNode = consequentNodeQuery(theoremNode),
44
- consequentVerified = verifyConsequent(consequentNode, consequents, proofContext);
44
+ consequentVerified = verifyConsequent(consequentNode, consequents, localContext);
45
45
 
46
46
  if (consequentVerified) {
47
47
  const proofNode = proofNodeQuery(theoremNode),
48
48
  firstConsequent = first(consequents),
49
49
  consequent = firstConsequent, ///
50
- proofVerified = verifyProof(proofNode, consequent, proofContext);
50
+ proofVerified = verifyProof(proofNode, consequent, localContext);
51
51
 
52
52
  if (proofVerified) {
53
- const theorem = Theorem.fromLabelsSuppositionsConsequentAndProofContext(labels, suppositions, consequent, proofContext);
53
+ const theorem = Theorem.fromLabelsSuppositionsConsequentAndLocalContext(labels, suppositions, consequent, localContext);
54
54
 
55
55
  fileContext.addTheorem(theorem);
56
56
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import Variable from "../variable";
4
- import Assignment from "../assignment";
4
+ import VariableAssignment from "../assignment/variable";
5
5
 
6
6
  import { first } from "../utilities/array";
7
7
  import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
@@ -86,7 +86,8 @@ export function verifyVariableTypeAssertion(typeAssertionNode, assertedType, ass
86
86
  const name = variableName, ///
87
87
  type = assertedType, ///
88
88
  variable = Variable.fromNameAndType(name, type),
89
- assignment = Assignment.fromVariable(variable);
89
+ variableAssignment = VariableAssignment.fromVariable(variable),
90
+ assignment = variableAssignment; ///
90
91
 
91
92
  assignments.push(assignment);
92
93
 
package/lib/assignment.js DELETED
@@ -1,74 +0,0 @@
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 Assignment;
9
- }
10
- });
11
- function _class_call_check(instance, Constructor) {
12
- if (!(instance instanceof Constructor)) {
13
- throw new TypeError("Cannot call a class as a function");
14
- }
15
- }
16
- function _defineProperties(target, props) {
17
- for(var i = 0; i < props.length; i++){
18
- var descriptor = props[i];
19
- descriptor.enumerable = descriptor.enumerable || false;
20
- descriptor.configurable = true;
21
- if ("value" in descriptor) descriptor.writable = true;
22
- Object.defineProperty(target, descriptor.key, descriptor);
23
- }
24
- }
25
- function _create_class(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
30
- var Assignment = /*#__PURE__*/ function() {
31
- function Assignment(variable) {
32
- _class_call_check(this, Assignment);
33
- this.variable = variable;
34
- }
35
- _create_class(Assignment, [
36
- {
37
- key: "getVariable",
38
- value: function getVariable() {
39
- return this.variable;
40
- }
41
- },
42
- {
43
- key: "assign",
44
- value: function assign(proofContext) {
45
- proofContext.addVariable(this.variable);
46
- }
47
- },
48
- {
49
- key: "match",
50
- value: function match(assignment) {
51
- var variable = assignment.getVariable(), variableMatches = variable.match(this.variable), matches = variableMatches; ///
52
- return matches;
53
- }
54
- },
55
- {
56
- key: "matchNameAndType",
57
- value: function matchNameAndType(name, type) {
58
- var variableMatchesNameAndType = this.variable.matchNameAndType(name, type), nameAndTypeMatch = variableMatchesNameAndType; ///
59
- return nameAndTypeMatch;
60
- }
61
- }
62
- ], [
63
- {
64
- key: "fromVariable",
65
- value: function fromVariable(variable) {
66
- var assignment = new Assignment(variable);
67
- return assignment;
68
- }
69
- }
70
- ]);
71
- return Assignment;
72
- }();
73
-
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NpZ25tZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBc3NpZ25tZW50IHtcbiAgY29uc3RydWN0b3IodmFyaWFibGUpIHtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGFzc2lnbihwcm9vZkNvbnRleHQpIHtcbiAgICBwcm9vZkNvbnRleHQuYWRkVmFyaWFibGUodGhpcy52YXJpYWJsZSk7XG4gIH1cblxuICBtYXRjaChhc3NpZ25tZW50KSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSBhc3NpZ25tZW50LmdldFZhcmlhYmxlKCksXG4gICAgICAgICAgdmFyaWFibGVNYXRjaGVzID0gdmFyaWFibGUubWF0Y2godGhpcy52YXJpYWJsZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IHZhcmlhYmxlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWVBbmRUeXBlKG5hbWUsIHR5cGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZU1hdGNoZXNOYW1lQW5kVHlwZSA9IHRoaXMudmFyaWFibGUubWF0Y2hOYW1lQW5kVHlwZShuYW1lLCB0eXBlKSxcbiAgICAgICAgICBuYW1lQW5kVHlwZU1hdGNoID0gdmFyaWFibGVNYXRjaGVzTmFtZUFuZFR5cGU7IC8vL1xuXG4gICAgcmV0dXJuIG5hbWVBbmRUeXBlTWF0Y2g7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlKHZhcmlhYmxlKSB7XG4gICAgY29uc3QgYXNzaWdubWVudCA9IG5ldyBBc3NpZ25tZW50KHZhcmlhYmxlKTtcblxuICAgIHJldHVybiBhc3NpZ25tZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQXNzaWdubWVudCIsInZhcmlhYmxlIiwiZ2V0VmFyaWFibGUiLCJhc3NpZ24iLCJwcm9vZkNvbnRleHQiLCJhZGRWYXJpYWJsZSIsIm1hdGNoIiwiYXNzaWdubWVudCIsInZhcmlhYmxlTWF0Y2hlcyIsIm1hdGNoZXMiLCJtYXRjaE5hbWVBbmRUeXBlIiwibmFtZSIsInR5cGUiLCJ2YXJpYWJsZU1hdGNoZXNOYW1lQW5kVHlwZSIsIm5hbWVBbmRUeXBlTWF0Y2giLCJmcm9tVmFyaWFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsMkJBQU47YUFBTUEsV0FDUEMsUUFBUTtnQ0FEREQ7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFGQ0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFFBQVE7WUFDdEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsWUFBWTtnQkFDakJBLGFBQWFDLFdBQVcsQ0FBQyxJQUFJLENBQUNKLFFBQVE7WUFDeEM7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsVUFBVTtnQkFDZCxJQUFNTixXQUFXTSxXQUFXTCxXQUFXLElBQ2pDTSxrQkFBa0JQLFNBQVNLLEtBQUssQ0FBQyxJQUFJLENBQUNMLFFBQVEsR0FDOUNRLFVBQVVELGlCQUFrQixHQUFHO2dCQUVyQyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsSUFBSSxFQUFFQyxJQUFJO2dCQUN6QixJQUFNQyw2QkFBNkIsSUFBSSxDQUFDWixRQUFRLENBQUNTLGdCQUFnQixDQUFDQyxNQUFNQyxPQUNsRUUsbUJBQW1CRCw0QkFBNEIsR0FBRztnQkFFeEQsT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhZCxRQUFRO2dCQUMxQixJQUFNTSxhQUFhLElBN0JGUCxXQTZCaUJDO2dCQUVsQyxPQUFPTTtZQUNUOzs7V0FoQ21CUCJ9
@@ -1,192 +0,0 @@
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 _default;
9
- }
10
- });
11
- var _file = /*#__PURE__*/ _interop_require_default(require("../mixins/file"));
12
- var _logging = /*#__PURE__*/ _interop_require_default(require("../mixins/logging"));
13
- var _array = require("../utilities/array");
14
- function _array_like_to_array(arr, len) {
15
- if (len == null || len > arr.length) len = arr.length;
16
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17
- return arr2;
18
- }
19
- function _array_without_holes(arr) {
20
- if (Array.isArray(arr)) return _array_like_to_array(arr);
21
- }
22
- function _class_call_check(instance, Constructor) {
23
- if (!(instance instanceof Constructor)) {
24
- throw new TypeError("Cannot call a class as a function");
25
- }
26
- }
27
- function _defineProperties(target, props) {
28
- for(var i = 0; i < props.length; i++){
29
- var descriptor = props[i];
30
- descriptor.enumerable = descriptor.enumerable || false;
31
- descriptor.configurable = true;
32
- if ("value" in descriptor) descriptor.writable = true;
33
- Object.defineProperty(target, descriptor.key, descriptor);
34
- }
35
- }
36
- function _create_class(Constructor, protoProps, staticProps) {
37
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
38
- if (staticProps) _defineProperties(Constructor, staticProps);
39
- return Constructor;
40
- }
41
- function _interop_require_default(obj) {
42
- return obj && obj.__esModule ? obj : {
43
- default: obj
44
- };
45
- }
46
- function _iterable_to_array(iter) {
47
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
48
- }
49
- function _non_iterable_spread() {
50
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
- }
52
- function _to_consumable_array(arr) {
53
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
54
- }
55
- function _unsupported_iterable_to_array(o, minLen) {
56
- if (!o) return;
57
- if (typeof o === "string") return _array_like_to_array(o, minLen);
58
- var n = Object.prototype.toString.call(o).slice(8, -1);
59
- if (n === "Object" && o.constructor) n = o.constructor.name;
60
- if (n === "Map" || n === "Set") return Array.from(n);
61
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
62
- }
63
- var MetaproofContext = /*#__PURE__*/ function() {
64
- function MetaproofContext(context, metavariables, metaproofSteps) {
65
- _class_call_check(this, MetaproofContext);
66
- this.context = context;
67
- this.metavariables = metavariables;
68
- this.metaproofSteps = metaproofSteps;
69
- }
70
- _create_class(MetaproofContext, [
71
- {
72
- key: "getContext",
73
- value: function getContext() {
74
- return this.context;
75
- }
76
- },
77
- {
78
- key: "getMetavariables",
79
- value: function getMetavariables() {
80
- var metavariables = [];
81
- (0, _array.push)(metavariables, this.metavariables);
82
- var contextMetavariables = this.context.getMetavariables();
83
- (0, _array.push)(metavariables, contextMetavariables);
84
- return metavariables;
85
- }
86
- },
87
- {
88
- key: "getMetaproofSteps",
89
- value: function getMetaproofSteps() {
90
- var metaproofSteps = this.context.getMetaproofSteps();
91
- metaproofSteps = _to_consumable_array(metaproofSteps).concat(_to_consumable_array(this.metaproofSteps));
92
- return metaproofSteps;
93
- }
94
- },
95
- {
96
- key: "getVariables",
97
- value: function getVariables() {
98
- return this.context.getVariables();
99
- }
100
- },
101
- {
102
- key: "getLastMetaproofStep",
103
- value: function getLastMetaproofStep() {
104
- var lastMetaproofStep = null;
105
- var metaproofStepsLength = this.metaproofSteps.length;
106
- if (metaproofStepsLength > 0) {
107
- lastMetaproofStep = (0, _array.last)(this.metaproofSteps);
108
- }
109
- return lastMetaproofStep;
110
- }
111
- },
112
- {
113
- key: "addMetavariable",
114
- value: function addMetavariable(metavariable) {
115
- var metavariableName = metavariable.getName();
116
- (0, _array.filter)(this.metavariables, function(metavariable) {
117
- var name = metavariable.getName(), nameMetavariableName = name === metavariableName;
118
- if (!nameMetavariableName) {
119
- return true;
120
- }
121
- });
122
- this.metavariables.push(metavariable);
123
- }
124
- },
125
- {
126
- key: "addMetaproofStep",
127
- value: function addMetaproofStep(metaproofStep) {
128
- this.metaproofSteps.push(metaproofStep);
129
- }
130
- },
131
- {
132
- key: "matchMetastatement",
133
- value: function matchMetastatement(metastatementNode) {
134
- var metastatementMatches = false;
135
- if (!metastatementMatches) {
136
- var proofStepMatchesMetastatement = this.metaproofSteps.some(function(metaproofStep) {
137
- var proofStepMatchesMetastatement = metaproofStep.match(metastatementNode);
138
- if (proofStepMatchesMetastatement) {
139
- return true;
140
- }
141
- });
142
- metastatementMatches = proofStepMatchesMetastatement; ///
143
- }
144
- if (!metastatementMatches) {
145
- metastatementMatches = this.context.matchMetastatement(metastatementNode);
146
- }
147
- return metastatementMatches;
148
- }
149
- },
150
- {
151
- key: "findMetavariableByMetavariableName",
152
- value: function findMetavariableByMetavariableName(metavariableName) {
153
- var name = metavariableName, metavariables = this.getMetavariables(), metavariable = metavariables.find(function(metavariable) {
154
- var matches = metavariable.matchName(name);
155
- if (matches) {
156
- return true;
157
- }
158
- }) || null;
159
- return metavariable;
160
- }
161
- },
162
- {
163
- key: "isMetavariablePresentByMetavariableName",
164
- value: function isMetavariablePresentByMetavariableName(metavariableName) {
165
- var metavariable = this.findMetavariableByMetavariableName(metavariableName), metavariablePresent = metavariable !== null;
166
- return metavariablePresent;
167
- }
168
- }
169
- ], [
170
- {
171
- key: "fromFileContext",
172
- value: function fromFileContext(fileContext) {
173
- var context = fileContext, metavariables = [], metaproofSteps = [], metaproofContext = new MetaproofContext(context, metavariables, metaproofSteps);
174
- return metaproofContext;
175
- }
176
- },
177
- {
178
- key: "fromMetaproofContext",
179
- value: function fromMetaproofContext(metaproofContext) {
180
- var context = metaproofContext, metavariables = [], metaproofSteps = [];
181
- metaproofContext = new MetaproofContext(context, metavariables, metaproofSteps); ///
182
- return metaproofContext;
183
- }
184
- }
185
- ]);
186
- return MetaproofContext;
187
- }();
188
- Object.assign(MetaproofContext.prototype, _file.default);
189
- Object.assign(MetaproofContext.prototype, _logging.default);
190
- var _default = MetaproofContext;
191
-
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZpbGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9maWxlXCI7XG5pbXBvcnQgbG9nZ2luZ01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2xvZ2dpbmdcIjtcblxuaW1wb3J0IHsgcHVzaCwgbGFzdCwgZmlsdGVyIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5jbGFzcyBNZXRhcHJvb2ZDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgbWV0YXZhcmlhYmxlcywgbWV0YXByb29mU3RlcHMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMubWV0YXZhcmlhYmxlcyA9IG1ldGF2YXJpYWJsZXM7XG4gICAgdGhpcy5tZXRhcHJvb2ZTdGVwcyA9IG1ldGFwcm9vZlN0ZXBzO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcygpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKG1ldGF2YXJpYWJsZXMsIHRoaXMubWV0YXZhcmlhYmxlcyk7XG5cbiAgICBjb25zdCBjb250ZXh0TWV0YXZhcmlhYmxlcyA9IHRoaXMuY29udGV4dC5nZXRNZXRhdmFyaWFibGVzKCk7XG5cbiAgICBwdXNoKG1ldGF2YXJpYWJsZXMsIGNvbnRleHRNZXRhdmFyaWFibGVzKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0TWV0YXByb29mU3RlcHMoKSB7XG4gICAgbGV0IG1ldGFwcm9vZlN0ZXBzID0gdGhpcy5jb250ZXh0LmdldE1ldGFwcm9vZlN0ZXBzKCk7XG5cbiAgICBtZXRhcHJvb2ZTdGVwcyA9IFsgIC8vL1xuICAgICAgLi4ubWV0YXByb29mU3RlcHMsXG4gICAgICAuLi50aGlzLm1ldGFwcm9vZlN0ZXBzXG4gICAgXTtcblxuICAgIHJldHVybiBtZXRhcHJvb2ZTdGVwcztcbiAgfVxuXG4gIGdldFZhcmlhYmxlcygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYXJpYWJsZXMoKTsgfVxuXG4gIGdldExhc3RNZXRhcHJvb2ZTdGVwKCkge1xuICAgIGxldCBsYXN0TWV0YXByb29mU3RlcCA9IG51bGw7XG5cbiAgICBjb25zdCBtZXRhcHJvb2ZTdGVwc0xlbmd0aCA9IHRoaXMubWV0YXByb29mU3RlcHMubGVuZ3RoO1xuXG4gICAgaWYgKG1ldGFwcm9vZlN0ZXBzTGVuZ3RoID4gMCkge1xuICAgICAgbGFzdE1ldGFwcm9vZlN0ZXAgPSBsYXN0KHRoaXMubWV0YXByb29mU3RlcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0TWV0YXByb29mU3RlcDtcbiAgfVxuXG4gIGFkZE1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlLmdldE5hbWUoKTtcblxuICAgIGZpbHRlcih0aGlzLm1ldGF2YXJpYWJsZXMsIChtZXRhdmFyaWFibGUpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBtZXRhdmFyaWFibGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbmFtZU1ldGF2YXJpYWJsZU5hbWUgPSAobmFtZSA9PT0gbWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICAgIGlmICghbmFtZU1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1ldGF2YXJpYWJsZXMucHVzaChtZXRhdmFyaWFibGUpO1xuICB9XG5cbiAgYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKSB7XG4gICAgdGhpcy5tZXRhcHJvb2ZTdGVwcy5wdXNoKG1ldGFwcm9vZlN0ZXApO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBpZiAoIW1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCA9IHRoaXMubWV0YXByb29mU3RlcHMuc29tZSgobWV0YXByb29mU3RlcCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCA9IG1ldGFwcm9vZlN0ZXAubWF0Y2gobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIGlmIChwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKCFtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE1hdGNoZXM7XG4gIH1cblxuICBmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gbWV0YXZhcmlhYmxlTmFtZSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZXMgPSB0aGlzLmdldE1ldGF2YXJpYWJsZXMoKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVzLmZpbmQoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IG1ldGF2YXJpYWJsZS5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGUgPSB0aGlzLmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IChtZXRhdmFyaWFibGUgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIG1ldGFwcm9vZlN0ZXBzID0gW10sXG4gICAgICAgICAgbWV0YXByb29mQ29udGV4dCA9IG5ldyBNZXRhcHJvb2ZDb250ZXh0KGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzKTtcblxuICAgIHJldHVybiBtZXRhcHJvb2ZDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhcHJvb2ZDb250ZXh0KG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbWV0YXByb29mQ29udGV4dCwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZTdGVwcyA9IFtdO1xuXG4gICAgbWV0YXByb29mQ29udGV4dCA9IG5ldyBNZXRhcHJvb2ZDb250ZXh0KGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzKTsgIC8vL1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZkNvbnRleHQ7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihNZXRhcHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgZmlsZU1peGlucyk7XG5PYmplY3QuYXNzaWduKE1ldGFwcm9vZkNvbnRleHQucHJvdG90eXBlLCBsb2dnaW5nTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXByb29mQ29udGV4dDsiXSwibmFtZXMiOlsiTWV0YXByb29mQ29udGV4dCIsImNvbnRleHQiLCJtZXRhdmFyaWFibGVzIiwibWV0YXByb29mU3RlcHMiLCJnZXRDb250ZXh0IiwiZ2V0TWV0YXZhcmlhYmxlcyIsInB1c2giLCJjb250ZXh0TWV0YXZhcmlhYmxlcyIsImdldE1ldGFwcm9vZlN0ZXBzIiwiZ2V0VmFyaWFibGVzIiwiZ2V0TGFzdE1ldGFwcm9vZlN0ZXAiLCJsYXN0TWV0YXByb29mU3RlcCIsIm1ldGFwcm9vZlN0ZXBzTGVuZ3RoIiwibGVuZ3RoIiwibGFzdCIsImFkZE1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZU5hbWUiLCJnZXROYW1lIiwiZmlsdGVyIiwibmFtZSIsIm5hbWVNZXRhdmFyaWFibGVOYW1lIiwiYWRkTWV0YXByb29mU3RlcCIsIm1ldGFwcm9vZlN0ZXAiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRNYXRjaGVzIiwicHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJzb21lIiwibWF0Y2giLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lIiwiZmluZCIsIm1hdGNoZXMiLCJtYXRjaE5hbWUiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVQcmVzZW50IiwiZnJvbUZpbGVDb250ZXh0IiwiZmlsZUNvbnRleHQiLCJtZXRhcHJvb2ZDb250ZXh0IiwiZnJvbU1ldGFwcm9vZkNvbnRleHQiLCJPYmplY3QiLCJh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
@@ -1,245 +0,0 @@
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 _default;
9
- }
10
- });
11
- var _variable = /*#__PURE__*/ _interop_require_default(require("../variable"));
12
- var _equality = /*#__PURE__*/ _interop_require_default(require("../equality"));
13
- var _file = /*#__PURE__*/ _interop_require_default(require("../mixins/file"));
14
- var _logging = /*#__PURE__*/ _interop_require_default(require("../mixins/logging"));
15
- var _array = require("../utilities/array");
16
- function _array_like_to_array(arr, len) {
17
- if (len == null || len > arr.length) len = arr.length;
18
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19
- return arr2;
20
- }
21
- function _array_without_holes(arr) {
22
- if (Array.isArray(arr)) return _array_like_to_array(arr);
23
- }
24
- function _class_call_check(instance, Constructor) {
25
- if (!(instance instanceof Constructor)) {
26
- throw new TypeError("Cannot call a class as a function");
27
- }
28
- }
29
- function _defineProperties(target, props) {
30
- for(var i = 0; i < props.length; i++){
31
- var descriptor = props[i];
32
- descriptor.enumerable = descriptor.enumerable || false;
33
- descriptor.configurable = true;
34
- if ("value" in descriptor) descriptor.writable = true;
35
- Object.defineProperty(target, descriptor.key, descriptor);
36
- }
37
- }
38
- function _create_class(Constructor, protoProps, staticProps) {
39
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
40
- if (staticProps) _defineProperties(Constructor, staticProps);
41
- return Constructor;
42
- }
43
- function _interop_require_default(obj) {
44
- return obj && obj.__esModule ? obj : {
45
- default: obj
46
- };
47
- }
48
- function _iterable_to_array(iter) {
49
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
50
- }
51
- function _non_iterable_spread() {
52
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
53
- }
54
- function _to_consumable_array(arr) {
55
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
56
- }
57
- function _unsupported_iterable_to_array(o, minLen) {
58
- if (!o) return;
59
- if (typeof o === "string") return _array_like_to_array(o, minLen);
60
- var n = Object.prototype.toString.call(o).slice(8, -1);
61
- if (n === "Object" && o.constructor) n = o.constructor.name;
62
- if (n === "Map" || n === "Set") return Array.from(n);
63
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
64
- }
65
- var ProofContext = /*#__PURE__*/ function() {
66
- function ProofContext(context, variables, proofSteps) {
67
- _class_call_check(this, ProofContext);
68
- this.context = context;
69
- this.variables = variables;
70
- this.proofSteps = proofSteps;
71
- }
72
- _create_class(ProofContext, [
73
- {
74
- key: "getContext",
75
- value: function getContext() {
76
- return this.context;
77
- }
78
- },
79
- {
80
- key: "getVariables",
81
- value: function getVariables() {
82
- var variables = [];
83
- (0, _array.push)(variables, this.variables);
84
- var contextVariables = this.context.getVariables();
85
- (0, _array.push)(variables, contextVariables);
86
- return variables;
87
- }
88
- },
89
- {
90
- key: "getProofSteps",
91
- value: function getProofSteps() {
92
- var proofSteps = this.context.getProofSteps();
93
- proofSteps = _to_consumable_array(proofSteps).concat(_to_consumable_array(this.proofSteps));
94
- return proofSteps;
95
- }
96
- },
97
- {
98
- key: "getLastProofStep",
99
- value: function getLastProofStep() {
100
- var lastProofStep = null;
101
- var proofStepsLength = this.proofSteps.length;
102
- if (proofStepsLength > 0) {
103
- lastProofStep = (0, _array.last)(this.proofSteps);
104
- }
105
- return lastProofStep;
106
- }
107
- },
108
- {
109
- key: "getMetavariables",
110
- value: function getMetavariables() {
111
- return this.context.getMetavariables();
112
- }
113
- },
114
- {
115
- key: "getEqualities",
116
- value: function getEqualities() {
117
- var equalities = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
118
- this.context.getEqualities(equalities);
119
- this.proofSteps.forEach(function(proofStep) {
120
- var equality = _equality.default.fromProofStep(proofStep);
121
- if (equality !== null) {
122
- equalities.push(equality);
123
- }
124
- });
125
- return equalities;
126
- }
127
- },
128
- {
129
- key: "addVariable",
130
- value: function addVariable(variable) {
131
- var variableName = variable.getName();
132
- (0, _array.filter)(this.variables, function(variable) {
133
- var name = variable.getName(), nameVariableName = name === variableName;
134
- if (!nameVariableName) {
135
- return true;
136
- }
137
- });
138
- this.variables.push(variable);
139
- }
140
- },
141
- {
142
- key: "addProofStep",
143
- value: function addProofStep(proofStep) {
144
- this.proofSteps.push(proofStep);
145
- }
146
- },
147
- {
148
- key: "matchStatement",
149
- value: function matchStatement(statementNode) {
150
- var statementMatches = false;
151
- if (!statementMatches) {
152
- var proofStepMatchesStatement = this.proofSteps.some(function(proofStep) {
153
- var proofStepMatchesStatement = proofStep.match(statementNode);
154
- if (proofStepMatchesStatement) {
155
- return true;
156
- }
157
- });
158
- statementMatches = proofStepMatchesStatement; ///
159
- }
160
- if (!statementMatches) {
161
- statementMatches = this.context.matchStatement(statementNode);
162
- }
163
- return statementMatches;
164
- }
165
- },
166
- {
167
- key: "findVariableByVariableName",
168
- value: function findVariableByVariableName(variableName) {
169
- var name = variableName, variables = this.getVariables(), variable = variables.find(function(variable) {
170
- var matches = variable.matchName(name);
171
- if (matches) {
172
- return true;
173
- }
174
- }) || null;
175
- return variable;
176
- }
177
- },
178
- {
179
- key: "isVariablePresentByVariableName",
180
- value: function isVariablePresentByVariableName(variableName) {
181
- var variable = this.findVariableByVariableName(variableName), variablePresent = variable !== null;
182
- return variablePresent;
183
- }
184
- },
185
- {
186
- key: "toJSON",
187
- value: function toJSON(tokens) {
188
- var variables = this.variables.map(function(variable) {
189
- var variableJSON = variable.toJSON(tokens);
190
- variable = variableJSON;
191
- return variable;
192
- }), json = {
193
- variables: variables
194
- };
195
- return json;
196
- }
197
- }
198
- ], [
199
- {
200
- key: "fromFileContext",
201
- value: function fromFileContext(fileContext) {
202
- var context = fileContext, variables = [], proofSteps = [], proofContext = new ProofContext(context, variables, proofSteps);
203
- return proofContext;
204
- }
205
- },
206
- {
207
- key: "fromProofContext",
208
- value: function fromProofContext(proofContext) {
209
- var context = proofContext, variables = [], proofSteps = [];
210
- proofContext = new ProofContext(context, variables, proofSteps);
211
- return proofContext;
212
- }
213
- },
214
- {
215
- key: "fromJSONAndFileContext",
216
- value: function fromJSONAndFileContext(json, fileContext) {
217
- var variables = json.variables;
218
- var variablesJSON = variables;
219
- variables = variablesJSON.map(function(variableJSON) {
220
- var _$json = variableJSON, variable = _variable.default.fromJSONAndFileContext(_$json, fileContext);
221
- return variable;
222
- });
223
- var context = fileContext, proofSteps = [], proofContext = new ProofContext(context, variables, proofSteps);
224
- return proofContext;
225
- }
226
- },
227
- {
228
- key: "fromProofContextAndAssignments",
229
- value: function fromProofContextAndAssignments(proofContext, assignments) {
230
- var context = proofContext, variables = assignments.map(function(assignment) {
231
- var variable = assignment.getVariable();
232
- return variable;
233
- }), proofSteps = [];
234
- proofContext = new ProofContext(context, variables, proofSteps);
235
- return proofContext;
236
- }
237
- }
238
- ]);
239
- return ProofContext;
240
- }();
241
- Object.assign(ProofContext.prototype, _file.default);
242
- Object.assign(ProofContext.prototype, _logging.default);
243
- var _default = ProofContext;
244
-
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3Byb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVmFyaWFibGUgZnJvbSBcIi4uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgRXF1YWxpdHkgZnJvbSBcIi4uL2VxdWFsaXR5XCI7XG5pbXBvcnQgZmlsZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2ZpbGVcIjtcbmltcG9ydCBsb2dnaW5nTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbG9nZ2luZ1wiO1xuXG5pbXBvcnQgeyBwdXNoLCBsYXN0LCBmaWx0ZXIgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmNsYXNzIFByb29mQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcywgcHJvb2ZTdGVwcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gICAgdGhpcy5wcm9vZlN0ZXBzID0gcHJvb2ZTdGVwcztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldFZhcmlhYmxlcygpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHB1c2godmFyaWFibGVzLCB0aGlzLnZhcmlhYmxlcyk7XG5cbiAgICBjb25zdCBjb250ZXh0VmFyaWFibGVzID0gdGhpcy5jb250ZXh0LmdldFZhcmlhYmxlcygpO1xuXG4gICAgcHVzaCh2YXJpYWJsZXMsIGNvbnRleHRWYXJpYWJsZXMpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb29mU3RlcHMoKSB7XG4gICAgbGV0IHByb29mU3RlcHMgPSB0aGlzLmNvbnRleHQuZ2V0UHJvb2ZTdGVwcygpO1xuXG4gICAgcHJvb2ZTdGVwcyA9IFtcbiAgICAgIC4uLnByb29mU3RlcHMsXG4gICAgICAuLi50aGlzLnByb29mU3RlcHNcbiAgICBdO1xuXG4gICAgcmV0dXJuIHByb29mU3RlcHM7XG4gIH1cblxuICBnZXRMYXN0UHJvb2ZTdGVwKCkge1xuICAgIGxldCBsYXN0UHJvb2ZTdGVwID0gbnVsbDtcblxuICAgIGNvbnN0IHByb29mU3RlcHNMZW5ndGggPSB0aGlzLnByb29mU3RlcHMubGVuZ3RoO1xuXG4gICAgaWYgKHByb29mU3RlcHNMZW5ndGggPiAwKSB7XG4gICAgICBsYXN0UHJvb2ZTdGVwID0gbGFzdCh0aGlzLnByb29mU3RlcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0UHJvb2ZTdGVwO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRNZXRhdmFyaWFibGVzKCk7IH1cblxuICBnZXRFcXVhbGl0aWVzKGVxdWFsaXRpZXMgPSBbXSkge1xuICAgIHRoaXMuY29udGV4dC5nZXRFcXVhbGl0aWVzKGVxdWFsaXRpZXMpO1xuXG4gICAgdGhpcy5wcm9vZlN0ZXBzLmZvckVhY2goKHByb29mU3RlcCkgPT4ge1xuICAgICAgY29uc3QgZXF1YWxpdHkgPSBFcXVhbGl0eS5mcm9tUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgIGlmIChlcXVhbGl0eSAhPT0gbnVsbCkge1xuICAgICAgICBlcXVhbGl0aWVzLnB1c2goZXF1YWxpdHkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGVxdWFsaXRpZXM7XG4gIH1cblxuICBhZGRWYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmdldE5hbWUoKTtcblxuICAgIGZpbHRlcih0aGlzLnZhcmlhYmxlcywgKHZhcmlhYmxlKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gdmFyaWFibGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbmFtZVZhcmlhYmxlTmFtZSA9IChuYW1lID09PSB2YXJpYWJsZU5hbWUpO1xuXG4gICAgICBpZiAoIW5hbWVWYXJpYWJsZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnZhcmlhYmxlcy5wdXNoKHZhcmlhYmxlKTtcbiAgfVxuXG4gIGFkZFByb29mU3RlcChwcm9vZlN0ZXApIHtcbiAgICB0aGlzLnByb29mU3RlcHMucHVzaChwcm9vZlN0ZXApO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBzdGF0ZW1lbnRNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHByb29mU3RlcE1hdGNoZXNTdGF0ZW1lbnQgPSB0aGlzLnByb29mU3RlcHMuc29tZSgocHJvb2ZTdGVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb29mU3RlcE1hdGNoZXNTdGF0ZW1lbnQgPSBwcm9vZlN0ZXAubWF0Y2goc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKHByb29mU3RlcE1hdGNoZXNTdGF0ZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHN0YXRlbWVudE1hdGNoZXMgPSBwcm9vZlN0ZXBNYXRjaGVzU3RhdGVtZW50OyAvLy9cbiAgICB9XG5cbiAgICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICAgIHN0YXRlbWVudE1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE1hdGNoZXM7XG4gIH1cblxuICBmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdmFyaWFibGVOYW1lLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGVzID0gdGhpcy5nZXRWYXJpYWJsZXMoKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoTmFtZShuYW1lKTtcblxuICAgICAgICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIGlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gdGhpcy52YXJpYWJsZXMubWFwKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVKU09OID0gdmFyaWFibGUudG9KU09OKHRva2Vucyk7XG5cbiAgICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVKU09OO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFyaWFibGU7XG4gICAgICAgICAgfSksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHZhcmlhYmxlc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBwcm9vZlN0ZXBzID0gW10sXG4gICAgICAgICAgcHJvb2ZDb250ZXh0ID0gbmV3IFByb29mQ29udGV4dChjb250ZXh0LCB2YXJpYWJsZXMsIHByb29mU3RlcHMpO1xuXG4gICAgcmV0dXJuIHByb29mQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvb2ZDb250ZXh0KHByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBwcm9vZkNvbnRleHQsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBwcm9vZlN0ZXBzID0gW107XG5cbiAgICBwcm9vZkNvbnRleHQgPSBuZXcgUHJvb2ZDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcywgcHJvb2ZTdGVwcyk7XG5cbiAgICByZXR1cm4gcHJvb2ZDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgeyB2YXJpYWJsZXMgfSA9IGpzb247XG5cbiAgICBjb25zdCB2YXJpYWJsZXNKU09OID0gdmFyaWFibGVzO1xuXG4gICAgdmFyaWFibGVzID0gdmFyaWFibGVzSlNPTi5tYXAoKHZhcmlhYmxlSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IHZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHZhcmlhYmxlO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgcHJvb2ZTdGVwcyA9IFtdLFxuICAgICAgICAgIHByb29mQ29udGV4dCA9IG5ldyBQcm9vZkNvbnRleHQoY29udGV4dCwgdmFyaWFibGVzLCBwcm9vZlN0ZXBzKTtcblxuICAgIHJldHVybiBwcm9vZkNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb29mQ29udGV4dEFuZEFzc2lnbm1lbnRzKHByb29mQ29udGV4dCwgYXNzaWdubWVudHMpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gcHJvb2ZDb250ZXh0LCAgLy8vXG4gICAgICAgICAgdmFyaWFibGVzID0gYXNzaWdubWVudHMubWFwKChhc3NpZ25tZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZSA9IGFzc2lnbm1lbnQuZ2V0VmFyaWFibGUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhcmlhYmxlO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHByb29mU3RlcHMgPSBbXTtcblxuICAgIHByb29mQ29udGV4dCA9IG5ldyBQcm9vZkNvbnRleHQoY29udGV4dCwgdmFyaWFibGVzLCBwcm9vZlN0ZXBzKTtcblxuICAgIHJldHVybiBwcm9vZkNvbnRleHQ7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihQcm9vZkNvbnRleHQucHJvdG90eXBlLCBmaWxlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oUHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgbG9nZ2luZ01peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IFByb29mQ29udGV4dDtcbiJdLCJuYW1lcyI6WyJQcm9vZkNvbnRleHQiLCJjb250ZXh0IiwidmFyaWFibGVzIiwicHJvb2ZTdGVwcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJwdXNoIiwiY29udGV4dFZhcmlhYmxlcyIsImdldFByb29mU3RlcHMiLCJnZXRMYXN0UHJvb2ZTdGVwIiwibGFzdFByb29mU3RlcCIsInByb29mU3RlcHNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0IiwiZ2V0TWV0YXZhcmlhYmxlcyIsImdldEVxdWFsaXRpZXMiLCJlcXVhbGl0aWVzIiwiZm9yRWFjaCIsInByb29mU3RlcCIsImVxdWFsaXR5IiwiRXF1YWxpdHkiLCJmcm9tUHJvb2ZTdGVwIiwiYWRkVmFyaWFibGUiLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsImdldE5hbWUiLCJmaWx0ZXIiLCJuYW1lIiwibmFtZVZhcmlhYmxlTmFtZSIsImFkZFByb29mU3RlcCIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE1hdGNoZXMiLCJwcm9vZlN0ZXBNYXRjaGVzU3RhdGVtZW50Iiwic29tZSIsIm1hdGNoIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUiLCJmaW5kIiwibWF0Y2hlcyIsIm1hdGNoTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJ0b0pTT04iLCJ0b2tlbnMiLCJtYXAiLCJ2YXJpYWJsZUpTT04iLCJqc29uIiwiZnJvbUZpbGVDb250ZXh0IiwiZmlsZUNvbnRleHQiLCJwcm9vZkNvbnRleHQiLCJmcm9tUHJvb2ZDb250ZXh0IiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsInZhcmlhYmxlc0pTT04iLCJWYXJpYWJsZSIsImZyb21Qcm9vZkNvbnRleHRBbmRBc3NpZ25tZW50cyIsImFzc2lnbm1lbnRzIiwiYXNzaWdubWVudCIsImdldFZhcmlhYmxlIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZmlsZU1peGlucyIsImxvZ2dpbmdNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRNQTs7O2VBQUE7OzsrREExTXFCOytEQUNBOzJEQUNFOzhEQUNHO3FCQUVTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxJQUFBLEFBQU1BLDZCQWdNSCxBQWhNSDthQUFNQSxhQUNRQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsVUFBVTtnQ0FEdENIO1FBRUYsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBSmhCSDs7WUFPSkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxPQUFPO1lBQ3JCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1ILFlBQVksRUFBRTtnQkFFcEJJLElBQUFBLFdBQUksRUFBQ0os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