occam-verify-cli 0.0.454 → 0.0.456

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 (55) hide show
  1. package/lib/axiom.js +26 -46
  2. package/lib/combinator.js +2 -3
  3. package/lib/conclusion.js +2 -3
  4. package/lib/constructor.js +2 -3
  5. package/lib/label.js +2 -3
  6. package/lib/lemma.js +26 -46
  7. package/lib/premise.js +2 -3
  8. package/lib/ruleNames.js +5 -1
  9. package/lib/theorem.js +26 -46
  10. package/lib/utilities/string.js +46 -1
  11. package/lib/verify/assertion/type.js +55 -0
  12. package/lib/verify/axiom.js +10 -15
  13. package/lib/verify/equality.js +7 -1
  14. package/lib/verify/lemma.js +13 -22
  15. package/lib/verify/metastatement/qualified.js +4 -3
  16. package/lib/verify/metastatement/unqualified.js +14 -9
  17. package/lib/verify/metastatement.js +19 -0
  18. package/lib/verify/statement/qualified.js +14 -11
  19. package/lib/verify/statement/unqualified.js +13 -9
  20. package/lib/verify/statement.js +5 -8
  21. package/lib/verify/statementAsCombinator.js +3 -2
  22. package/lib/verify/term.js +6 -1
  23. package/lib/verify/termAsConstructor.js +5 -5
  24. package/lib/verify/theorem.js +10 -15
  25. package/lib/verify/type.js +8 -7
  26. package/lib/verify/variable.js +4 -3
  27. package/package.json +3 -3
  28. package/src/axiom.js +27 -54
  29. package/src/combinator.js +3 -3
  30. package/src/conclusion.js +3 -3
  31. package/src/constructor.js +3 -3
  32. package/src/label.js +3 -3
  33. package/src/lemma.js +28 -55
  34. package/src/premise.js +3 -3
  35. package/src/ruleNames.js +1 -0
  36. package/src/theorem.js +32 -59
  37. package/src/utilities/string.js +67 -0
  38. package/src/verify/assertion/type.js +32 -56
  39. package/src/verify/axiom.js +10 -24
  40. package/src/verify/equality.js +9 -0
  41. package/src/verify/lemma.js +14 -37
  42. package/src/verify/metastatement/qualified.js +5 -3
  43. package/src/verify/metastatement/unqualified.js +17 -10
  44. package/src/verify/metastatement.js +15 -0
  45. package/src/verify/statement/qualified.js +20 -8
  46. package/src/verify/statement/unqualified.js +16 -10
  47. package/src/verify/statement.js +5 -8
  48. package/src/verify/statementAsCombinator.js +4 -2
  49. package/src/verify/term.js +8 -0
  50. package/src/verify/termAsConstructor.js +5 -5
  51. package/src/verify/theorem.js +11 -25
  52. package/src/verify/type.js +9 -7
  53. package/src/verify/variable.js +5 -3
  54. package/lib/utilities/node.js +0 -45
  55. package/src/utilities/node.js +0 -50
package/lib/axiom.js CHANGED
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
12
12
  var _kinds = require("./kinds");
13
13
  var _string = require("./utilities/string");
