occam-verify-cli 0.0.1087 → 0.0.1089

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 (45) hide show
  1. package/lib/assertion/contained.js +3 -3
  2. package/lib/assertion/defined.js +4 -4
  3. package/lib/axiom.js +33 -81
  4. package/lib/conjecture.js +33 -85
  5. package/lib/context/file.js +43 -1
  6. package/lib/context/local.js +38 -2
  7. package/lib/declaration.js +7 -41
  8. package/lib/frame.js +49 -26
  9. package/lib/judgement.js +28 -16
  10. package/lib/lemma.js +34 -85
  11. package/lib/metaLemma.js +35 -102
  12. package/lib/metatheorem.js +34 -60
  13. package/lib/mixins/statement/qualified/unify.js +21 -63
  14. package/lib/mixins/statement/verify.js +2 -17
  15. package/lib/proofStep.js +6 -6
  16. package/lib/reference.js +14 -4
  17. package/lib/statement.js +8 -8
  18. package/lib/term.js +8 -8
  19. package/lib/theorem.js +34 -85
  20. package/lib/topLevelAssertion.js +62 -5
  21. package/lib/utilities/json.js +2 -2
  22. package/lib/variable.js +2 -2
  23. package/package.json +1 -1
  24. package/src/assertion/contained.js +4 -4
  25. package/src/assertion/defined.js +4 -4
  26. package/src/axiom.js +10 -63
  27. package/src/conjecture.js +10 -72
  28. package/src/context/file.js +42 -0
  29. package/src/context/local.js +13 -2
  30. package/src/declaration.js +7 -55
  31. package/src/frame.js +58 -31
  32. package/src/judgement.js +40 -20
  33. package/src/lemma.js +12 -72
  34. package/src/metaLemma.js +12 -81
  35. package/src/metatheorem.js +10 -78
  36. package/src/mixins/statement/qualified/unify.js +37 -104
  37. package/src/mixins/statement/verify.js +0 -27
  38. package/src/proofStep.js +7 -5
  39. package/src/reference.js +25 -4
  40. package/src/statement.js +8 -8
  41. package/src/term.js +8 -8
  42. package/src/theorem.js +10 -71
  43. package/src/topLevelAssertion.js +86 -4
  44. package/src/utilities/json.js +1 -1
  45. package/src/variable.js +1 -1