14
- var _node = require("./utilities/node");
15
14
  function _classCallCheck(instance, Constructor) {
16
15
  if (!(instance instanceof Constructor)) {
17
16
  throw new TypeError("Cannot call a class as a function");
@@ -37,12 +36,11 @@ function _interopRequireDefault(obj) {
37
36
  };
38
37
  }
39
38
  var Axiom = /*#__PURE__*/ function() {
40
- function Axiom(labels, statementNode, suppositionStatementNodes, consequentStatementNode) {
39
+ function Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode) {
41
40
  _classCallCheck(this, Axiom);
42
41
  this.labels = labels;
43
- this.statementNode = statementNode;
44
- this.suppositionStatementNodes = suppositionStatementNodes;
45
- this.consequentStatementNode = consequentStatementNode;
42
+ this.unqualifiedStatementNode = unqualifiedStatementNode;
43
+ this.indicativeConditionalNode = indicativeConditionalNode;
46
44
  }
47
45
  _createClass(Axiom, [
48
46
  {
@@ -52,21 +50,15 @@ var Axiom = /*#__PURE__*/ function() {
52
50
  }
53
51
  },
54
52
  {
55
- key: "getStatementNode",
56
- value: function getStatementNode() {
57
- return this.statementNode;
53
+ key: "getUnqualifiedStatementNode",
54
+ value: function getUnqualifiedStatementNode() {
55
+ return this.unqualifiedStatementNode;
58
56
  }
59
57
  },
60
58
  {
61
- key: "getSuppositionStatementNodes",
62
- value: function getSuppositionStatementNodes() {
63
- return this.suppositionStatementNodes;
64
- }
65
- },
66
- {
67
- key: "getConsequentStatementNode",
68
- value: function getConsequentStatementNode() {
69
- return this.consequentStatementNode;
59
+ key: "getIndicativeConditionalNode",
60
+ value: function getIndicativeConditionalNode() {
61
+ return this.indicativeConditionalNode;
70
62
  }
71
63
  },
72
64
  {
@@ -87,15 +79,11 @@ var Axiom = /*#__PURE__*/ function() {
87
79
  var labelsJSON = this.labels.map(function(label) {
88
80
  var labelJSON = label.toJSON();
89
81
  return labelJSON;
90
- }), statementString = (0, _string.nodeAsString)(this.statementNode), consequentStatementString = (0, _string.nodeAsString)(this.consequentStatementNode), suppositionStatementStrings = this.suppositionStatementNodes.map(function(suppositionStatementNode) {
91
- var suppositionStatementString = (0, _string.nodeAsString)(suppositionStatementNode);
92
- return suppositionStatementString;
93
- }), kind = _kinds.AXIOM_KIND, labels = labelsJSON, statement = statementString, consequent = consequentStatementString, suppositions = suppositionStatementStrings, json = {
82
+ }), unqualifiedStatementString = (0, _string.nodeAsString)(this.unqalifiedStatementNode), indicativeConditionalString = (0, _string.nodeAsString)(this.indicativeConditionalNode), kind = _kinds.AXIOM_KIND, labels = labelsJSON, unqualifiedStatement = unqualifiedStatementString, indicativeConditional = indicativeConditionalString, json = {
94
83
  kind: kind,
95
84
  labels: labels,
96
- statement: statement,
97
- consequent: consequent,
98
- suppositions: suppositions
85
+ unqualifiedStatement: unqualifiedStatement,
86
+ indicativeConditional: indicativeConditional
99
87
  };
100
88
  return json;
101
89
  }
@@ -110,32 +98,24 @@ var Axiom = /*#__PURE__*/ function() {
110
98
  var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
111
99
  return label;
112
100
  });
113
- var statement = json.statement, suppositions = json.suppositions, consequent = json.consequent;
114
- var axiom;
115
- if (statement !== null) {
116
- var statementJSON = statement, statementNode = (0, _node.statementNodeFromStatementJSON)(statementJSON, releaseContext), suppositionStatementNodes = null, consequentStatementNode = null;
117
- axiom = new Axiom(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
118
- } else {
119
- var statementNode1 = null, suppositionStatementsJSON = suppositions, suppositionStatementNodes1 = suppositionStatementsJSON.map(function(suppositionStatementJSON) {
120
- var suppositionStatementNode = (0, _node.statementNodeFromStatementJSON)(suppositionStatementJSON, releaseContext);
121
- return suppositionStatementNode;
122
- }), consequentStatementJSON = consequent, consequentStatementNode1 = (0, _node.statementNodeFromStatementJSON)(consequentStatementJSON, releaseContext);
123
- axiom = new Axiom(labels, statementNode1, suppositionStatementNodes1, consequentStatementNode1);
101
+ var unqualifiedStatement = json.unqualifiedStatement, indicativeConditional = json.indicativeConditional;
102
+ var unqualifiedStatementNode = null, indicativeConditionalNode = null;
103
+ if (unqualifiedStatement !== null) {
104
+ var unqualifiedStatementString = unqualifiedStatement; ///
105
+ unqualifiedStatementNode = (0, _string.unqualifiedStatementNodeFromUnqualifiedStatementString)(unqualifiedStatementString, releaseContext);
124
106
  }
107
+ if (indicativeConditional !== null) {
108
+ var indicativeConditionalString = indicativeConditional; ///
109
+ indicativeConditionalNode = (0, _string.indicativeConditionalNodeFromIndicativeConditionalString)(indicativeConditionalString, releaseContext);
110
+ }
111
+ var axiom = new Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode);
125
112
  return axiom;
126
113
  }
127
114
  },
128
115
  {
129
- key: "fromLabelsAndStatementNode",
130
- value: function fromLabelsAndStatementNode(labels, statementNode) {
131
- var suppositionStatementNodes = [], consequentStatementNode = null, axiom = new Axiom(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
132
- return axiom;
133
- }
134
- },
135
- {
136
- key: "fromLabelsSuppositionStatementNodesAndConsequentStatementNode",
137
- value: function fromLabelsSuppositionStatementNodesAndConsequentStatementNode(labels, suppositionStatementNodes, consequentStatementNode) {
138
- var statementNode = null, axiom = new Axiom(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
116
+ key: "fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode",
117
+ value: function fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode(labels, unqualifiedStatementNode, indicativeConditionalNode) {
118
+ var axiom = new Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode);
139
119
  return axiom;
140
120
  }
141
121
  }
@@ -143,4 +123,4 @@ var Axiom = /*#__PURE__*/ function() {
143
123
  return Axiom;
144
124
  }();
145
125
 
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5cbmltcG9ydCB7IEFYSU9NX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5pbXBvcnQgeyBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBeGlvbSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXM7XG4gICAgdGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcztcbiAgfVxuXG4gIGdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgICAgIGxhYmVsTWF0Y2hlc05hbWUgPSBsYWJlbC5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNMYWJlbE5hbWU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTigpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmdzID0gdGhpcy5zdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLm1hcCgoc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmc7XG4gICAgICAgICAgfSksXG4gICAgICAgICAga2luZCA9IEFYSU9NX0tJTkQsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50U3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvblN0YXRlbWVudFN0cmluZ3MsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgc3RhdGVtZW50LFxuICAgICAgICAgICAgY29uc2VxdWVudCxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgc3RhdGVtZW50LCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQgfSA9IGpzb247XG5cbiAgICBsZXQgYXhpb207XG5cbiAgICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OKHN0YXRlbWVudEpTT04sIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMgPSBudWxsLFxuICAgICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudE5vZGUgPSBudWxsO1xuXG4gICAgICBheGlvbSA9IG5ldyBBeGlvbShsYWJlbHMsIHN0YXRlbWVudE5vZGUsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudHNKU09OID0gc3VwcG9zaXRpb25zLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gc3VwcG9zaXRpb25TdGF0ZW1lbnRzSlNPTi5tYXAoKHN1cHBvc2l0aW9uU3RhdGVtZW50SlNPTikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04oc3VwcG9zaXRpb25TdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudEpTT04gPSBjb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OKGNvbnNlcXVlbnRTdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGF4aW9tID0gbmV3IEF4aW9tKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBheGlvbTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzQW5kU3RhdGVtZW50Tm9kZShsYWJlbHMsIHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gW10sXG4gICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGF4aW9tID0gbmV3IEF4aW9tKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGF4aW9tO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzQW5kQ29uc2VxdWVudFN0YXRlbWVudE5vZGUobGFiZWxzLCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLCBjb25zZXF1ZW50U3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGF4aW9tID0gbmV3IEF4aW9tKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGF4aW9tO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkF4aW9tIiwibGFiZWxzIiwic3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMiLCJjb25zZXF1ZW50U3RhdGVtZW50Tm9kZSIsImdldExhYmVscyIsImdldFN0YXRlbWVudE5vZGUiLCJnZXRTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzIiwiZ2V0Q29uc2VxdWVudFN0YXRlbWVudE5vZGUiLCJtYXRjaExhYmVsTmFtZSIsImxhYmVsTmFtZSIsIm1hdGNoZXNMYWJlbE5hbWUiLCJzb21lIiwibGFiZWwiLCJuYW1lIiwibGFiZWxNYXRjaGVzTmFtZSIsIm1hdGNoTmFtZSIsInRvSlNPTiIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb25zZXF1ZW50U3RhdGVtZW50U3RyaW5nIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmdzIiwic3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmciLCJraW5kIiwiQVhJT01fS0lORCIsInN0YXRlbWVudCIsImNvbnNlcXVlbnQiLCJzdXBwb3NpdGlvbnMiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIkxhYmVsIiwiYXhpb20iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRzSlNPTiIsInN1cHBvc2l0aW9uU3RhdGVtZW50SlNPTiIsImNvbnNlcXVlbnRTdGF0ZW1lbnRKU09OIiwiZnJvbUxhYmVsc0FuZFN0YXRlbWVudE5vZGUiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25TdGF0ZW1lbnROb2Rlc0FuZENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzswREFQSDtxQkFFUztzQkFDRTtvQkFFa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsSUFBQSxBQUFNQSxzQkFBTjthQUFNQSxNQUNQQyxNQUFNLEVBQUVDLGFBQWEsRUFBRUMseUJBQXlCLEVBQUVDLHVCQUF1Qjs4QkFEbEVKO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtRQUNyQixJQUFJLENBQUNDLHlCQUF5QixHQUFHQTtRQUNqQyxJQUFJLENBQUNDLHVCQUF1QixHQUFHQTs7aUJBTGRKOztZQVFuQkssS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTtt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
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5cbmltcG9ydCB7IEFYSU9NX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5pbXBvcnQgeyB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGVGcm9tSW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBeGlvbSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGU7XG4gICAgdGhpcy5pbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZTtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0SW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgICAgIGxhYmVsTWF0Y2hlc05hbWUgPSBsYWJlbC5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNMYWJlbE5hbWU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTigpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMudW5xYWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLmluZGljYXRpdmVDb25kaXRpb25hbE5vZGUpLFxuICAgICAgICAgIGtpbmQgPSBBWElPTV9LSU5ELFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCxcbiAgICAgICAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGxldCB7IHVucXVhbGlmaWVkU3RhdGVtZW50LCBpbmRpY2F0aXZlQ29uZGl0aW9uYWwgfSA9IGpzb247XG5cbiAgICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSA9IG51bGw7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnQ7ICAvLy9cblxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGluZGljYXRpdmVDb25kaXRpb25hbCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsOyAgLy8vXG5cbiAgICAgIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUgPSBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlRnJvbUluZGljYXRpdmVDb25kaXRpb25hbFN0cmluZyhpbmRpY2F0aXZlQ29uZGl0aW9uYWxTdHJpbmcsIHJlbGVhc2VDb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb25zdCBheGlvbSA9IG5ldyBBeGlvbShsYWJlbHMsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSk7XG5cbiAgICByZXR1cm4gYXhpb207XG4gIH1cblxuICBzdGF0aWMgZnJvbUxhYmVsc1VucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUFuZEluZGljYXRpdmVDb25kaXRpb25hbE5vZGUobGFiZWxzLCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGUpIHtcbiAgICBjb25zdCBheGlvbSA9IG5ldyBBeGlvbShsYWJlbHMsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSk7XG5cbiAgICByZXR1cm4gYXhpb207XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiQXhpb20iLCJsYWJlbHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlIiwiZ2V0TGFiZWxzIiwiZ2V0VW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiZ2V0SW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSIsIm1hdGNoTGFiZWxOYW1lIiwibGFiZWxOYW1lIiwibWF0Y2hlc0xhYmVsTmFtZSIsInNvbWUiLCJsYWJlbCIsIm5hbWUiLCJsYWJlbE1hdGNoZXNOYW1lIiwibWF0Y2hOYW1lIiwidG9KU09OIiwibGFiZWxzSlNPTiIsIm1hcCIsImxhYmVsSlNPTiIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidW5xYWxpZmllZFN0YXRlbWVudE5vZGUiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxTdHJpbmciLCJraW5kIiwiQVhJT01fS0lORCIsInVucXVhbGlmaWVkU3RhdGVtZW50IiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsIiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJMYWJlbCIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsImluZGljYXRpdmVDb25kaXRpb25hbE5vZGVGcm9tSW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nIiwiYXhpb20iLCJmcm9tTGFiZWxzVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlQW5kSW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7MERBUEg7cUJBRVM7c0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJZCxJQUFBLEFBQU1BLHNCQUFOO2FBQU1BLE1BQ1BDLE1BQU0sRUFBRUMsd0JBQXdCLEVBQUVDLHlCQUF5Qjs4QkFEcERIO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0Msd0JBQXdCLEdBQUdBO1FBQ2hDLElBQUksQ0FBQ0MseUJBQXlCLEdBQUdBOztpQkFKaEJIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsOEJBQThCO2dCQUM1QixPQUFPLElBQUksQ0FBQ0gsd0JBQXdCO1lBQ3RDOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLCtCQUErQjtnQkFDN0IsT0FBTyxJQUFJLENBQUNILHlCQUF5QjtZQUN2Qzs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxTQUFTLEVBQUU7Z0JBQ3hCLElBQU1DLG1CQUFtQixJQUFJLENBQUNSLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDLFNBQUNDLE9BQVU7b0JBQ25ELElBQU1DLE9BQU9KLFdBQ1BLLG1CQUFtQkYsTUFBTUcsU0FBUyxDQUFDRjtvQkFFekMsSUFBSUMsa0JBQWtCO3dCQUNwQixPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSDtnQkFFQSxPQUFPSjtZQUNUOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsSUFBTUMsYUFBYSxJQUFJLENBQUNmLE1BQU0sQ0FBQ2dCLEdBQUcsQ0FBQyxTQUFDTixPQUFVO29CQUN0QyxJQUFNTyxZQUFZUCxNQUFNSSxNQUFNO29CQUU5QixPQUFPRztnQkFDVCxJQUNBQyw2QkFBNkJDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDQyx1QkFBdUIsR0FDdEVDLDhCQUE4QkYsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNqQix5QkFBeUIsR0FDekVvQixPQUFPQyxpQkFBVSxFQUNqQnZCLFNBQVNlLFlBQ1RTLHVCQUF1Qk4sNEJBQ3ZCTyx3QkFBd0JKLDZCQUN4QkssT0FBTztvQkFDTEosTUFBQUE7b0JBQ0F0QixRQUFBQTtvQkFDQXdCLHNCQUFBQTtvQkFDQUMsdUJBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQUksQUFBRTVCLFNBQVcwQixLQUFYMUI7Z0JBRU4sSUFBTWUsYUFBYWYsUUFBUyxHQUFHO2dCQUUvQkEsU0FBU2UsV0FBV0MsR0FBRyxDQUFDLFNBQUNDLFdBQWM7b0JBQ3JDLElBQU1TLFNBQU9ULFdBQ1BQLFFBQVFtQixjQUFLLENBQUNGLFFBQVEsQ0FBQ0QsUUFBTUU7b0JBRW5DLE9BQU9sQjtnQkFDVDtnQkFFQSxJQUFNYyx1QkFBZ0RFLEtBQWhERixzQkFBc0JDLHdCQUEwQkMsS0FBMUJEO2dCQUU1QixJQUFJeEIsMkJBQTJCLElBQUksRUFDL0JDLDRCQUE0QixJQUFJO2dCQUVwQyxJQUFJc0IseUJBQXlCLElBQUksRUFBRTtvQkFDakMsSUFBTU4sNkJBQTZCTSxzQkFBdUIsR0FBRztvQkFFN0R2QiwyQkFBMkI2QixJQUFBQSw4REFBc0QsRUFBQ1osNEJBQTRCVTtnQkFDaEgsQ0FBQztnQkFFRCxJQUFJSCwwQkFBMEIsSUFBSSxFQUFFO29CQUNsQyxJQUFNSiw4QkFBOEJJLHVCQUF3QixHQUFHO29CQUUvRHZCLDRCQUE0QjZCLElBQUFBLGdFQUF3RCxFQUFDViw2QkFBNkJPO2dCQUNwSCxDQUFDO2dCQUVELElBQU1JLFFBQVEsSUFuRkdqQyxNQW1GT0MsUUFBUUMsMEJBQTBCQztnQkFFMUQsT0FBTzhCO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSwrREFBK0RqQyxNQUFNLEVBQUVDLHdCQUF3QixFQUFFQyx5QkFBeUIsRUFBRTtnQkFDakksSUFBTThCLFFBQVEsSUF6RkdqQyxNQXlGT0MsUUFBUUMsMEJBQTBCQztnQkFFMUQsT0FBTzhCO1lBQ1Q7OztXQTVGbUJqQyJ9
package/lib/combinator.js CHANGED
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _string = require("./utilities/string");
12
12
  var _kinds = require("./kinds");
13
- var _node = require("./utilities/node");
14
13
  function _classCallCheck(instance, Constructor) {
15
14
  if (!(instance instanceof Constructor)) {
16
15
  throw new TypeError("Cannot call a class as a function");
@@ -59,7 +58,7 @@ var Combinator = /*#__PURE__*/ function() {
59
58
  {
60
59
  key: "fromJSON",
61
60
  value: function fromJSON(json, releaseContext) {
62
- var statement = json.statement, statementJSON = statement, statementNode = (0, _node.statementNodeFromStatementJSON)(statementJSON, releaseContext), combinator = new Combinator(statementNode);
61
+ var statement = json.statement, statementString = statement, statementNode = (0, _string.statementNodeFromStatementString)(statementString, releaseContext), combinator = new Combinator(statementNode);
63
62
  return combinator;
64
63
  }
65
64
  },
@@ -74,4 +73,4 @@ var Combinator = /*#__PURE__*/ function() {
74
73
  return Combinator;
75
74
  }();
76
75
 
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT01CSU5BVE9SX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluYXRvciB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RhdGVtZW50U3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGtpbmQgPSBDT01CSU5BVE9SX0tJTkQsXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50SlNPTihzdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiYXNTdHJpbmciLCJzdHJpbmciLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0b0pTT04iLCJraW5kIiwiQ09NQklOQVRPUl9LSU5EIiwic3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OIiwiY29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztzQkFKUTtxQkFDRztvQkFDZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsSUFBQSxBQUFNQSwyQkFBTjthQUFNQSxXQUNQQyxhQUFhOzhCQURORDtRQUVqQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2lCQUZKRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXO2dCQUNULElBQUlDO2dCQUVKLElBQU1DLGtCQUFrQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNKLGFBQWE7Z0JBRXZERSxTQUFTLEFBQUMsR0FBa0IsT0FBaEJDO2dCQUVaLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNRixrQkFBa0JDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDSixhQUFhLEdBQ2pETSxPQUFPQyxzQkFBZSxFQUN0QkMsWUFBWUwsaUJBQ1pNLE9BQU87b0JBQ0xILE1BQUFBO29CQUNBRSxXQUFBQTtnQkFDRjtnQkFFTixPQUFPQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsY0FBYyxFQUFFO2dCQUNwQyxJQUFNLEFBQUVILFlBQWNDLEtBQWRELFdBQ0ZJLGdCQUFnQkosV0FDaEJSLGdCQUFnQmEsSUFBQUEsb0NBQThCLEVBQUNELGVBQWVELGlCQUM5REcsYUFBYSxJQS9CRmYsV0ErQmlCQztnQkFFbEMsT0FBT2M7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQmYsYUFBYSxFQUFFO2dCQUN0QyxJQUFNYyxhQUFhLElBckNGZixXQXFDaUJDO2dCQUVsQyxPQUFPYztZQUNUOzs7V0F4Q21CZiJ9
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT01CSU5BVE9SX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCBzdHJpbmc7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIHN0cmluZyA9IGAke3N0YXRlbWVudFN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBraW5kID0gQ09NQklOQVRPUl9LSU5ELFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdGF0ZW1lbnQgfSA9IGpzb24sXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImFzU3RyaW5nIiwic3RyaW5nIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidG9KU09OIiwia2luZCIsIkNPTUJJTkFUT1JfS0lORCIsInN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0Iiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJjb21iaW5hdG9yIiwiZnJvbVN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3NCQUpRO3FCQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdqQixJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLGFBQWE7OEJBRE5EO1FBRWpCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7aUJBRkpEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ0osYUFBYTtnQkFFdkRFLFNBQVMsQUFBQyxHQUFrQixPQUFoQkM7Z0JBRVosT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1GLGtCQUFrQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNKLGFBQWEsR0FDakRNLE9BQU9DLHNCQUFlLEVBQ3RCQyxZQUFZTCxpQkFDWk0sT0FBTztvQkFDTEgsTUFBQUE7b0JBQ0FFLFdBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsWUFBY0MsS0FBZEQsV0FDRkwsa0JBQWtCSyxXQUNsQlIsZ0JBQWdCWSxJQUFBQSx3Q0FBZ0MsRUFBQ1QsaUJBQWlCUSxpQkFDbEVFLGFBQWEsSUEvQkZkLFdBK0JpQkM7Z0JBRWxDLE9BQU9hO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JkLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWEsYUFBYSxJQXJDRmQsV0FxQ2lCQztnQkFFbEMsT0FBT2E7WUFDVDs7O1dBeENtQmQifQ==
package/lib/conclusion.js CHANGED
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _array = require("./utilities/array");
12
12
  var _string = require("./utilities/string");
13
13
  var _query = require("./utilities/query");
14
- var _node = require("./utilities/node");
15
14
  var _ruleNames = require("./ruleNames");
16
15
  function _classCallCheck(instance, Constructor) {
17
16
  if (!(instance instanceof Constructor)) {
@@ -64,7 +63,7 @@ var Conclusion = /*#__PURE__*/ function() {
64
63
  {
65
64
  key: "fromJSON",
66
65
  value: function fromJSON(json, releaseContext) {
67
- var metastatement = json.metastatement, metastatementJSON = metastatement, metastatementNode = (0, _node.metastatementNodeFromMetastatementJSON)(metastatementJSON, releaseContext), conclusion = new Conclusion(metastatementNode);
66
+ var metastatement = json.metastatement, metastatementString = metastatement, metastatementNode = (0, _string.metastatementNodeFromMetastatementString)(metastatementString, releaseContext), conclusion = new Conclusion(metastatementNode);
68
67
  return conclusion;
69
68
  }
70
69
  },
@@ -155,4 +154,4 @@ function matchConclusionMetastatementNode(conclusionMetastatementNode, metastate
155
154
  return conclusionMetastatementNodeMatches;
156
155
  }
157
156
 
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50SlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5pbXBvcnQgeyBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLCBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25jbHVzaW9uIHtcbiAgY29uc3RydWN0b3IobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhc3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIG1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50ID0gbWV0YXN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBtZXRhc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRKU09OID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudEpTT04obWV0YXN0YXRlbWVudEpTT04sIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBjb25jbHVzaW9uID0gbmV3IENvbmNsdXNpb24obWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGNvbmNsdXNpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgY29uY2x1c2lvbiA9IG5ldyBDb25jbHVzaW9uKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb25jbHVzaW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIG5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZShjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgY29uY2x1c2lvbk5vZGVNYXRjaGVzID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25jbHVzaW9uTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk5vZGVzKGNvbmNsdXNpb25Ob2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbmNsdXNpb25Ob2Rlc0xlbmd0aCA9IGNvbmNsdXNpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBjb25jbHVzaW9uTm9kZXNMZW5ndGgpIHtcbiAgICBjb25jbHVzaW9uTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjb25jbHVzaW9uTm9kZSA9IGNvbmNsdXNpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25Ob2RlKGNvbmNsdXNpb25Ob2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChjb25jbHVzaW9uTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTWV0YXZhcmlhYmxlKGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25NZXRhdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcblxuICBjb25zdCBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGFTdWJzdGl0dXRpb24uZ2V0TWV0YXZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU5hbWUgPT09IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IG1ldGFTdWJzdGl0dXRpb24ubWF0Y2hOb2Rlcyhub2Rlcyk7XG5cbiAgICBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk1ldGF2YXJpYWJsZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvblRlcm1pbmFsTm9kZShjb25jbHVzaW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBjb25jbHVzaW9uVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgY29uY2x1c2lvblJ1bGVOYW1lID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IGNvbmNsdXNpb25SdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVzID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9kZXMgPSBjb25jbHVzaW9uQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbkNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9kZXMoY29uY2x1c2lvbk5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uQ2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuXG4gICAgaWYgKCFjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUoY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlID0gY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVzID0gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVzTGVuZ3RoID0gY29uY2x1c2lvbkNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChjb25jbHVzaW9uQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0Q29uY2x1c2lvbkNoaWxkTm9kZSA9IGZpcnN0KGNvbmNsdXNpb25DaGlsZE5vZGVzKSxcbiAgICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlID0gZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25DaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjb25jbHVzaW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUgPSBjb25jbHVzaW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gTUVUQVZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IGNvbmNsdXNpb25NZXRhdmFyaWFibGVOb2RlID0gY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICBjb25jbHVzaW9uTWV0YVZhcmlhYmxlTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZShjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbk1ldGFWYXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIkNvbmNsdXNpb24iLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFTdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hDb25jbHVzaW9uTm9uVGVybWluYWxOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwidG9KU09OIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsIm1ldGFzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRKU09OIiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudEpTT04iLCJjb25jbHVzaW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hDb25jbHVzaW9uTm9kZSIsImNvbmNsdXNpb25Ob2RlIiwibm9kZSIsImNvbmNsdXNpb25Ob2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29uY2x1c2lvblRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hDb25jbHVzaW9uVGVybWluYWxOb2RlIiwibWF0Y2hDb25jbHVzaW9uTm9kZXMiLCJjb25jbHVzaW9uTm9kZXMiLCJub2RlcyIsImNvbmNsdXNpb25Ob2Rlc01hdGNoZXMiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImNvbmNsdXNpb25Ob2Rlc0xlbmd0aCIsImV2ZXJ5IiwiaW5kZXgiLCJtYXRjaENvbmNsdXNpb25NZXRhdmFyaWFibGUiLCJjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSIsImNvbmNsdXNpb25NZXRhdmFyaWFibGVNYXRjaGVzIiwiY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhU3Vic3RpdHV0aW9uIiwiZmluZCIsIm1ldGF2YXJpYWJsZU5hbWUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwibWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2giLCJtYXRjaE5vZGVzIiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbmNsdXNpb25SdWxlTmFtZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY29uY2x1c2lvbkNoaWxkTm9kZXMiLCJjb25jbHVzaW9uQ2hpbGROb2Rlc01hdGNoZXMiLCJydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwiY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwiY29uY2x1c2lvbkNoaWxkTm9kZXNMZW5ndGgiLCJmaXJzdENvbmNsdXNpb25DaGlsZE5vZGUiLCJmaXJzdCIsImNvbmNsdXNpb25DaGlsZE5vZGUiLCJjb25jbHVzaW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiY29uY2x1c2lvbk1ldGFWYXJpYWJsZU1hdGNoZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3FCQU5DO3NCQUNPO3FCQUN3QjtvQkFDRTt5QkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakQsSUFBQSxBQUFNQSwyQkE0Q2xCLEFBNUNZO2FBQU1BLFdBQ1BDLGlCQUFpQjs4QkFEVkQ7UUFFakIsSUFBSSxDQUFDQyxpQkFBaUIsR0FBR0E7O2lCQUZSRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUI7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDRCxpQkFBaUI7WUFDL0I7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCRixpQkFBaUIsRUFBRUcsaUJBQWlCLEVBQUU7Z0JBQzNELElBQU1DLGtCQUFrQkosbUJBQ2xCSyw0QkFBNEIsSUFBSSxDQUFDTCxpQkFBaUIsRUFDbERNLG1DQUFtQ0MsK0JBQStCRiwyQkFBMkJELGlCQUFpQkQsb0JBQzlHSywyQkFBMkJGLGtDQUFrQyxHQUFHO2dCQUV0RSxPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ1gsaUJBQWlCLEdBQ3pEWSxnQkFBZ0JGLHFCQUNoQkcsT0FBTztvQkFDTEQsZUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVFLGNBQWMsRUFBRTtnQkFDcEMsSUFBTSxBQUFFSCxnQkFBa0JDLEtBQWxCRCxlQUNGSSxvQkFBb0JKLGVBQ3BCWixvQkFBb0JpQixJQUFBQSw0Q0FBc0MsRUFBQ0QsbUJBQW1CRCxpQkFDOUVHLGFBQWEsSUFoQ0ZuQixXQWdDaUJDO2dCQUVsQyxPQUFPa0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLHNC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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25jbHVzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uY2x1c2lvbiB7XG4gIGNvbnN0cnVjdG9yKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZShjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudCA9IG1ldGFzdGF0ZW1lbnRTdHJpbmcsICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbWV0YXN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgY29uY2x1c2lvbiA9IG5ldyBDb25jbHVzaW9uKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb25jbHVzaW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IGNvbmNsdXNpb24gPSBuZXcgQ29uY2x1c2lvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaENvbmNsdXNpb25Ob2RlKGNvbmNsdXNpb25Ob2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uVGVybWluYWxOb2RlID0gY29uY2x1c2lvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uVGVybWluYWxOb2RlKGNvbmNsdXNpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBjb25jbHVzaW9uTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUoY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGNvbmNsdXNpb25Ob2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbmNsdXNpb25Ob2Rlcyhjb25jbHVzaW9uTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgY29uY2x1c2lvbk5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBjb25jbHVzaW9uTm9kZXNMZW5ndGggPSBjb25jbHVzaW9uTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gY29uY2x1c2lvbk5vZGVzTGVuZ3RoKSB7XG4gICAgY29uY2x1c2lvbk5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29uY2x1c2lvbk5vZGUgPSBjb25jbHVzaW9uTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk5vZGVNYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uTm9kZShjb25jbHVzaW9uTm9kZSwgbm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25Ob2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk1ldGF2YXJpYWJsZShjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG5cbiAgY29uc3QgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhU3Vic3RpdHV0aW9uID0gbWV0YVN1YnN0aXR1dGlvbnMuZmluZCgobWV0YVN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhU3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSB8fCBudWxsO1xuXG4gIGlmIChtZXRhU3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBtZXRhU3Vic3RpdHV0aW9uLm1hdGNoTm9kZXMobm9kZXMpO1xuXG4gICAgY29uY2x1c2lvbk1ldGF2YXJpYWJsZU1hdGNoZXMgPSBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaDsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NZXRhdmFyaWFibGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbmNsdXNpb25UZXJtaW5hbE5vZGUoY29uY2x1c2lvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtYXRjaGVzID0gY29uY2x1c2lvblRlcm1pbmFsTm9kZS5tYXRjaCh0ZXJtaW5hbE5vZGUpLFxuICAgICAgICBjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gY29uY2x1c2lvblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZShjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIGNvbmNsdXNpb25SdWxlTmFtZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBjb25jbHVzaW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbk5vZGVzID0gY29uY2x1c2lvbkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVzTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbk5vZGVzKGNvbmNsdXNpb25Ob2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbkNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cblxuICAgIGlmICghY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZShjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgY29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSA9IGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2RlcyA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBjb25jbHVzaW9uQ2hpbGROb2Rlc0xlbmd0aCA9IGNvbmNsdXNpb25DaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY29uY2x1c2lvbkNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdENvbmNsdXNpb25DaGlsZE5vZGUgPSBmaXJzdChjb25jbHVzaW9uQ2hpbGROb2RlcyksXG4gICAgICAgICAgY29uY2x1c2lvbkNoaWxkTm9kZSA9IGZpcnN0Q29uY2x1c2lvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjb25jbHVzaW9uQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlID0gY29uY2x1c2lvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUgPSAoY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAoY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBjb25jbHVzaW9uTWV0YXZhcmlhYmxlTm9kZSA9IGNvbmNsdXNpb25Ob25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgY29uY2x1c2lvbk1ldGFWYXJpYWJsZU1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb25NZXRhdmFyaWFibGUoY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb25NZXRhVmFyaWFibGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJDb25jbHVzaW9uIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhU3Vic3RpdHV0aW9ucyIsIm5vblRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25Ob25UZXJtaW5hbE5vZGUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbk5vblRlcm1pbmFsTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsInRvSlNPTiIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJtZXRhc3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwiY29uY2x1c2lvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoQ29uY2x1c2lvbk5vZGUiLCJjb25jbHVzaW9uTm9kZSIsIm5vZGUiLCJjb25jbHVzaW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbmNsdXNpb25UZXJtaW5hbE5vZGUiLCJjb25jbHVzaW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvblRlcm1pbmFsTm9kZSIsIm1hdGNoQ29uY2x1c2lvbk5vZGVzIiwiY29uY2x1c2lvbk5vZGVzIiwibm9kZXMiLCJjb25jbHVzaW9uTm9kZXNNYXRjaGVzIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJjb25jbHVzaW9uTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hDb25jbHVzaW9uTWV0YXZhcmlhYmxlIiwiY29uY2x1c2lvbk1ldGF2YXJpYWJsZU5vZGUiLCJjb25jbHVzaW9uTWV0YXZhcmlhYmxlTWF0Y2hlcyIsImNvbmNsdXNpb25NZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjb25jbHVzaW9uUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNvbmNsdXNpb25DaGlsZE5vZGVzIiwiY29uY2x1c2lvbkNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaENvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25DaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RDb25jbHVzaW9uQ2hpbGROb2RlIiwiZmlyc3QiLCJjb25jbHVzaW9uQ2hpbGROb2RlIiwiY29uY2x1c2lvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlIiwiY29uY2x1c2lvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJjb25jbHVzaW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsImNvbmNsdXNpb25NZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7OztxQkFOQztzQkFDTztxQkFDd0I7eUJBRVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQUEsQUFBTUEsMkJBNENsQixBQTVDWTthQUFNQSxXQUNQQyxpQkFBaUI7OEJBRFZEO1FBRWpCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBOztpQkFGUkQ7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkYsaUJBQWlCLEVBQUVHLGlCQUFpQixFQUFFO2dCQUMzRCxJQUFNQyxrQkFBa0JKLG1CQUNsQkssNEJBQTRCLElBQUksQ0FBQ0wsaUJBQWlCLEVBQ2xETSxtQ0FBbUNDLCtCQUErQkYsMkJBQTJCRCxpQkFBaUJELG9CQUM5R0ssMkJBQTJCRixrQ0FBa0MsR0FBRztnQkFFdEUsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNYLGlCQUFpQixHQUN6RFksZ0JBQWdCRixxQkFDaEJHLE9BQU87b0JBQ0xELGVBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU0sQUFBRUgsZ0JBQWtCQyxLQUFsQkQsZUFDRkYsc0JBQXNCRSxlQUN0Qlosb0JBQW9CZ0IsSUFBQUEsZ0RBQXdDLEVBQUNOLHFCQUFxQkssaUJBQ2xGRSxhQUFhLElBaENGbEIsV0FnQ2lCQztnQkFFbEMsT0FBT2lCO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxzQkFBc0JsQixpQkFBaUIs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
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _type = /*#__PURE__*/ _interopRequireDefault(require("./type"));
12
12
  var _string = require("./utilities/string");
13
13
  var _kinds = require("./kinds");
14
- var _node = require("./utilities/node");
15
14
  function _classCallCheck(instance, Constructor) {
16
15
  if (!(instance instanceof Constructor)) {
17
16
  throw new TypeError("Cannot call a class as a function");
@@ -84,7 +83,7 @@ var Constructor = /*#__PURE__*/ function() {
84
83
  {
85
84
  key: "fromJSON",
86
85
  value: function fromJSON(json, releaseContext) {
87
- var term = json.term, termJSON = term, termNode = (0, _node.termNodeFromTermJSON)(termJSON, releaseContext);
86
+ var term = json.term, termString = term, termNode = (0, _string.termNodeFromTermString)(termString, releaseContext);
88
87
  var type = json.type;
89
88
  if (type !== null) {
90
89
  var typeJSON = type; ///
@@ -108,4 +107,4 @@ var Constructor = /*#__PURE__*/ function() {
108
107
  return Constructor;
109
108
  }();
110
109
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT05TVFJVQ1RPUl9LSU5EIH0gZnJvbSBcIi4va2luZHNcIjtcbmltcG9ydCB7IHRlcm1Ob2RlRnJvbVRlcm1KU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZSkge1xuICAgIHRoaXMudGVybU5vZGUgPSB0ZXJtTm9kZTtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnRlcm1Ob2RlKTtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09IG51bGwpIHtcbiAgICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9TdXBlclR5cGUgPSB0cnVlLFxuICAgICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5hc1N0cmluZyhub1N1cGVyVHlwZSk7XG5cbiAgICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9OiR7dHlwZVN0cmluZ31gO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnRlcm1Ob2RlKSxcbiAgICAgICAgICB0eXBlSlNPTiA9ICh0aGlzLnR5cGUgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnR5cGUudG9KU09OKCksXG4gICAgICAgICAga2luZCA9IENPTlNUUlVDVE9SX0tJTkQsXG4gICAgICAgICAgdGVybSA9IHRlcm1TdHJpbmcsICAvLy9cbiAgICAgICAgICB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyB0ZXJtIH0gPSBqc29uLFxuICAgICAgICAgIHRlcm1KU09OID0gdGVybSwgIC8vL1xuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVGcm9tVGVybUpTT04odGVybUpTT04sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGxldCB7IHR5cGUgfSA9IGpzb247XG5cbiAgICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZUpTT04gPSB0eXBlOyAgLy8vXG5cbiAgICAgIGpzb24gPSB0eXBlSlNPTjsgIC8vL1xuXG4gICAgICB0eXBlID0gVHlwZS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIHR5cGUgPSByZWxlYXNlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwidHlwZSIsImdldFRlcm1Ob2RlIiwiZ2V0VHlwZSIsImFzU3RyaW5nIiwic3RyaW5nIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsIm5vU3VwZXJUeXBlIiwidHlwZVN0cmluZyIsInRvSlNPTiIsInR5cGVKU09OIiwia2luZCIsIkNPTlNUUlVDVE9SX0tJTkQiLCJ0ZXJtIiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJ0ZXJtSlNPTiIsInRlcm1Ob2RlRnJvbVRlcm1KU09OIiwiVHlwZSIsInR5cGVOYW1lIiwiZ2V0TmFtZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImNvbnN0cnVjdG9yIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7eURBTko7c0JBRVk7cUJBQ0k7b0JBQ0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEIsSUFBQSxBQUFNQSw0QkFBTjthQUFNQSxZQUNQQyxRQUFRLEVBQUVDLElBQUk7OEJBRFBGO1FBRWpCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLElBQUksR0FBR0E7O2lCQUhLRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjO2dCQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO1lBQ3RCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsV0FBVztnQkFDVCxJQUFJQztnQkFFSixJQUFNQyxhQUFhQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ1AsUUFBUTtnQkFFN0MsSUFBSSxJQUFJLENBQUNDLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3RCSSxTQUFTLEFBQUMsR0FBYSxPQUFYQztnQkFDZCxPQUFPO29CQUNMLElBQU1FLGNBQWMsSUFBSSxFQUNsQkMsYUFBYSxJQUFJLENBQUNSLElBQUksQ0FBQ0csUUFBUSxDQUFDSTtvQkFFdENILFNBQVMsQUFBQyxHQUFnQkksT0FBZEgsWUFBVyxLQUFjLE9BQVhHO2dCQUM1QixDQUFDO2dCQUVELE9BQU9KO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNSixhQUFhQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ1AsUUFBUSxHQUN2Q1csV0FBVyxBQUFDLElBQUksQ0FBQ1YsSUFBSSxLQUFLLElBQUksR0FDaEIsSUFBSSxHQUNGLElBQUksQ0FBQ0EsSUFBSSxDQUFDUyxNQUFNLEVBQUUsRUFDbENFLE9BQU9DLHVCQUFnQixFQUN2QkMsT0FBT1IsWUFDUEwsT0FBT1UsVUFDUEksT0FBTztvQkFDTEgsTUFBQUE7b0JBQ0FFLE1BQUFBO29CQUNBYixNQUFBQTtnQkFDRjtnQkFFTixPQUFPYztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsY0FBYyxFQUFFO2dCQUNwQyxJQUFNLEFBQUVILE9BQVNDLEtBQVRELE1BQ0ZJLFdBQVdKLE1BQ1hkLFdBQVdtQixJQUFBQSwwQkFBb0IsRUFBQ0QsVUFBVUQ7Z0JBRWhELElBQUksQUFBRWhCLE9BQVNjLEtBQVRkO2dCQUVOLElBQUlBLFNBQVMsSUFBSSxFQUFFO29CQUNqQixJQUFNVSxXQUFXVixNQUFPLEdBQUc7b0JBRTNCYyxPQUFPSixVQUFXLEdBQUc7b0JBRXJCVixPQUFPbUIsYUFBSSxDQUFDSixRQUFRLENBQUNELE1BQU1FO29CQUUzQixJQUFNSSxXQUFXcEIsS0FBS3FCLE9BQU87b0JBRTdCckIsT0FBT2dCLGVBQWVNLGtCQUFrQixDQUFDRixXQUFXLEdBQUc7Z0JBQ3pELENBQUM7Z0JBRUQsSUFBTUcsY0FBYyxJQW5FSHpCLFlBbUVtQkMsVUFBVUM7Z0JBRTlDLE9BQU91QjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0Esb0JBQW9CekIsUUFBUSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ3pDLElBQU11QixjQUFjLElBekVIekIsWUF5RW1CQyxVQUFVQztnQkFFOUMsT0FBT3VCO1lBQ1Q7OztXQTVFbUJ6QiJ9
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT05TVFJVQ1RPUl9LSU5EIH0gZnJvbSBcIi4va2luZHNcIjtcbmltcG9ydCB7IHRlcm1Ob2RlRnJvbVRlcm1TdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnN0cnVjdG9yIHtcbiAgY29uc3RydWN0b3IodGVybU5vZGUsIHR5cGUpIHtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldFRlcm1Ob2RlKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1Ob2RlO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy50ZXJtTm9kZSk7XG5cbiAgICBpZiAodGhpcy50eXBlID09PSBudWxsKSB7XG4gICAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vU3VwZXJUeXBlID0gdHJ1ZSxcbiAgICAgICAgICAgIHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuYXNTdHJpbmcobm9TdXBlclR5cGUpO1xuXG4gICAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVTdHJpbmd9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy50ZXJtTm9kZSksXG4gICAgICAgICAgdHlwZUpTT04gPSAodGhpcy50eXBlID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50eXBlLnRvSlNPTigpLFxuICAgICAgICAgIGtpbmQgPSBDT05TVFJVQ1RPUl9LSU5ELFxuICAgICAgICAgIHRlcm0gPSB0ZXJtU3RyaW5nLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IHR5cGVKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICB0ZXJtLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgdGVybSB9ID0ganNvbixcbiAgICAgICAgICB0ZXJtU3RyaW5nID0gdGVybSwgIC8vL1xuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZTsgIC8vL1xuXG4gICAgICBqc29uID0gdHlwZUpTT047ICAvLy9cblxuICAgICAgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICB0eXBlID0gcmVsZWFzZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBuZXcgQ29uc3RydWN0b3IodGVybU5vZGUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21UZXJtTm9kZUFuZFR5cGUodGVybU5vZGUsIHR5cGUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiQ29uc3RydWN0b3IiLCJ0ZXJtTm9kZSIsInR5cGUiLCJnZXRUZXJtTm9kZSIsImdldFR5cGUiLCJhc1N0cmluZyIsInN0cmluZyIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJub1N1cGVyVHlwZSIsInR5cGVTdHJpbmciLCJ0b0pTT04iLCJ0eXBlSlNPTiIsImtpbmQiLCJDT05TVFJVQ1RPUl9LSU5EIiwidGVybSIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwidGVybU5vZGVGcm9tVGVybVN0cmluZyIsIlR5cGUiLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJjb25zdHJ1Y3RvciIsImZyb21UZXJtTm9kZUFuZFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3lEQU5KO3NCQUVZO3FCQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR2xCLElBQUEsQUFBTUEsNEJBQU47YUFBTUEsWUFDUEMsUUFBUSxFQUFFQyxJQUFJOzhCQURQRjtRQUVqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFIS0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBYztnQkFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtZQUN0Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBTUMsYUFBYUMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNQLFFBQVE7Z0JBRTdDLElBQUksSUFBSSxDQUFDQyxJQUFJLEtBQUssSUFBSSxFQUFFO29CQUN0QkksU0FBUyxBQUFDLEdBQWEsT0FBWEM7Z0JBQ2QsT0FBTztvQkFDTCxJQUFNRSxjQUFjLElBQUksRUFDbEJDLGFBQWEsSUFBSSxDQUFDUixJQUFJLENBQUNHLFFBQVEsQ0FBQ0k7b0JBRXRDSCxTQUFTLEFBQUMsR0FBZ0JJLE9BQWRILFlBQVcsS0FBYyxPQUFYRztnQkFDNUIsQ0FBQztnQkFFRCxPQUFPSjtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsSUFBTUosYUFBYUMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNQLFFBQVEsR0FDdkNXLFdBQVcsQUFBQyxJQUFJLENBQUNWLElBQUksS0FBSyxJQUFJLEdBQ2hCLElBQUksR0FDRixJQUFJLENBQUNBLElBQUksQ0FBQ1MsTUFBTSxFQUFFLEVBQ2xDRSxPQUFPQyx1QkFBZ0IsRUFDdkJDLE9BQU9SLFlBQ1BMLE9BQU9VLFVBQ1BJLE9BQU87b0JBQ0xILE1BQUFBO29CQUNBRSxNQUFBQTtvQkFDQWIsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT2M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVFLGNBQWMsRUFBRTtnQkFDcEMsSUFBTSxBQUFFSCxPQUFTQyxLQUFURCxNQUNGUixhQUFhUSxNQUNiZCxXQUFXa0IsSUFBQUEsOEJBQXNCLEVBQUNaLFlBQVlXO2dCQUVwRCxJQUFJLEFBQUVoQixPQUFTYyxLQUFUZDtnQkFFTixJQUFJQSxTQUFTLElBQUksRUFBRTtvQkFDakIsSUFBTVUsV0FBV1YsTUFBTyxHQUFHO29CQUUzQmMsT0FBT0osVUFBVyxHQUFHO29CQUVyQlYsT0FBT2tCLGFBQUksQ0FBQ0gsUUFBUSxDQUFDRCxNQUFNRTtvQkFFM0IsSUFBTUcsV0FBV25CLEtBQUtvQixPQUFPO29CQUU3QnBCLE9BQU9nQixlQUFlSyxrQkFBa0IsQ0FBQ0YsV0FBVyxHQUFHO2dCQUN6RCxDQUFDO2dCQUVELElBQU1HLGNBQWMsSUFuRUh4QixZQW1FbUJDLFVBQVVDO2dCQUU5QyxPQUFPc0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQnhCLFFBQVEsRUFBRUMsSUFBSSxFQUFFO2dCQUN6QyxJQUFNc0IsY0FBYyxJQXpFSHhCLFlBeUVtQkMsVUFBVUM7Z0JBRTlDLE9BQU9zQjtZQUNUOzs7V0E1RW1CeEIifQ==
package/lib/label.js CHANGED
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _string = require("./utilities/string");
12
- var _node = require("./utilities/node");
13
12
  var _query = require("./utilities/query");
14
13
  function _classCallCheck(instance, Constructor) {
15
14
  if (!(instance instanceof Constructor)) {
@@ -67,7 +66,7 @@ var Label = /*#__PURE__*/ function() {
67
66
  {
68
67
  key: "fromJSON",
69
68
  value: function fromJSON(json, releaseContext) {
70
- var labelJSON = json, labelNode = (0, _node.labelNodeFromLabelJSON)(labelJSON, releaseContext), node = labelNode, label = new Label(node);
69
+ var labelString = json, labelNode = (0, _string.labelNodeFromLabelString)(labelString, releaseContext), node = labelNode, label = new Label(node);
71
70
  return label;
72
71
  }
73
72
  },
@@ -82,4 +81,4 @@ var Label = /*#__PURE__*/ function() {
82
81
  return Label;
83
82
  }();
84
83
 
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbGFiZWxOb2RlRnJvbUxhYmVsSlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5pbXBvcnQgeyBsYWJlbE5hbWVGcm9tTGFiZWxOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExhYmVsIHtcbiAgY29uc3RydWN0b3Iobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IGxhYmVsTm9kZSA9IHRoaXMubm9kZSxcbiAgICAgICAgICBsYWJlbE5hbWUgPSBsYWJlbE5hbWVGcm9tTGFiZWxOb2RlKGxhYmVsTm9kZSksXG4gICAgICAgICAgbWF0Y2hlc05hbWUgPSAobGFiZWxOYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBtYXRjaGVzTmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm5vZGUpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5ub2RlKSxcbiAgICAgICAgICBqc29uID0gc3RyaW5nOyAgLy8vXG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGxhYmVsSlNPTiA9IGpzb24sIC8vL1xuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsTm9kZUZyb21MYWJlbEpTT04obGFiZWxKU09OLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IGxhYmVsTm9kZSwgLy8vXG4gICAgICAgICAgbGFiZWwgPSBuZXcgTGFiZWwobm9kZSk7XG5cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxhYmVsTm9kZShsYWJlbE5vZGUpIHtcbiAgICBjb25zdCBub2RlID0gbGFiZWxOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBMYWJlbChub2RlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJMYWJlbCIsIm5vZGUiLCJnZXROb2RlIiwibWF0Y2hOYW1lIiwibmFtZSIsImxhYmVsTm9kZSIsImxhYmVsTmFtZSIsImxhYmVsTmFtZUZyb21MYWJlbE5vZGUiLCJtYXRjaGVzTmFtZSIsImFzU3RyaW5nIiwic3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJsYWJlbEpTT04iLCJsYWJlbE5vZGVGcm9tTGFiZWxKU09OIiwibGFiZWwiLCJmcm9tTGFiZWxOb2RlIiwidmFyaWFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3NCQUpRO29CQUNVO3FCQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFBLEFBQU1BLHNCQUFOO2FBQU1BLE1BQ1BDLElBQUk7OEJBREdEO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7aUJBRktEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFO2dCQUNkLElBQU1DLFlBQVksSUFBSSxDQUFDSixJQUFJLEVBQ3JCSyxZQUFZQyxJQUFBQSw2QkFBc0IsRUFBQ0YsWUFDbkNHLGNBQWVGLGNBQWNGO2dCQUVuQyxPQUFPSTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBTUMsU0FBU0MsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNWLElBQUk7Z0JBRXJDLE9BQU9TO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNRixTQUFTQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ1YsSUFBSSxHQUMvQlksT0FBT0gsUUFBUyxHQUFHO2dCQUV6QixPQUFPRztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsY0FBYyxFQUFFO2dCQUNwQyxJQUFNQyxZQUFZSCxNQUNaUixZQUFZWSxJQUFBQSw0QkFBc0IsRUFBQ0QsV0FBV0QsaUJBQzlDZCxPQUFPSSxXQUNQYSxRQUFRLElBbENHbEIsTUFrQ09DO2dCQUV4QixPQUFPaUI7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGNBQWNkLFNBQVMsRUFBRTtnQkFDOUIsSUFBTUosT0FBT0ksV0FDUGUsV0FBVyxJQXpDQXBCLE1BeUNVQztnQkFFM0IsT0FBT21CO1lBQ1Q7OztXQTVDbUJwQiJ9
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbGFiZWxOYW1lRnJvbUxhYmVsTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbGFiZWxOb2RlRnJvbUxhYmVsU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMYWJlbCB7XG4gIGNvbnN0cnVjdG9yKG5vZGUpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBsYWJlbE5vZGUgPSB0aGlzLm5vZGUsXG4gICAgICAgICAgbGFiZWxOYW1lID0gbGFiZWxOYW1lRnJvbUxhYmVsTm9kZShsYWJlbE5vZGUpLFxuICAgICAgICAgIG1hdGNoZXNOYW1lID0gKGxhYmVsTmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5ub2RlKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSksXG4gICAgICAgICAganNvbiA9IHN0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCBsYWJlbFN0cmluZyA9IGpzb24sIC8vL1xuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsTm9kZUZyb21MYWJlbFN0cmluZyhsYWJlbFN0cmluZywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgIG5vZGUgPSBsYWJlbE5vZGUsIC8vL1xuICAgICAgICAgIGxhYmVsID0gbmV3IExhYmVsKG5vZGUpO1xuXG4gICAgcmV0dXJuIGxhYmVsO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbE5vZGUobGFiZWxOb2RlKSB7XG4gICAgY29uc3Qgbm9kZSA9IGxhYmVsTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgTGFiZWwobm9kZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiTGFiZWwiLCJub2RlIiwiZ2V0Tm9kZSIsIm1hdGNoTmFtZSIsIm5hbWUiLCJsYWJlbE5vZGUiLCJsYWJlbE5hbWUiLCJsYWJlbE5hbWVGcm9tTGFiZWxOb2RlIiwibWF0Y2hlc05hbWUiLCJhc1N0cmluZyIsInN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRvSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwibGFiZWxTdHJpbmciLCJsYWJlbE5vZGVGcm9tTGFiZWxTdHJpbmciLCJsYWJlbCIsImZyb21MYWJlbE5vZGUiLCJ2YXJpYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7c0JBSlE7cUJBQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR3hCLElBQUEsQUFBTUEsc0JBQU47YUFBTUEsTUFDUEMsSUFBSTs4QkFER0Q7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFGS0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtZQUNsQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBTUMsWUFBWSxJQUFJLENBQUNKLElBQUksRUFDckJLLFlBQVlDLElBQUFBLDZCQUFzQixFQUFDRixZQUNuQ0csY0FBZUYsY0FBY0Y7Z0JBRW5DLE9BQU9JO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsV0FBVztnQkFDVCxJQUFNQyxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ1YsSUFBSTtnQkFFckMsT0FBT1M7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1GLFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDVixJQUFJLEdBQy9CWSxPQUFPSCxRQUFTLEdBQUc7Z0JBRXpCLE9BQU9HO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxjQUFjLEVBQUU7Z0JBQ3BDLElBQU1DLGNBQWNILE1BQ2RSLFlBQVlZLElBQUFBLGdDQUF3QixFQUFDRCxhQUFhRCxpQkFDbERkLE9BQU9JLFdBQ1BhLFFBQVEsSUFsQ0dsQixNQWtDT0M7Z0JBRXhCLE9BQU9pQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsY0FBY2QsU0FBUyxFQUFFO2dCQUM5QixJQUFNSixPQUFPSSxXQUNQZSxXQUFXLElBekNBcEIsTUF5Q1VDO2dCQUUzQixPQUFPbUI7WUFDVDs7O1dBNUNtQnBCIn0=
package/lib/lemma.js CHANGED
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
12
12
  var _kinds = require("./kinds");
13
13
  var _string = require("./utilities/string");
14
- var _node = require("./utilities/node");
15
14
  function _classCallCheck(instance, Constructor) {
16
15
  if (!(instance instanceof Constructor)) {
17
16
  throw new TypeError("Cannot call a class as a function");
@@ -37,12 +36,11 @@ function _interopRequireDefault(obj) {
37
36
  };
38
37
  }
39
38
  var Lemma = /*#__PURE__*/ function() {
40
- function Lemma(labels, statementNode, suppositionStatementNodes, consequentStatementNode) {
39
+ function Lemma(labels, unqualifiedStatementNode, indicativeConditionalNode) {
41
40
  _classCallCheck(this, Lemma);
42
41
  this.labels = labels;
43
- this.statementNode = statementNode;
44
- this.suppositionStatementNodes = suppositionStatementNodes;
45
- this.consequentStatementNode = consequentStatementNode;
42
+ this.unqualifiedStatementNode = unqualifiedStatementNode;
43
+ this.indicativeConditionalNode = indicativeConditionalNode;
46
44
  }
47
45
  _createClass(Lemma, [
48
46
  {
@@ -52,21 +50,15 @@ var Lemma = /*#__PURE__*/ function() {
52
50
  }
53
51
  },
54
52
  {
55
- key: "getStatementNode",
56
- value: function getStatementNode() {
57
- return this.statementNode;
53
+ key: "getUnqualifiedStatementNode",
54
+ value: function getUnqualifiedStatementNode() {
55
+ return this.unqualifiedStatementNode;
58
56
  }
59
57
  },
60
58
  {
61
- key: "getSuppositionStatementNodes",
62
- value: function getSuppositionStatementNodes() {
63
- return this.suppositionStatementNodes;
64
- }
65
- },
66
- {
67
- key: "getConsequentStatementNode",
68
- value: function getConsequentStatementNode() {
69
- return this.consequentStatementNode;
59
+ key: "getIndicativeConditionalNode",
60
+ value: function getIndicativeConditionalNode() {
61
+ return this.indicativeConditionalNode;
70
62
  }
71
63
  },
72
64
  {
@@ -87,15 +79,11 @@ var Lemma = /*#__PURE__*/ function() {
87
79
  var labelsJSON = this.labels.map(function(label) {
88
80
  var labelJSON = label.toJSON();
89
81
  return labelJSON;
90
- }), statementString = (0, _string.nodeAsString)(this.statementNode), consequentStatementString = (0, _string.nodeAsString)(this.consequentStatementNode), suppositionStatementStrings = this.suppositionStatementNodes.map(function(suppositionStatementNode) {
91
- var suppositionStatementString = (0, _string.nodeAsString)(suppositionStatementNode);
92
- return suppositionStatementString;
93
- }), kind = _kinds.LEMMA_KIND, labels = labelsJSON, statement = statementString, consequent = consequentStatementString, suppositions = suppositionStatementStrings, json = {
82
+ }), unqualifiedStatementString = (0, _string.nodeAsString)(this.unqalifiedStatementNode), indicativeConditionalString = (0, _string.nodeAsString)(this.indicativeConditionalNode), kind = _kinds.LEMMA_KIND, labels = labelsJSON, unqualifiedStatement = unqualifiedStatementString, indicativeConditional = indicativeConditionalString, json = {
94
83
  kind: kind,
95
84
  labels: labels,
96
- statement: statement,
97
- consequent: consequent,
98
- suppositions: suppositions
85
+ unqualifiedStatement: unqualifiedStatement,
86
+ indicativeConditional: indicativeConditional
99
87
  };
100
88
  return json;
101
89
  }
@@ -110,32 +98,24 @@ var Lemma = /*#__PURE__*/ function() {
110
98
  var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
111
99
  return label;
112
100
  });
113
- var statement = json.statement, suppositions = json.suppositions, consequent = json.consequent;
114
- var lemma;
115
- if (statement !== null) {
116
- var statementJSON = statement, statementNode = (0, _node.statementNodeFromStatementJSON)(statementJSON, releaseContext), suppositionStatementNodes = null, consequentStatementNode = null;
117
- lemma = new Lemma(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
118
- } else {
119
- var statementNode1 = null, suppositionStatementsJSON = suppositions, suppositionStatementNodes1 = suppositionStatementsJSON.map(function(suppositionStatementJSON) {
120
- var suppositionStatementNode = (0, _node.statementNodeFromStatementJSON)(suppositionStatementJSON, releaseContext);
121
- return suppositionStatementNode;
122
- }), consequentStatementJSON = consequent, consequentStatementNode1 = (0, _node.statementNodeFromStatementJSON)(consequentStatementJSON, releaseContext);
123
- lemma = new Lemma(labels, statementNode1, suppositionStatementNodes1, consequentStatementNode1);
101
+ var unqualifiedStatement = json.unqualifiedStatement, indicativeConditional = json.indicativeConditional;
102
+ var unqualifiedStatementNode = null, indicativeConditionalNode = null;
103
+ if (unqualifiedStatement !== null) {
104
+ var unqualifiedStatementString = unqualifiedStatement; ///
105
+ unqualifiedStatementNode = (0, _string.unqualifiedStatementNodeFromUnqualifiedStatementString)(unqualifiedStatementString, releaseContext);
124
106
  }
107
+ if (indicativeConditional !== null) {
108
+ var indicativeConditionalString = indicativeConditional; ///
109
+ indicativeConditionalNode = (0, _string.indicativeConditionalNodeFromIndicativeConditionalString)(indicativeConditionalString, releaseContext);
110
+ }
111
+ var lemma = new Lemma(labels, unqualifiedStatementNode, indicativeConditionalNode);
125
112
  return lemma;
126
113
  }
127
114
  },
128
115
  {
129
- key: "fromLabelsAndStatementNode",
130
- value: function fromLabelsAndStatementNode(labels, statementNode) {
131
- var suppositionStatementNodes = [], consequentStatementNode = null, lemma = new Lemma(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
132
- return lemma;
133
- }
134
- },
135
- {
136
- key: "fromLabelsSuppositionStatementNodesAndConsequentStatementNode",
137
- value: function fromLabelsSuppositionStatementNodesAndConsequentStatementNode(labels, suppositionStatementNodes, consequentStatementNode) {
138
- var statementNode = null, lemma = new Lemma(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
116
+ key: "fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode",
117
+ value: function fromLabelsUnqualifiedStatementNodeAndIndicativeConditionalNode(labels, unqualifiedStatementNode, indicativeConditionalNode) {
118
+ var lemma = new Lemma(labels, unqualifiedStatementNode, indicativeConditionalNode);
139
119
  return lemma;
140
120
  }
141
121
  }
@@ -143,4 +123,4 @@ var Lemma = /*#__PURE__*/ function() {
143
123
  return Lemma;
144
124
  }();
145
125
 
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZW1tYS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5cbmltcG9ydCB7IExFTU1BX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5pbXBvcnQgeyBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMZW1tYSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXM7XG4gICAgdGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcztcbiAgfVxuXG4gIGdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgICAgIGxhYmVsTWF0Y2hlc05hbWUgPSBsYWJlbC5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNMYWJlbE5hbWU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTigpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmdzID0gdGhpcy5zdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLm1hcCgoc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmc7XG4gICAgICAgICAgfSksXG4gICAgICAgICAga2luZCA9IExFTU1BX0tJTkQsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50U3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvblN0YXRlbWVudFN0cmluZ3MsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgc3RhdGVtZW50LFxuICAgICAgICAgICAgY29uc2VxdWVudCxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgc3RhdGVtZW50LCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQgfSA9IGpzb247XG5cbiAgICBsZXQgbGVtbWE7XG5cbiAgICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OKHN0YXRlbWVudEpTT04sIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMgPSBudWxsLFxuICAgICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudE5vZGUgPSBudWxsO1xuXG4gICAgICBsZW1tYSA9IG5ldyBMZW1tYShsYWJlbHMsIHN0YXRlbWVudE5vZGUsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudHNKU09OID0gc3VwcG9zaXRpb25zLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gc3VwcG9zaXRpb25TdGF0ZW1lbnRzSlNPTi5tYXAoKHN1cHBvc2l0aW9uU3RhdGVtZW50SlNPTikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04oc3VwcG9zaXRpb25TdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudEpTT04gPSBjb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OKGNvbnNlcXVlbnRTdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGxlbW1hID0gbmV3IExlbW1hKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBsZW1tYTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzQW5kU3RhdGVtZW50Tm9kZShsYWJlbHMsIHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gW10sXG4gICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGxlbW1hID0gbmV3IExlbW1hKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGxlbW1hO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzQW5kQ29uc2VxdWVudFN0YXRlbWVudE5vZGUobGFiZWxzLCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLCBjb25zZXF1ZW50U3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGxlbW1hID0gbmV3IExlbW1hKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGxlbW1hO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkxlbW1hIiwibGFiZWxzIiwic3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMiLCJjb25zZXF1ZW50U3RhdGVtZW50Tm9kZSIsImdldExhYmVscyIsImdldFN0YXRlbWVudE5vZGUiLCJnZXRTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzIiwiZ2V0Q29uc2VxdWVudFN0YXRlbWVudE5vZGUiLCJtYXRjaExhYmVsTmFtZSIsImxhYmVsTmFtZSIsIm1hdGNoZXNMYWJlbE5hbWUiLCJzb21lIiwibGFiZWwiLCJuYW1lIiwibGFiZWxNYXRjaGVzTmFtZSIsIm1hdGNoTmFtZSIsInRvSlNPTiIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb25zZXF1ZW50U3RhdGVtZW50U3RyaW5nIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmdzIiwic3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmciLCJraW5kIiwiTEVNTUFfS0lORCIsInN0YXRlbWVudCIsImNvbnNlcXVlbnQiLCJzdXBwb3NpdGlvbnMiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIkxhYmVsIiwibGVtbWEiLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRzSlNPTiIsInN1cHBvc2l0aW9uU3RhdGVtZW50SlNPTiIsImNvbnNlcXVlbnRTdGF0ZW1lbnRKU09OIiwiZnJvbUxhYmVsc0FuZFN0YXRlbWVudE5vZGUiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25TdGF0ZW1lbnROb2Rlc0FuZENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzswREFQSDtxQkFFUztzQkFDRTtvQkFFa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsSUFBQSxBQUFNQSxzQkFBTjthQUFNQSxNQUNQQyxNQUFNLEVBQUVDLGFBQWEsRUFBRUMseUJBQXlCLEVBQUVDLHVCQUF1Qjs4QkFEbEVKO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtRQUNyQixJQUFJLENBQUNDLHlCQUF5QixHQUFHQTtRQUNqQyxJQUFJLENBQUNDLHVCQUF1QixHQUFHQTs7aUJBTGRKOztZQVFuQkssS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTtt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
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZW1tYS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2xhYmVsXCI7XG5cbmltcG9ydCB7IExFTU1BX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5pbXBvcnQgeyB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsIGluZGljYXRpdmVDb25kaXRpb25hbE5vZGVGcm9tSW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMZW1tYSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGU7XG4gICAgdGhpcy5pbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlID0gaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZTtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0SW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgbGFiZWxNYXRjaGVzTmFtZSA9IGxhYmVsLm1hdGNoTmFtZShuYW1lKTtcblxuICAgICAgaWYgKGxhYmVsTWF0Y2hlc05hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc0xhYmVsTmFtZTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBsYWJlbHNKU09OID0gdGhpcy5sYWJlbHMubWFwKChsYWJlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbEpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy51bnFhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMuaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSksXG4gICAgICAgICAga2luZCA9IExFTU1BX0tJTkQsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsICAvLy9cbiAgICAgICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWwgPSBpbmRpY2F0aXZlQ29uZGl0aW9uYWxTdHJpbmcsICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50LFxuICAgICAgICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgbGV0IHsgbGFiZWxzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsczsgIC8vL1xuXG4gICAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGxhYmVsSlNPTiwgLy8vXG4gICAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgdW5xdWFsaWZpZWRTdGF0ZW1lbnQsIGluZGljYXRpdmVDb25kaXRpb25hbCB9ID0ganNvbjtcblxuICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlID0gbnVsbDtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB1bnF1YWxpZmllZFN0YXRlbWVudDsgIC8vL1xuXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcodW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRpY2F0aXZlQ29uZGl0aW9uYWxTdHJpbmcgPSBpbmRpY2F0aXZlQ29uZGl0aW9uYWw7ICAvLy9cblxuICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSA9IGluZGljYXRpdmVDb25kaXRpb25hbE5vZGVGcm9tSW5kaWNhdGl2ZUNvbmRpdGlvbmFsU3RyaW5nKGluZGljYXRpdmVDb25kaXRpb25hbFN0cmluZywgcmVsZWFzZUNvbnRleHQpO1xuICAgIH1cblxuICAgIGNvbnN0IGxlbW1hID0gbmV3IExlbW1hKGxhYmVscywgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKTtcblxuICAgIHJldHVybiBsZW1tYTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlQW5kSW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZShsYWJlbHMsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSkge1xuICAgIGNvbnN0IGxlbW1hID0gbmV3IExlbW1hKGxhYmVscywgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKTtcblxuICAgIHJldHVybiBsZW1tYTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJMZW1tYSIsImxhYmVscyIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImluZGljYXRpdmVDb25kaXRpb25hbE5vZGUiLCJnZXRMYWJlbHMiLCJnZXRVbnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJnZXRJbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlIiwibWF0Y2hMYWJlbE5hbWUiLCJsYWJlbE5hbWUiLCJtYXRjaGVzTGFiZWxOYW1lIiwic29tZSIsImxhYmVsIiwibmFtZSIsImxhYmVsTWF0Y2hlc05hbWUiLCJtYXRjaE5hbWUiLCJ0b0pTT04iLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ1bnFhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImluZGljYXRpdmVDb25kaXRpb25hbFN0cmluZyIsImtpbmQiLCJMRU1NQV9LSU5EIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWwiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIkxhYmVsIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZUZyb21JbmRpY2F0aXZlQ29uZGl0aW9uYWxTdHJpbmciLCJsZW1tYSIsImZyb21MYWJlbHNVbnF1YWxpZmllZFN0YXRlbWVudE5vZGVBbmRJbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzswREFQSDtxQkFFUztzQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlkLElBQUEsQUFBTUEsc0JBQU47YUFBTUEsTUFDUEMsTUFBTSxFQUFFQyx3QkFBd0IsRUFBRUMseUJBQXlCOzhCQURwREg7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyx3QkFBd0IsR0FBR0E7UUFDaEMsSUFBSSxDQUFDQyx5QkFBeUIsR0FBR0E7O2lCQUpoQkg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSw4QkFBOEI7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDSCx3QkFBd0I7WUFDdEM7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsK0JBQStCO2dCQUM3QixPQUFPLElBQUksQ0FBQ0gseUJBQXlCO1lBQ3ZDOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRTtnQkFDeEIsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ1IsTUFBTSxDQUFDUyxJQUFJLENBQUMsU0FBQ0MsT0FBVTtvQkFDbkQsSUFBTUMsT0FBT0osV0FDWEssbUJBQW1CRixNQUFNRyxTQUFTLENBQUNGO29CQUVyQyxJQUFJQyxrQkFBa0I7d0JBQ3BCLE9BQU8sSUFBSTtvQkFDYixDQUFDO2dCQUNIO2dCQUVBLE9BQU9KO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxhQUFhLElBQUksQ0FBQ2YsTUFBTSxDQUFDZ0IsR0FBRyxDQUFDLFNBQUNOLE9BQVU7b0JBQ3RDLElBQU1PLFlBQVlQLE1BQU1JLE1BQU07b0JBRTlCLE9BQU9HO2dCQUNULElBQ0FDLDZCQUE2QkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNDLHVCQUF1QixHQUN0RUMsOEJBQThCRixJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ2pCLHlCQUF5QixHQUN6RW9CLE9BQU9DLGlCQUFVLEVBQ2pCdkIsU0FBU2UsWUFDVFMsdUJBQXVCTiw0QkFDdkJPLHdCQUF3QkosNkJBQ3hCSyxPQUFPO29CQUNMSixNQUFBQTtvQkFDQXRCLFFBQUFBO29CQUNBd0Isc0JBQUFBO29CQUNBQyx1QkFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVFLGNBQWMsRUFBRTtnQkFDcEMsSUFBSSxBQUFFNUIsU0FBVzBCLEtBQVgxQjtnQkFFTixJQUFNZSxhQUFhZixRQUFTLEdBQUc7Z0JBRS9CQSxTQUFTZSxXQUFXQyxHQUFHLENBQUMsU0FBQ0MsV0FBYztvQkFDckMsSUFBTVMsU0FBT1QsV0FDUFAsUUFBUW1CLGNBQUssQ0FBQ0YsUUFBUSxDQUFDRCxRQUFNRTtvQkFFbkMsT0FBT2xCO2dCQUNUO2dCQUVBLElBQU1jLHVCQUFnREUsS0FBaERGLHNCQUFzQkMsd0JBQTBCQyxLQUExQkQ7Z0JBRTVCLElBQUl4QiwyQkFBMkIsSUFBSSxFQUMvQkMsNEJBQTRCLElBQUk7Z0JBRXBDLElBQUlzQix5QkFBeUIsSUFBSSxFQUFFO29CQUNqQyxJQUFNTiw2QkFBNkJNLHNCQUF1QixHQUFHO29CQUU3RHZCLDJCQUEyQjZCLElBQUFBLDhEQUFzRCxFQUFDWiw0QkFBNEJVO2dCQUNoSCxDQUFDO2dCQUVELElBQUlILDBCQUEwQixJQUFJLEVBQUU7b0JBQ2xDLElBQU1KLDhCQUE4QkksdUJBQXdCLEdBQUc7b0JBRS9EdkIsNEJBQTRCNkIsSUFBQUEsZ0VBQXdELEVBQUNWLDZCQUE2Qk87Z0JBQ3BILENBQUM7Z0JBRUQsSUFBTUksUUFBUSxJQW5GR2pDLE1BbUZPQyxRQUFRQywwQkFBMEJDO2dCQUUxRCxPQUFPOEI7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLCtEQUErRGpDLE1BQU0sRUFBRUMsd0JBQXdCLEVBQUVDLHlCQUF5QixFQUFFO2dCQUNqSSxJQUFNOEIsUUFBUSxJQXpGR2pDLE1BeUZPQyxRQUFRQywwQkFBMEJDO2dCQUUxRCxPQUFPOEI7WUFDVDs7O1dBNUZtQmpDIn0=