@@ -104,7 +104,7 @@ var ContainedAssertion = /*#__PURE__*/ function() {
104
104
  localContext.trace("Verifying the '".concat(containedAssertionString, "' contained assertion..."));
105
105
  stated = true; ///
106
106
  assignments = null; ///
107
- var termVerified = true, frameVerified = true, statementVerified = true;
107
+ var termVerified = false, frameVerified = false, statementVerified = false;
108
108
  if (this.term !== null) {
109
109
  termVerified = this.term.verify(localContext, function() {
110
110
  var verifiedAhead = true;
@@ -117,7 +117,7 @@ var ContainedAssertion = /*#__PURE__*/ function() {
117
117
  if (this.statement !== null) {
118
118
  statementVerified = this.statement.verify(assignments, stated, localContext);
119
119
  }
120
- if (termVerified && frameVerified && statementVerified) {
120
+ if (termVerified || frameVerified || statementVerified) {
121
121
  var verifiedWhenStated = false, verifiedWhenDerived = false;
122
122
  if (stated) {
123
123
  verifiedWhenStated = this.verifyWhenStated(assignments, localContext);
@@ -204,4 +204,4 @@ function verifyWhenDerived(term, frame, statement, negated, localContext) {
204
204
  return verifiedWhenDerived;
205
205
  }
206
206
 
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vY29udGFpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuXG5pbXBvcnQgeyBpc0Fzc2VydGlvbk5lZ2F0ZWQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucywgZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zLCBzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZWRBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5vZGUsIHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudGVybSA9IHRlcm07XG4gICAgdGhpcy5mcmFtZSA9IGZyYW1lO1xuICAgIHRoaXMubmVnYXRlZCA9IG5lZ2F0ZWQ7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0RnJhbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZnJhbWU7XG4gIH1cblxuICBpc05lZ2F0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVnYXRlZDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICByZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCByZXNvbHZlZDtcblxuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtID0gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0aGlzLnRlcm0sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGZyYW1lID0gZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zKHRoaXMuZnJhbWUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21TdGF0ZW1lbnRBbmRTdWJzdGl0dXRpb25zKHRoaXMuc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIHN0YXRlbWVudCwgdGhpcy5uZWdhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmVzb2x2ZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cblxuICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZWQ7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gICAgYXNzaWdubWVudHMgPSBudWxsOyAvLy9cblxuICAgIGxldCB0ZXJtVmVyaWZpZWQgPSB0cnVlLFxuICAgICAgICBmcmFtZVZlcmlmaWVkID0gdHJ1ZSxcbiAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdGVybVZlcmlmaWVkID0gdGhpcy50ZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mcmFtZSAhPT0gbnVsbCkge1xuICAgICAgZnJhbWVWZXJpZmllZCA9IHRoaXMuZnJhbWUudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWQgJiYgZnJhbWVWZXJpZmllZCAmJiBzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgbGV0IHZlcmlmaWVkV2hlblN0YXRlZCA9IGZhbHNlLFxuICAgICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKHN0YXRlZCkge1xuICAgICAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0aGlzLnZlcmlmeVdoZW5TdGF0ZWQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdGhpcy52ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZWRXaGVuU3RhdGVkIHx8IHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuU3RhdGVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlblN0YXRlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGNvbnRhaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlblN0YXRlZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHZlcmlmeVdoZW5EZXJpdmVkKHRoaXMudGVybSwgdGhpcy5mcmFtZSwgdGhpcy5zdGF0ZW1lbnQsIHRoaXMubmVnYXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllZFdoZW5EZXJpdmVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGNvbnRhaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlbkRlcml2ZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IGNvbnRhaW5lZEFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBUZXJtLCBGcmFtZSwgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgbm9kZSA9IGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShjb250YWluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShjb250YWluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21Db250YWluZWRBc3NlcnRpb25Ob2RlKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICBjb250YWluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbmVnYXRlZCA9IGNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQ7ICAvLy9cblxuICAgICAgY29udGFpbmVkQXNzZXJ0aW9uID0gbmV3IENvbnRhaW5lZEFzc2VydGlvbihzdHJpbmcsIG5vZGUsIHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBzdGF0ZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZWRBc3NlcnRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIHN0YXRlbWVudCwgbmVnYXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgaWYgKHRlcm0gIT09IG51bGwpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRlcm0uZ2V0VmFyaWFibGUobG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVDb250YWluZWQgPSBzdGF0ZW1lbnQuaXNWYXJpYWJsZUNvbnRhaW5lZCh2YXJpYWJsZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKCFuZWdhdGVkICYmIHZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhdmFyaWFibGVDb250YWluZWQpIHtcbiAgICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGZyYW1lICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlID0gZnJhbWUuZ2V0TWV0YXZhcmlhYmxlKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVDb250YWluZWQgPSBzdGF0ZW1lbnQuaXNNZXRhdmFyaWFibGVDb250YWluZWQobWV0YXZhcmlhYmxlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoIW5lZ2F0ZWQgJiYgbWV0YXZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhbWV0YXZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xufVxuIl0sIm5hbWVzIjpbIkNvbnRhaW5lZEFzc2VydGlvbiIsInN0cmluZyIsIm5vZGUiLCJ0ZXJtIiwiZnJhbWUiLCJuZWdhdGVkIiwic3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0Tm9kZSIsImdldFRlcm0iLCJnZXRGcmFtZSIsImlzTmVnYXRlZCIsImdldFN0YXRlbWVudCIsInJlc29sdmUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwicmVzb2x2ZWQiLCJjb250YWluZWRBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsInZlcmlmaWVkV2hlbkRlcml2ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImRlYnVnIiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJ2ZXJpZmllZCIsInRlcm1WZXJpZmllZCIsImZyYW1lVmVyaWZpZWQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJ2ZXJpZmllZFdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuU3RhdGVkIiwiZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJjb250YWluZWRBc3NlcnRpb25Ob2RlIiwiY29udGFpbmVkQXNzZXJ0aW9uIiwiVGVybSIsInNoaW0iLCJGcmFtZSIsIlN0YXRlbWVudCIsIm5vZGVBc1N0cmluZyIsImNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQiLCJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJ2YXJpYWJsZSIsImdldFZhcmlhYmxlIiwidmFyaWFibGVDb250YWluZWQiLCJpc1ZhcmlhYmxlQ29udGFpbmVkIiwibWV0YXZhcmlhYmxlIiwiZ2V0TWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlQ29udGFpbmVkIiwiaXNNZXRhdmFyaWFibGVDb250YWluZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7OzJEQUxKO3lCQUVrQjs2QkFDa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEcsSUFBQSxBQUFNQSxtQ0FBTjthQUFNQSxtQkFDUEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFNBQVM7Z0NBRHRDTjtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQVBBTjs7WUFVbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFD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
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vY29udGFpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuXG5pbXBvcnQgeyBpc0Fzc2VydGlvbk5lZ2F0ZWQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucywgZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zLCBzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZWRBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5vZGUsIHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudGVybSA9IHRlcm07XG4gICAgdGhpcy5mcmFtZSA9IGZyYW1lO1xuICAgIHRoaXMubmVnYXRlZCA9IG5lZ2F0ZWQ7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0RnJhbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZnJhbWU7XG4gIH1cblxuICBpc05lZ2F0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVnYXRlZDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICByZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCByZXNvbHZlZDtcblxuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtID0gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0aGlzLnRlcm0sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGZyYW1lID0gZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zKHRoaXMuZnJhbWUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21TdGF0ZW1lbnRBbmRTdWJzdGl0dXRpb25zKHRoaXMuc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIHN0YXRlbWVudCwgdGhpcy5uZWdhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmVzb2x2ZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cblxuICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZWQ7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gICAgYXNzaWdubWVudHMgPSBudWxsOyAvLy9cblxuICAgIGxldCB0ZXJtVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgZnJhbWVWZXJpZmllZCA9IGZhbHNlLFxuICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdGVybVZlcmlmaWVkID0gdGhpcy50ZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mcmFtZSAhPT0gbnVsbCkge1xuICAgICAgZnJhbWVWZXJpZmllZCA9IHRoaXMuZnJhbWUudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWQgfHwgZnJhbWVWZXJpZmllZCB8fCBzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgbGV0IHZlcmlmaWVkV2hlblN0YXRlZCA9IGZhbHNlLFxuICAgICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKHN0YXRlZCkge1xuICAgICAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0aGlzLnZlcmlmeVdoZW5TdGF0ZWQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdGhpcy52ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZWRXaGVuU3RhdGVkIHx8IHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuU3RhdGVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlblN0YXRlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGNvbnRhaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlblN0YXRlZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHZlcmlmeVdoZW5EZXJpdmVkKHRoaXMudGVybSwgdGhpcy5mcmFtZSwgdGhpcy5zdGF0ZW1lbnQsIHRoaXMubmVnYXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllZFdoZW5EZXJpdmVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGNvbnRhaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlbkRlcml2ZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IGNvbnRhaW5lZEFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBUZXJtLCBGcmFtZSwgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgbm9kZSA9IGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShjb250YWluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShjb250YWluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21Db250YWluZWRBc3NlcnRpb25Ob2RlKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICBjb250YWluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbmVnYXRlZCA9IGNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQ7ICAvLy9cblxuICAgICAgY29udGFpbmVkQXNzZXJ0aW9uID0gbmV3IENvbnRhaW5lZEFzc2VydGlvbihzdHJpbmcsIG5vZGUsIHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBzdGF0ZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZWRBc3NlcnRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIHN0YXRlbWVudCwgbmVnYXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgaWYgKHRlcm0gIT09IG51bGwpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRlcm0uZ2V0VmFyaWFibGUobG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVDb250YWluZWQgPSBzdGF0ZW1lbnQuaXNWYXJpYWJsZUNvbnRhaW5lZCh2YXJpYWJsZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKCFuZWdhdGVkICYmIHZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhdmFyaWFibGVDb250YWluZWQpIHtcbiAgICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGZyYW1lICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlID0gZnJhbWUuZ2V0TWV0YXZhcmlhYmxlKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVDb250YWluZWQgPSBzdGF0ZW1lbnQuaXNNZXRhdmFyaWFibGVDb250YWluZWQobWV0YXZhcmlhYmxlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoIW5lZ2F0ZWQgJiYgbWV0YXZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhbWV0YXZhcmlhYmxlQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xufVxuIl0sIm5hbWVzIjpbIkNvbnRhaW5lZEFzc2VydGlvbiIsInN0cmluZyIsIm5vZGUiLCJ0ZXJtIiwiZnJhbWUiLCJuZWdhdGVkIiwic3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0Tm9kZSIsImdldFRlcm0iLCJnZXRGcmFtZSIsImlzTmVnYXRlZCIsImdldFN0YXRlbWVudCIsInJlc29sdmUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwicmVzb2x2ZWQiLCJjb250YWluZWRBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsInZlcmlmaWVkV2hlbkRlcml2ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImRlYnVnIiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJ2ZXJpZmllZCIsInRlcm1WZXJpZmllZCIsImZyYW1lVmVyaWZpZWQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJ2ZXJpZmllZFdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuU3RhdGVkIiwiZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJjb250YWluZWRBc3NlcnRpb25Ob2RlIiwiY29udGFpbmVkQXNzZXJ0aW9uIiwiVGVybSIsInNoaW0iLCJGcmFtZSIsIlN0YXRlbWVudCIsIm5vZGVBc1N0cmluZyIsImNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQiLCJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJ2YXJpYWJsZSIsImdldFZhcmlhYmxlIiwidmFyaWFibGVDb250YWluZWQiLCJpc1ZhcmlhYmxlQ29udGFpbmVkIiwibWV0YXZhcmlhYmxlIiwiZ2V0TWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlQ29udGFpbmVkIiwiaXNNZXRhdmFyaWFibGVDb250YWluZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7OzJEQUxKO3lCQUVrQjs2QkFDa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEcsSUFBQSxBQUFNQSxtQ0FBTjthQUFNQSxtQkFDUEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFNBQVM7Z0NBRHRDTjtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQVBBTjs7WUFVbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtn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
@@ -100,7 +100,7 @@ var DefinedAssertion = /*#__PURE__*/ function() {
100
100
  localContext.trace("Verifying the '".concat(definedAssertionString, "' defined assertion..."));
101
101
  stated = true; ///
102
102
  assignments = null; ///
103
- var termVerified = true, frameVerified = true;
103
+ var termVerified = false, frameVerified = false;
104
104
  if (this.term !== null) {
105
105
  termVerified = this.term.verify(localContext, function() {
106
106
  var verifiedAhead = true;
@@ -110,7 +110,7 @@ var DefinedAssertion = /*#__PURE__*/ function() {
110
110
  if (this.frame !== null) {
111
111
  frameVerified = this.frame.verify(assignments, stated, localContext);
112
112
  }
113
- if (termVerified && frameVerified) {
113
+ if (termVerified || frameVerified) {
114
114
  var verifiedWhenStated = false, verifiedWhenDerived = false;
115
115
  if (stated) {
116
116
  verifiedWhenStated = this.verifyWhenStated(localContext);
@@ -180,7 +180,7 @@ function verifyWhenDerived(term, frame, negated, localContext) {
180
180
  }
181
181
  }
182
182
  if (frame !== null) {
183
- var frameNode = frame.getNode(), metavariableNode = metavariableNodeQuery(frameNode), metavariableDefined = localContext.isJudgementPresentByMetavariableNode(metavariableNode);
183
+ var frameNode = frame.getNode(), metavariableNode = metavariableNodeQuery(frameNode), metavariableDefined = localContext.isMetavariableDefinedByMetavariableNode(metavariableNode);
184
184
  if (!negated && metavariableDefined) {
185
185
  verifiedWhenDerived = true;
186
186
  }
@@ -191,4 +191,4 @@ function verifyWhenDerived(term, frame, negated, localContext) {
191
191
  return verifiedWhenDerived;
192
192
  }
193
193
 
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vZGVmaW5lZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNBc3NlcnRpb25OZWdhdGVkIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hc3NlcnRpb25cIjtcbmltcG9ydCB7IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcbmltcG9ydCB7IHRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMsIGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9mcmFtZS9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWZpbmVkQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlLCB0ZXJtLCBmcmFtZSwgbmVnYXRlZCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmZyYW1lPSBmcmFtZTtcbiAgICB0aGlzLm5lZ2F0ZWQgPSBuZWdhdGVkO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgaXNOZWdhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWQ7XG4gIH1cblxuICByZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCByZXNvbHZlZDtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtID0gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0aGlzLnRlcm0sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGZyYW1lID0gZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zKHRoaXMuZnJhbWUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB2ZXJpZnlXaGVuRGVyaXZlZCh0ZXJtLCBmcmFtZSwgdGhpcy5uZWdhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmVzb2x2ZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cblxuICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlZDtcbiAgfVxuXG4gIHZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBzdGF0ZWQgPSB0cnVlOyAgLy8vXG5cbiAgICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gICAgbGV0IHRlcm1WZXJpZmllZCA9IHRydWUsXG4gICAgICAgIGZyYW1lVmVyaWZpZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdGVybVZlcmlmaWVkID0gdGhpcy50ZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mcmFtZSE9PSBudWxsKSB7XG4gICAgICBmcmFtZVZlcmlmaWVkID0gdGhpcy5mcmFtZS52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodGVybVZlcmlmaWVkICYmIGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgIGxldCB2ZXJpZmllZFdoZW5TdGF0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgICAgIGlmIChzdGF0ZWQpIHtcbiAgICAgICAgdmVyaWZpZWRXaGVuU3RhdGVkID0gdGhpcy52ZXJpZnlXaGVuU3RhdGVkKGxvY2FsQ29udGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdGhpcy52ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZWRXaGVuU3RhdGVkIHx8IHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5TdGF0ZWQobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkV2hlblN0YXRlZDtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBkZWZpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdmVyaWZpZWRXaGVuU3RhdGVkID0gdHJ1ZTtcblxuICAgIGlmICh2ZXJpZmllZFdoZW5TdGF0ZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZWQgZGVmaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlblN0YXRlZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBkZWZpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHZlcmlmeVdoZW5EZXJpdmVkKHRoaXMudGVybSwgdGhpcy5mcmFtZSwgdGhpcy5uZWdhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGRlZmluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21EZWZpbmVkQXNzZXJ0aW9uTm9kZShkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IGRlZmluZWRBc3NlcnRpb24gPSBudWxsO1xuXG4gICAgaWYgKGRlZmluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IFRlcm0sIEZyYW1lIH0gPSBzaGltLFxuICAgICAgICAgICAgbm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgdGVybSA9IFRlcm0uZnJvbURlZmluZWRBc3NlcnRpb25Ob2RlKGRlZmluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tRGVmaW5lZEFzc2VydGlvbk5vZGUoZGVmaW5lZEFzc2VydGlvbk5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTmVnYXRlZCA9IGlzQXNzZXJ0aW9uTmVnYXRlZChkZWZpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICBuZWdhdGVkID0gZGVmaW5lZEFzc2VydGlvbk5lZ2F0ZWQ7ICAvLy9cblxuICAgICAgZGVmaW5lZEFzc2VydGlvbiA9IG5ldyBEZWZpbmVkQXNzZXJ0aW9uKHN0cmluZywgbm9kZSwgdGVybSwgZnJhbWUsIG5lZ2F0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZpbmVkQXNzZXJ0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVdoZW5EZXJpdmVkKHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHZlcmlmaWVkV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZURlZmluZWQgPSBsb2NhbENvbnRleHQuaXNWYXJpYWJsZURlZmluZWRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgaWYgKCFuZWdhdGVkICYmIHZhcmlhYmxlRGVmaW5lZCkge1xuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5lZ2F0ZWQgJiYgIXZhcmlhYmxlRGVmaW5lZCkge1xuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZyYW1lIT09IG51bGwpIHtcbiAgICBjb25zdCBmcmFtZU5vZGUgPSBmcmFtZS5nZXROb2RlKCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZURlZmluZWQgPSBsb2NhbENvbnRleHQuaXNKdWRnZW1lbnRQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKCFuZWdhdGVkICYmIG1ldGF2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChuZWdhdGVkICYmICFtZXRhdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZWRXaGVuRGVyaXZlZDtcbn0iXSwibmFtZXMiOlsiRGVmaW5lZEFzc2VydGlvbiIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwic3RyaW5nIiwibm9kZSIsInRlcm0iLCJmcmFtZSIsIm5lZ2F0ZWQiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwiZ2V0VGVybSIsImdldEZyYW1lIiwiaXNOZWdhdGVkIiwicmVzb2x2ZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJyZXNvbHZlZCIsImRlZmluZWRBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJ2ZXJpZmllZFdoZW5EZXJpdmVkIiwidmVyaWZ5V2hlbkRlcml2ZWQiLCJkZWJ1ZyIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwidmVyaWZpZWQiLCJ0ZXJtVmVyaWZpZWQiLCJmcmFtZVZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsInZlcmlmaWVkV2hlblN0YXRlZCIsInZlcmlmeVdoZW5TdGF0ZWQiLCJmcm9tRGVmaW5lZEFzc2VydGlvbk5vZGUiLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb24iLCJUZXJtIiwic2hpbSIsIkZyYW1lIiwibm9kZUFzU3RyaW5nIiwiZGVmaW5lZEFzc2VydGlvbk5lZ2F0ZWQiLCJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZURlZmluZWQiLCJpc1ZhcmlhYmxlRGVmaW5lZEJ5VmFyaWFibGVOYW1lIiwiZnJhbWVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZURlZmluZWQiLCJpc0p1ZGdlbWVudFByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7OzJEQVZKO3FCQUVTO3lCQUNTO29CQUNVOzZCQUNnQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3RSxJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMsb0JBQzlCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsSUFBQSxBQUFNRixpQ0FBTjthQUFNQSxpQkFDUEksTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxPQUFPO2dDQUQzQlI7UUFFakIsSUFBSSxDQUFDSSxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUVBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBOztrQkFORVI7O1lBU25CUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLE1BQU07WUFDcEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLElBQUk7WUFDbEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLElBQUk7WUFDbEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLEtBQUs7WUFDbkI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLE9BQU87WUFDckI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUMsYUFBYSxFQUFFQyxZQUFZO2dCQUNqQyxJQUFJQztnQkFFSixJQUFNQyx5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
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vZGVmaW5lZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNBc3NlcnRpb25OZWdhdGVkIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hc3NlcnRpb25cIjtcbmltcG9ydCB7IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcbmltcG9ydCB7IHRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMsIGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3Vic3RpdHV0aW9uc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9mcmFtZS9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWZpbmVkQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlLCB0ZXJtLCBmcmFtZSwgbmVnYXRlZCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmZyYW1lPSBmcmFtZTtcbiAgICB0aGlzLm5lZ2F0ZWQgPSBuZWdhdGVkO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgaXNOZWdhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWQ7XG4gIH1cblxuICByZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCByZXNvbHZlZDtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtID0gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0aGlzLnRlcm0sIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGZyYW1lID0gZnJhbWVGcm9tRnJhbWVBbmRTdWJzdGl0dXRpb25zKHRoaXMuZnJhbWUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB2ZXJpZnlXaGVuRGVyaXZlZCh0ZXJtLCBmcmFtZSwgdGhpcy5uZWdhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmVzb2x2ZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cblxuICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlZDtcbiAgfVxuXG4gIHZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBzdGF0ZWQgPSB0cnVlOyAgLy8vXG5cbiAgICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gICAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlLFxuICAgICAgICBmcmFtZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy50ZXJtICE9PSBudWxsKSB7XG4gICAgICB0ZXJtVmVyaWZpZWQgPSB0aGlzLnRlcm0udmVyaWZ5KGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZyYW1lIT09IG51bGwpIHtcbiAgICAgIGZyYW1lVmVyaWZpZWQgPSB0aGlzLmZyYW1lLnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWQgfHwgZnJhbWVWZXJpZmllZCkge1xuICAgICAgbGV0IHZlcmlmaWVkV2hlblN0YXRlZCA9IGZhbHNlLFxuICAgICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKHN0YXRlZCkge1xuICAgICAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0aGlzLnZlcmlmeVdoZW5TdGF0ZWQobG9jYWxDb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0aGlzLnZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2ZXJpZmllZFdoZW5TdGF0ZWQgfHwgdmVyaWZpZWRXaGVuRGVyaXZlZCkge1xuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVmaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5V2hlblN0YXRlZChsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuU3RhdGVkO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllZFdoZW5TdGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlblN0YXRlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBkZWZpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuU3RhdGVkO1xuICB9XG5cbiAgdmVyaWZ5V2hlbkRlcml2ZWQobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkV2hlbkRlcml2ZWQ7XG5cbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdmVyaWZ5V2hlbkRlcml2ZWQodGhpcy50ZXJtLCB0aGlzLmZyYW1lLCB0aGlzLm5lZ2F0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodmVyaWZpZWRXaGVuRGVyaXZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgZGVmaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlbkRlcml2ZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbURlZmluZWRBc3NlcnRpb25Ob2RlKGRlZmluZWRBc3NlcnRpb25Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgZGVmaW5lZEFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBpZiAoZGVmaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgVGVybSwgRnJhbWUgfSA9IHNoaW0sXG4gICAgICAgICAgICBub2RlID0gZGVmaW5lZEFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tRGVmaW5lZEFzc2VydGlvbk5vZGUoZGVmaW5lZEFzc2VydGlvbk5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICBmcmFtZSA9IEZyYW1lLmZyb21EZWZpbmVkQXNzZXJ0aW9uTm9kZShkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICAgIGRlZmluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGRlZmluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIG5lZ2F0ZWQgPSBkZWZpbmVkQXNzZXJ0aW9uTmVnYXRlZDsgIC8vL1xuXG4gICAgICBkZWZpbmVkQXNzZXJ0aW9uID0gbmV3IERlZmluZWRBc3NlcnRpb24oc3RyaW5nLCBub2RlLCB0ZXJtLCBmcmFtZSwgbmVnYXRlZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmluZWRBc3NlcnRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIG5lZ2F0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gIGlmICh0ZXJtICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlRGVmaW5lZCA9IGxvY2FsQ29udGV4dC5pc1ZhcmlhYmxlRGVmaW5lZEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICBpZiAoIW5lZ2F0ZWQgJiYgdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVnYXRlZCAmJiAhdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZnJhbWUhPT0gbnVsbCkge1xuICAgIGNvbnN0IGZyYW1lTm9kZSA9IGZyYW1lLmdldE5vZGUoKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGZyYW1lTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlRGVmaW5lZCA9IGxvY2FsQ29udGV4dC5pc01ldGF2YXJpYWJsZURlZmluZWRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAoIW5lZ2F0ZWQgJiYgbWV0YXZhcmlhYmxlRGVmaW5lZCkge1xuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG5lZ2F0ZWQgJiYgIW1ldGF2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xufSJdLCJuYW1lcyI6WyJEZWZpbmVkQXNzZXJ0aW9uIiwidmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJzdHJpbmciLCJub2RlIiwidGVybSIsImZyYW1lIiwibmVnYXRlZCIsImdldFN0cmluZyIsImdldE5vZGUiLCJnZXRUZXJtIiwiZ2V0RnJhbWUiLCJpc05lZ2F0ZWQiLCJyZXNvbHZlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInJlc29sdmVkIiwiZGVmaW5lZEFzc2VydGlvblN0cmluZyIsInRyYWNlIiwidGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyIsImZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyIsInZlcmlmaWVkV2hlbkRlcml2ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImRlYnVnIiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJ2ZXJpZmllZCIsInRlcm1WZXJpZmllZCIsImZyYW1lVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwidmVyaWZpZWRXaGVuU3RhdGVkIiwidmVyaWZ5V2hlblN0YXRlZCIsImZyb21EZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb25Ob2RlIiwiZGVmaW5lZEFzc2VydGlvbiIsIlRlcm0iLCJzaGltIiwiRnJhbWUiLCJub2RlQXNTdHJpbmciLCJkZWZpbmVkQXNzZXJ0aW9uTmVnYXRlZCIsImlzQXNzZXJ0aW9uTmVnYXRlZCIsInRlcm1Ob2RlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlRGVmaW5lZCIsImlzVmFyaWFibGVEZWZpbmVkQnlWYXJpYWJsZU5hbWUiLCJmcmFtZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlRGVmaW5lZCIsImlzTWV0YXZhcmlhYmxlRGVmaW5lZEJ5TWV0YXZhcmlhYmxlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFZcUJBOzs7MkRBVko7cUJBRVM7eUJBQ1M7b0JBQ1U7NkJBQ2dDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdFLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDOUJDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixJQUFBLEFBQU1GLGlDQUFOO2FBQU1BLGlCQUNQSSxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE9BQU87Z0NBRDNCUjtRQUVqQixJQUFJLENBQUNJLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBRUE7UUFDWixJQUFJLENBQUNDLE9BQU8sR0FBR0E7O2tCQU5FUjs7WUFTbkJTLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsTUFBTTtZQUNwQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsSUFBSTtZQUNsQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsSUFBSTtZQUNsQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsS0FBSztZQUNuQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsT0FBTztZQUNyQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxhQUFhLEVBQUVDLFlBQVk7Z0JBQ2pDLElBQUlDO2dCQUVK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
package/lib/axiom.js CHANGED
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
- var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
- var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
14
- var _query = require("./utilities/query");
12
+ var _topLevelAssertion = /*#__PURE__*/ _interop_require_default(require("./topLevelAssertion"));
15
13
  function _assert_this_initialized(self) {
16
14
  if (self === void 0) {
17
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -41,6 +39,22 @@ function _create_class(Constructor, protoProps, staticProps) {
41
39
  if (staticProps) _defineProperties(Constructor, staticProps);
42
40
  return Constructor;
43
41
  }
42
+ function _get(target, property, receiver) {
43
+ if (typeof Reflect !== "undefined" && Reflect.get) {
44
+ _get = Reflect.get;
45
+ } else {
46
+ _get = function get(target, property, receiver) {
47
+ var base = _super_prop_base(target, property);
48
+ if (!base) return;
49
+ var desc = Object.getOwnPropertyDescriptor(base, property);
50
+ if (desc.get) {
51
+ return desc.get.call(receiver || target);
52
+ }
53
+ return desc.value;
54
+ };
55
+ }
56
+ return _get(target, property, receiver || target);
57
+ }
44
58
  function _get_prototype_of(o) {
45
59
  _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
46
60
  return o.__proto__ || Object.getPrototypeOf(o);
@@ -65,47 +79,6 @@ function _interop_require_default(obj) {
65
79
  default: obj
66
80
  };
67
81
  }
68
- function _getRequireWildcardCache(nodeInterop) {
69
- if (typeof WeakMap !== "function") return null;
70
- var cacheBabelInterop = new WeakMap();
71
- var cacheNodeInterop = new WeakMap();
72
- return (_getRequireWildcardCache = function(nodeInterop) {
73
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
74
- })(nodeInterop);
75
- }
76
- function _interop_require_wildcard(obj, nodeInterop) {
77
- if (!nodeInterop && obj && obj.__esModule) {
78
- return obj;
79
- }
80
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
81
- return {
82
- default: obj
83
- };
84
- }
85
- var cache = _getRequireWildcardCache(nodeInterop);
86
- if (cache && cache.has(obj)) {
87
- return cache.get(obj);
88
- }
89
- var newObj = {
90
- __proto__: null
91
- };
92
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
93
- for(var key in obj){
94
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
95
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
96
- if (desc && (desc.get || desc.set)) {
97
- Object.defineProperty(newObj, key, desc);
98
- } else {
99
- newObj[key] = obj[key];
100
- }
101
- }
102
- }
103
- newObj.default = obj;
104
- if (cache) {
105
- cache.set(obj, newObj);
106
- }
107
- return newObj;
108
- }
109
82
  function _possible_constructor_return(self, call) {
110
83
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
111
84
  return call;
@@ -119,6 +92,13 @@ function _set_prototype_of(o, p) {
119
92
  };
120
93
  return _set_prototype_of(o, p);
121
94
  }
95
+ function _super_prop_base(object, property) {
96
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
97
+ object = _get_prototype_of(object);
98
+ if (object === null) break;
99
+ }
100
+ return object;
101
+ }
122
102
  function _type_of(obj) {
123
103
  "@swc/helpers - typeof";
124
104
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -131,7 +111,6 @@ function _is_native_reflect_construct() {
131
111
  return !!result;
132
112
  })();
133
113
  }
134
- var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"), consequentNodeQuery = (0, _query.nodeQuery)("/axiom/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/axiom/supposition");
135
114
  var Axiom = /*#__PURE__*/ function(TopLevelAssertion) {
136
115
  _inherits(Axiom, TopLevelAssertion);
137
116
  function Axiom() {
@@ -142,34 +121,14 @@ var Axiom = /*#__PURE__*/ function(TopLevelAssertion) {
142
121
  {
143
122
  key: "verify",
144
123
  value: function verify() {
145
- var _this = this;
146
- var verified = false;
147
- var axiomString = this.string; ///
148
- this.fileContext.trace("Verifying the '".concat(axiomString, "' axiom..."));
149
- var labelsVerifiedWhenDeclared = this.labels.every(function(label) {
150
- var labelVVerifiedWhenDeclared = label.verifyWhenDeclared(_this.fileContext);
151
- if (labelVVerifiedWhenDeclared) {
152
- return true;
153
- }
154
- });
155
- if (labelsVerifiedWhenDeclared) {
156
- var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
157
- var suppositionVerified = supposition.verify(localContext);
158
- if (suppositionVerified) {
159
- return true;
160
- }
161
- });
162
- if (suppositionsVerified) {
163
- var consequentVerified = this.consequent.verify(localContext);
164
- if (consequentVerified) {
165
- var axiom = this; ///
166
- this.fileContext.addAxiom(axiom);
167
- verified = true;
168
- }
169
- }
170
- }
124
+ var verified;
125
+ var fileContext = this.getFileContext(), axiomString = this.string; ///
126
+ fileContext.trace("Verifying the '".concat(axiomString, "' axiom..."));
127
+ verified = _get(_get_prototype_of(Axiom.prototype), "verify", this).call(this);
171
128
  if (verified) {
172
- this.fileContext.debug("...verified the '".concat(axiomString, "' axiom."));
129
+ var axiom = this; ///
130
+ fileContext.addAxiom(axiom);
131
+ fileContext.debug("...verified the '".concat(axiomString, "' axiom."));
173
132
  }
174
133
  return verified;
175
134
  }
@@ -184,14 +143,7 @@ var Axiom = /*#__PURE__*/ function(TopLevelAssertion) {
184
143
  {
185
144
  key: "fromAxiomNode",
186
145
  value: function fromAxiomNode(axiomNode, fileContext) {
187
- var Label = _shim.default.Label, Supposition = _shim.default.Supposition, Consequent = _shim.default.Consequent, labelNodes = labelNodesQuery(axiomNode), consequentNode = consequentNodeQuery(axiomNode), suppositionNodes = suppositionNodesQuery(axiomNode), labels = labelNodes.map(function(labelNode) {
188
- var label = Label.fromLabelNode(labelNode, fileContext);
189
- return label;
190
- }), suppositions = suppositionNodes.map(function(suppositionNode) {
191
- var supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
192
- return supposition;
193
- }), consequent = Consequent.fromConsequentNode(consequentNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), proof = null, axiom = new Axiom(fileContext, string, labels, suppositions, consequent, proof);
194
- return axiom;
146
+ return _topLevelAssertion.default.fromNode(Axiom, axiomNode, fileContext);
195
147
  }
196
148
  }
197
149
  ]);
@@ -202,4 +154,4 @@ Object.assign(_shim.default, {
202
154
  });
203
155
  var _default = Axiom;
204
156
 
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgc3RyaW5nRnJvbUxhYmVscyB9IGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9heGlvbS9sYWJlbFwiKSxcbiAgICAgIGNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb20vY29uc2VxdWVudFwiKSxcbiAgICAgIHN1cHBvc2l0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vc3VwcG9zaXRpb25cIik7XG5cbmNsYXNzIEF4aW9tIGV4dGVuZHMgVG9wTGV2ZWxBc3NlcnRpb24ge1xuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBheGlvbVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20uLi5gKTtcblxuICAgIGNvbnN0IGxhYmVsc1ZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdGhpcy5sYWJlbHMuZXZlcnkoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbFZWZXJpZmllZFdoZW5EZWNsYXJlZCA9IGxhYmVsLnZlcmlmeVdoZW5EZWNsYXJlZCh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgICAgaWYgKGxhYmVsVlZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGxhYmVsc1ZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KHRoaXMuZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgc3VwcG9zaXRpb25zVmVyaWZpZWQgPSB0aGlzLnN1cHBvc2l0aW9ucy5ldmVyeSgoc3VwcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHN1cHBvc2l0aW9uLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgY29uc2VxdWVudFZlcmlmaWVkID0gdGhpcy5jb25zZXF1ZW50LnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChjb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBheGlvbSA9IHRoaXM7ICAvLy9cblxuICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkQXhpb20oYXhpb20pO1xuXG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21KU09OKEF4aW9tLCBqc29uLCBmaWxlQ29udGV4dCk7IH1cblxuICBzdGF0aWMgZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBMYWJlbCwgU3VwcG9zaXRpb24sIENvbnNlcXVlbnQgfSA9IHNoaW0sXG4gICAgICAgICAgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbk5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbE5vZGVzLm1hcCgobGFiZWxOb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IExhYmVsLmZyb21MYWJlbE5vZGUobGFiZWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbk5vZGVzLm1hcCgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21TdXBwb3NpdGlvbk5vZGUoc3VwcG9zaXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW50ID0gQ29uc2VxdWVudC5mcm9tQ29uc2VxdWVudE5vZGUoY29uc2VxdWVudE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIGF4aW9tID0gbmV3IEF4aW9tKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZik7XG5cbiAgICByZXR1cm4gYXhpb207XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIEF4aW9tXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQXhpb207XG4iXSwibmFtZXMiOlsibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJBeGlvbSIsInZlcmlmeSIsInZlcmlmaWVkIiwiYXhpb21TdHJpbmciLCJzdHJpbmciLCJmaWxlQ29udGV4dCIsInRyYWNlIiwibGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJsYWJlbHMiLCJldmVyeSIsImxhYmVsIiwibGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25WZXJpZmllZCIsImNvbnNlcXVlbnRWZXJpZmllZCIsImNvbnNlcXVlbnQiLCJheGlvbSIsImFkZEF4aW9tIiwiZGVidWciLCJmcm9tSlNPTiIsImpzb24iLCJUb3BMZXZlbEFzc2VydGlvbiIsImZyb21BeGlvbU5vZGUiLCJheGlvbU5vZGUiLCJMYWJlbCIsInNoaW0iLCJTdXBwb3NpdGlvbiIsIkNvbnNlcXVlbnQiLCJsYWJlbE5vZGVzIiwiY29uc2VxdWVudE5vZGUiLCJzdXBwb3NpdGlvbk5vZGVzIiwibWFwIiwibGFiZWxOb2RlIiwiZnJvbUxhYmVsTm9kZSIsInN1cHBvc2l0aW9uTm9kZSIsImZyb21TdXBwb3NpdGlvbk5vZGUiLCJmcm9tQ29uc2VxdWVudE5vZGUiLCJzdHJpbmdGcm9tTGFiZWxzIiwicHJvb2YiLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlGQTs7O2VBQUE7OzsyREF2RmlCOzREQUNRO3lFQUNLO3FCQUdROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEMsSUFBTUEsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUNoQ0Msd0JBQXdCSCxJQUFBQSxpQkFBVSxFQUFDO0FBRXpDLElBQUEsQUFBTUksc0JBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7O2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBTUMsY0FBYyxJQUFJLENBQUNDLE1BQU0sRUFBRyxHQUFHO2dCQUVyQyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDLEFBQUMsa0JBQTZCLE9BQVpILGFBQVk7Z0JBRXJELElBQU1JLDZCQUE2QixJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLFNBQUNDO29CQUNwRCxJQUFNQyw2QkFBNkJELE1BQU1FLGtCQUFrQixDQUFDLE1BQUtQLFdBQVc7b0JBRTVFLElBQUlNLDRCQUE0Qjt3QkFDOUIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxJQUFJSiw0QkFBNEI7b0JBQzlCLElBQU1NLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQ1YsV0FBVyxHQUM1RFcsdUJBQXVCLElBQUksQ0FBQ0MsWUFBWSxDQUFDUixLQUFLLENBQUMsU0FBQ1M7d0JBQzlDLElBQU1DLHNCQUFzQkQsWUFBWWpCLE1BQU0sQ0FBQ1k7d0JBRS9DLElBQUlNLHFCQUFxQjs0QkFDdkIsT0FBTzt3QkFDVDtvQkFDRjtvQkFFTixJQUFJSCxzQkFBc0I7d0JBQ3hCLElBQU1JLHFCQUFxQixJQUFJLENBQUNDLFVBQVUsQ0FBQ3BCLE1BQU0sQ0FBQ1k7d0JBRWxELElBQUlPLG9CQUFvQjs0QkFDdEIsSUFBTUUsUUFBUSxJQUFJLEVBQUcsR0FBRzs0QkFFeEIsSUFBSSxDQUFDakIsV0FBVyxDQUFDa0IsUUFBUSxDQUFDRDs0QkFFMUJwQixXQUFXO3dCQUNiO29CQUNGO2dCQUNGO2dCQUVBLElBQUlBLFVBQVU7b0JBQ1osSUFBSSxDQUFDRyxXQUFXLENBQUNtQixLQUFLLENBQUMsQUFBQyxvQkFBK0IsT0FBWnJCLGFBQVk7Z0JBQ3pEO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT3VCLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNDLElBQUksRUFBRXJCLFdBQVc7Z0JBQUksT0FBT3NCLDBCQUFpQixDQUFDRixRQUFRLENBOUNsRXpCLE9BOEMwRTBCLE1BQU1yQjtZQUFjOzs7WUFFM0Z1QixLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTLEVBQUV4QixXQUFXO2dCQUN6QyxJQUFReUIsUUFBbUNDLGFBQUksQ0FBdkNELE9BQU9FLGNBQTRCRCxhQUFJLENBQWhDQyxhQUFhQyxhQUFlRixhQUFJLENBQW5CRSxZQUN0QkMsYUFBYXZDLGdCQUFnQmtDLFlBQzdCTSxpQkFBaUJ0QyxvQkFBb0JnQyxZQUNyQ08sbUJBQW1CckMsc0JBQXNCOEIsWUFDekNyQixTQUFTMEIsV0FBV0csR0FBRyxDQUFDLFNBQUNDO29CQUN2QixJQUFNNUIsUUFBUW9CLE1BQU1TLGFBQWEsQ0FBQ0QsV0FBV2pDO29CQUU3QyxPQUFPSztnQkFDVCxJQUNBTyxlQUFlbUIsaUJBQWlCQyxHQUFHLENBQUMsU0FBQ0c7b0JBQ25DLElBQU10QixjQUFjYyxZQUFZUyxtQkFBbUIsQ0FBQ0QsaUJBQWlCbkM7b0JBRXJFLE9BQU9hO2dCQUNULElBQ0FHLGFBQWFZLFdBQVdTLGtCQUFrQixDQUFDUCxnQkFBZ0I5QixjQUMzREQsU0FBU3VDLElBQUFBLG1DQUFnQixFQUFDbkMsU0FDMUJvQyxRQUFRLE1BQ1J0QixRQUFRLElBbEVadEIsTUFrRXNCSyxhQUFhRCxRQUFRSSxRQUFRUyxjQUFjSSxZQUFZdUI7Z0JBRS9FLE9BQU90QjtZQUNUOzs7V0FyRUl0QjtFQUFjMkIsMEJBQWlCO0FBd0VyQ2tCLE9BQU9DLE1BQU0sQ0FBQ2YsYUFBSSxFQUFFO0lBQ2xCL0IsT0FBQUE7QUFDRjtJQUVBLFdBQWVBIn0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmNsYXNzIEF4aW9tIGV4dGVuZHMgVG9wTGV2ZWxBc3NlcnRpb24ge1xuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzLmdldEZpbGVDb250ZXh0KCksXG4gICAgICAgICAgYXhpb21TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tLi4uYCk7XG5cbiAgICB2ZXJpZmllZCA9IHN1cGVyLnZlcmlmeSgpO1xuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBheGlvbSA9IHRoaXM7IC8vL1xuXG4gICAgICBmaWxlQ29udGV4dC5hZGRBeGlvbShheGlvbSk7XG5cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21KU09OKEF4aW9tLCBqc29uLCBmaWxlQ29udGV4dCk7IH1cblxuICBzdGF0aWMgZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tTm9kZShBeGlvbSwgYXhpb21Ob2RlLCBmaWxlQ29udGV4dCk7IH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIEF4aW9tXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQXhpb207XG4iXSwibmFtZXMiOlsiQXhpb20iLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImZpbGVDb250ZXh0IiwiZ2V0RmlsZUNvbnRleHQiLCJheGlvbVN0cmluZyIsInN0cmluZyIsInRyYWNlIiwiYXhpb20iLCJhZGRBeGlvbSIsImRlYnVnIiwiZnJvbUpTT04iLCJqc29uIiwiVG9wTGV2ZWxBc3NlcnRpb24iLCJmcm9tQXhpb21Ob2RlIiwiYXhpb21Ob2RlIiwiZnJvbU5vZGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzaGltIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQ0E7OztlQUFBOzs7MkRBbENpQjt3RUFDYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlCLElBQUEsQUFBTUEsc0JBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUM7Z0JBRUosSUFBTUMsY0FBYyxJQUFJLENBQUNDLGNBQWMsSUFDakNDLGNBQWMsSUFBSSxDQUFDQyxNQUFNLEVBQUUsR0FBRztnQkFFcENILFlBQVlJLEtBQUssQ0FBQyxBQUFDLGtCQUE2QixPQUFaRixhQUFZO2dCQUVoREgsV0FBVyx1QkFUVEYsa0JBU2VDLFVBQU4sSUFBSztnQkFFaEIsSUFBSUMsVUFBVTtvQkFDWixJQUFNTSxRQUFRLElBQUksRUFBRSxHQUFHO29CQUV2QkwsWUFBWU0sUUFBUSxDQUFDRDtvQkFFckJMLFlBQVlPLEtBQUssQ0FBQyxBQUFDLG9CQUErQixPQUFaTCxhQUFZO2dCQUNwRDtnQkFFQSxPQUFPSDtZQUNUOzs7O1lBRU9TLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNDLElBQUksRUFBRVQsV0FBVztnQkFBSSxPQUFPVSwwQkFBaUIsQ0FBQ0YsUUFBUSxDQXRCbEVYLE9Bc0IwRVksTUFBTVQ7WUFBYzs7O1lBRTNGVyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTLEVBQUVaLFdBQVc7Z0JBQUksT0FBT1UsMEJBQWlCLENBQUNHLFFBQVEsQ0F4QjVFaEIsT0F3Qm9GZSxXQUFXWjtZQUFjOzs7V0F4QjdHSDtFQUFjYSwwQkFBaUI7QUEyQnJDSSxPQUFPQyxNQUFNLENBQUNDLGFBQUksRUFBRTtJQUNsQm5CLE9BQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9
package/lib/conjecture.js CHANGED
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
- var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
- var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
14
- var _query = require("./utilities/query");
12
+ var _topLevelAssertion = /*#__PURE__*/ _interop_require_default(require("./topLevelAssertion"));
15
13
  function _assert_this_initialized(self) {
16
14
  if (self === void 0) {
17
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -41,6 +39,22 @@ function _create_class(Constructor, protoProps, staticProps) {
41
39
  if (staticProps) _defineProperties(Constructor, staticProps);
42
40
  return Constructor;
43
41
  }
42
+ function _get(target, property, receiver) {
43
+ if (typeof Reflect !== "undefined" && Reflect.get) {
44
+ _get = Reflect.get;
45
+ } else {
46
+ _get = function get(target, property, receiver) {
47
+ var base = _super_prop_base(target, property);
48
+ if (!base) return;
49
+ var desc = Object.getOwnPropertyDescriptor(base, property);
50
+ if (desc.get) {
51
+ return desc.get.call(receiver || target);
52
+ }
53
+ return desc.value;
54
+ };
55
+ }
56
+ return _get(target, property, receiver || target);
57
+ }
44
58
  function _get_prototype_of(o) {
45
59
  _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
46
60
  return o.__proto__ || Object.getPrototypeOf(o);
@@ -65,47 +79,6 @@ function _interop_require_default(obj) {
65
79
  default: obj
66
80
  };
67
81
  }
68
- function _getRequireWildcardCache(nodeInterop) {
69
- if (typeof WeakMap !== "function") return null;
70
- var cacheBabelInterop = new WeakMap();
71
- var cacheNodeInterop = new WeakMap();
72
- return (_getRequireWildcardCache = function(nodeInterop) {
73
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
74
- })(nodeInterop);
75
- }
76
- function _interop_require_wildcard(obj, nodeInterop) {
77
- if (!nodeInterop && obj && obj.__esModule) {
78
- return obj;
79
- }
80
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
81
- return {
82
- default: obj
83
- };
84
- }
85
- var cache = _getRequireWildcardCache(nodeInterop);
86
- if (cache && cache.has(obj)) {
87
- return cache.get(obj);
88
- }
89
- var newObj = {
90
- __proto__: null
91
- };
92
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
93
- for(var key in obj){
94
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
95
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
96
- if (desc && (desc.get || desc.set)) {
97
- Object.defineProperty(newObj, key, desc);
98
- } else {
99
- newObj[key] = obj[key];
100
- }
101
- }
102
- }
103
- newObj.default = obj;
104
- if (cache) {
105
- cache.set(obj, newObj);
106
- }
107
- return newObj;
108
- }
109
82
  function _possible_constructor_return(self, call) {
110
83
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
111
84
  return call;
@@ -119,6 +92,13 @@ function _set_prototype_of(o, p) {
119
92
  };
120
93
  return _set_prototype_of(o, p);
121
94
  }
95
+ function _super_prop_base(object, property) {
96
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
97
+ object = _get_prototype_of(object);
98
+ if (object === null) break;
99
+ }
100
+ return object;
101
+ }
122
102
  function _type_of(obj) {
123
103
  "@swc/helpers - typeof";
124
104
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -131,7 +111,6 @@ function _is_native_reflect_construct() {
131
111
  return !!result;
132
112
  })();
133
113
  }
134
- var proofNodeQuery = (0, _query.nodeQuery)("/conjecture/proof"), labelNodesQuery = (0, _query.nodesQuery)("/conjecture/label"), consequentNodeQuery = (0, _query.nodeQuery)("/conjecture/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/conjecture/supposition");
135
114
  var Conjecture = /*#__PURE__*/ function(TopLevelAssertion) {
136
115
  _inherits(Conjecture, TopLevelAssertion);
137
116
  function Conjecture() {
@@ -142,38 +121,14 @@ var Conjecture = /*#__PURE__*/ function(TopLevelAssertion) {
142
121
  {
143
122
  key: "verify",
144
123
  value: function verify() {
145
- var _this = this;
146
- var verified = false;
147
- var conjectureString = this.string; ///
148
- this.fileContext.trace("Verifying the '".concat(conjectureString, "' conjecture..."));
149
- var labelsVerifiedWhenDeclared = this.labels.every(function(label) {
150
- var labelVVerifiedWhenDeclared = label.verifyWhenDeclared(_this.fileContext);
151
- if (labelVVerifiedWhenDeclared) {
152
- return true;
153
- }
154
- });
155
- if (labelsVerifiedWhenDeclared) {
156
- var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
157
- var suppositionVerified = supposition.verify(localContext);
158
- if (suppositionVerified) {
159
- return true;
160
- }
161
- });
162
- if (suppositionsVerified) {
163
- var consequentVerified = this.consequent.verify(localContext);
164
- if (consequentVerified) {
165
- if (this.proof !== null) {
166
- var Substitutions = _shim.default.Substitutions, substitutions = Substitutions.fromNothing();
167
- this.proof.verify(substitutions, this.consequent, localContext);
168
- }
169
- var conjecture = this; ///
170
- this.fileContext.addConjecture(conjecture);
171
- verified = true;
172
- }
173
- }
174
- }
124
+ var verified;
125
+ var fileContext = this.getFileContext(), conjectureString = this.string; ///
126
+ fileContext.trace("Verifying the '".concat(conjectureString, "' conjecture..."));
127
+ verified = _get(_get_prototype_of(Conjecture.prototype), "verify", this).call(this);
175
128
  if (verified) {
176
- this.fileContext.debug("...verified the '".concat(conjectureString, "' conjecture."));
129
+ var conjecture = this; ///
130
+ fileContext.addConjecture(conjecture);
131
+ fileContext.debug("...verified the '".concat(conjectureString, "' conjecture."));
177
132
  }
178
133
  return verified;
179
134
  }
@@ -188,14 +143,7 @@ var Conjecture = /*#__PURE__*/ function(TopLevelAssertion) {
188
143
  {
189
144
  key: "fromConjectureNode",
190
145
  value: function fromConjectureNode(conjectureNode, fileContext) {
191
- var Label = _shim.default.Label, Proof = _shim.default.Proof, Supposition = _shim.default.Supposition, Consequent = _shim.default.Consequent, proofNode = proofNodeQuery(conjectureNode), labelNodes = labelNodesQuery(conjectureNode), consequentNode = consequentNodeQuery(conjectureNode), suppositionNodes = suppositionNodesQuery(conjectureNode), labels = labelNodes.map(function(labelNode) {
192
- var label = Label.fromLabelNode(labelNode, fileContext);
193
- return label;
194
- }), suppositions = suppositionNodes.map(function(suppositionNode) {
195
- var supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
196
- return supposition;
197
- }), consequent = Consequent.fromConsequentNode(consequentNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), proof = Proof.fromProofNode(proofNode, fileContext), conjecture = new Conjecture(fileContext, string, labels, suppositions, consequent, proof);
198
- return conjecture;
146
+ return _topLevelAssertion.default.fromNode(Conjecture, conjectureNode, fileContext);
199
147
  }
200
148
  }
201
149
  ]);
@@ -206,4 +154,4 @@ Object.assign(_shim.default, {
206
154
  });
207
155
  var _default = Conjecture;
208
156
 
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25qZWN0dXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBUb3BMZXZlbEFzc2VydGlvbiBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tTGFiZWxzIH0gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlL3Byb29mXCIpLFxuICAgICAgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb25qZWN0dXJlL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlL2NvbnNlcXVlbnRcIiksXG4gICAgICBzdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2NvbmplY3R1cmUvc3VwcG9zaXRpb25cIik7XG5cbmNsYXNzIENvbmplY3R1cmUgZXh0ZW5kcyBUb3BMZXZlbEFzc2VydGlvbiB7XG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbmplY3R1cmVTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbmplY3R1cmVTdHJpbmd9JyBjb25qZWN0dXJlLi4uYCk7XG5cbiAgICBjb25zdCBsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCA9IHRoaXMubGFiZWxzLmV2ZXJ5KChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQgPSBsYWJlbC52ZXJpZnlXaGVuRGVjbGFyZWQodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICAgIGlmIChsYWJlbFZWZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dCh0aGlzLmZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdGhpcy5zdXBwb3NpdGlvbnMuZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uVmVyaWZpZWQgPSBzdXBwb3NpdGlvbi52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKHN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGNvbnNlcXVlbnRWZXJpZmllZCA9IHRoaXMuY29uc2VxdWVudC52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgaWYgKHRoaXMucHJvb2YgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgU3Vic3RpdHV0aW9ucyB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCk7XG5cbiAgICAgICAgICAgIHRoaXMucHJvb2YudmVyaWZ5KHN1YnN0aXR1dGlvbnMsIHRoaXMuY29uc2VxdWVudCwgbG9jYWxDb250ZXh0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjb25qZWN0dXJlID0gdGhpczsgIC8vL1xuXG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRDb25qZWN0dXJlKGNvbmplY3R1cmUpO1xuXG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29uamVjdHVyZVN0cmluZ30nIGNvbmplY3R1cmUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tSlNPTihDb25qZWN0dXJlLCBqc29uLCBmaWxlQ29udGV4dCk7IH1cblxuICBzdGF0aWMgZnJvbUNvbmplY3R1cmVOb2RlKGNvbmplY3R1cmVOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgTGFiZWwsIFByb29mLCBTdXBwb3NpdGlvbiwgQ29uc2VxdWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShjb25qZWN0dXJlTm9kZSksXG4gICAgICAgICAgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShjb25qZWN0dXJlTm9kZSksXG4gICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbE5vZGVzLm1hcCgobGFiZWxOb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IExhYmVsLmZyb21MYWJlbE5vZGUobGFiZWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbk5vZGVzLm1hcCgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21TdXBwb3NpdGlvbk5vZGUoc3VwcG9zaXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW50ID0gQ29uc2VxdWVudC5mcm9tQ29uc2VxdWVudE5vZGUoY29uc2VxdWVudE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBQcm9vZi5mcm9tUHJvb2ZOb2RlKHByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbmplY3R1cmUgPSBuZXcgQ29uamVjdHVyZShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgcHJvb2YpO1xuXG4gICAgcmV0dXJuIGNvbmplY3R1cmU7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbmplY3R1cmVcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBDb25qZWN0dXJlO1xuIl0sIm5hbWVzIjpbInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJDb25qZWN0dXJlIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJjb25qZWN0dXJlU3RyaW5nIiwic3RyaW5nIiwiZmlsZUNvbnRleHQiLCJ0cmFjZSIsImxhYmVsc1ZlcmlmaWVkV2hlbkRlY2xhcmVkIiwibGFiZWxzIiwiZXZlcnkiLCJsYWJlbCIsImxhYmVsVlZlcmlmaWVkV2hlbkRlY2xhcmVkIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uVmVyaWZpZWQiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJjb25zZXF1ZW50IiwicHJvb2YiLCJTdWJzdGl0dXRpb25zIiwic2hpbSIsInN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsImNvbmplY3R1cmUiLCJhZGRDb25qZWN0dXJlIiwiZGVidWciLCJmcm9tSlNPTiIsImpzb24iLCJUb3BMZXZlbEFzc2VydGlvbiIsImZyb21Db25qZWN0dXJlTm9kZSIsImNvbmplY3R1cmVOb2RlIiwiTGFiZWwiLCJQcm9vZiIsIlN1cHBvc2l0aW9uIiwiQ29uc2VxdWVudCIsInByb29mTm9kZSIsImxhYmVsTm9kZXMiLCJjb25zZXF1ZW50Tm9kZSIsInN1cHBvc2l0aW9uTm9kZXMiLCJtYXAiLCJsYWJlbE5vZGUiLCJmcm9tTGFiZWxOb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiZnJvbVN1cHBvc2l0aW9uTm9kZSIsImZyb21Db25zZXF1ZW50Tm9kZSIsInN0cmluZ0Zyb21MYWJlbHMiLCJmcm9tUHJvb2ZOb2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrR0E7OztlQUFBOzs7MkRBaEdpQjs0REFDUTt5RUFDSztxQkFHUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLElBQU1BLGlCQUFpQkMsSUFBQUEsZ0JB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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25qZWN0dXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuY2xhc3MgQ29uamVjdHVyZSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpcy5nZXRGaWxlQ29udGV4dCgpLFxuICAgICAgICAgIGNvbmplY3R1cmVTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb25qZWN0dXJlU3RyaW5nfScgY29uamVjdHVyZS4uLmApO1xuXG4gICAgdmVyaWZpZWQgPSBzdXBlci52ZXJpZnkoKTtcblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uamVjdHVyZSA9IHRoaXM7ICAvLy9cblxuICAgICAgZmlsZUNvbnRleHQuYWRkQ29uamVjdHVyZShjb25qZWN0dXJlKTtcblxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb25qZWN0dXJlU3RyaW5nfScgY29uamVjdHVyZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21KU09OKENvbmplY3R1cmUsIGpzb24sIGZpbGVDb250ZXh0KTsgfVxuXG4gIHN0YXRpYyBmcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tTm9kZShDb25qZWN0dXJlLCBjb25qZWN0dXJlTm9kZSwgZmlsZUNvbnRleHQpOyB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBDb25qZWN0dXJlXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uamVjdHVyZTtcbiJdLCJuYW1lcyI6WyJDb25qZWN0dXJlIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJmaWxlQ29udGV4dCIsImdldEZpbGVDb250ZXh0IiwiY29uamVjdHVyZVN0cmluZyIsInN0cmluZyIsInRyYWNlIiwiY29uamVjdHVyZSIsImFkZENvbmplY3R1cmUiLCJkZWJ1ZyIsImZyb21KU09OIiwianNvbiIsIlRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbUNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZU5vZGUiLCJmcm9tTm9kZSIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9DQTs7O2VBQUE7OzsyREFsQ2lCO3dFQUNhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUIsSUFBQSxBQUFNQSwyQkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJQztnQkFFSixJQUFNQyxjQUFjLElBQUksQ0FBQ0MsY0FBYyxJQUNqQ0MsbUJBQW1CLElBQUksQ0FBQ0MsTUFBTSxFQUFFLEdBQUc7Z0JBRXpDSCxZQUFZSSxLQUFLLENBQUMsQUFBQyxrQkFBa0MsT0FBakJGLGtCQUFpQjtnQkFFckRILFdBQVcsdUJBVFRGLHVCQVNlQyxVQUFOLElBQUs7Z0JBRWhCLElBQUlDLFVBQVU7b0JBQ1osSUFBTU0sYUFBYSxJQUFJLEVBQUcsR0FBRztvQkFFN0JMLFlBQVlNLGFBQWEsQ0FBQ0Q7b0JBRTFCTCxZQUFZTyxLQUFLLENBQUMsQUFBQyxvQkFBb0MsT0FBakJMLGtCQUFpQjtnQkFDekQ7Z0JBRUEsT0FBT0g7WUFDVDs7OztZQUVPUyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTQyxJQUFJLEVBQUVULFdBQVc7Z0JBQUksT0FBT1UsMEJBQWlCLENBQUNGLFFBQVEsQ0F0QmxFWCxZQXNCK0VZLE1BQU1UO1lBQWM7OztZQUVoR1csS0FBQUE7bUJBQVAsU0FBT0EsbUJBQW1CQyxjQUFjLEVBQUVaLFdBQVc7Z0JBQUksT0FBT1UsMEJBQWlCLENBQUNHLFFBQVEsQ0F4QnRGaEIsWUF3Qm1HZSxnQkFBZ0JaO1lBQWM7OztXQXhCaklIO0VBQW1CYSwwQkFBaUI7QUEyQjFDSSxPQUFPQyxNQUFNLENBQUNDLGFBQUksRUFBRTtJQUNsQm5CLFlBQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9