occam-verify-cli 1.0.800 → 1.0.809

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 (92) hide show
  1. package/lib/context/bounded.js +242 -0
  2. package/lib/context/branching.js +2 -2
  3. package/lib/context/ephemeral.js +186 -69
  4. package/lib/context/file/nominal.js +87 -52
  5. package/lib/context/liminal.js +2 -2
  6. package/lib/context/synoptic.js +212 -0
  7. package/lib/context.js +57 -17
  8. package/lib/element/assertion/defined.js +3 -3
  9. package/lib/element/assumption/metaLevel.js +6 -4
  10. package/lib/element/combinator.js +4 -2
  11. package/lib/element/conclusion.js +4 -2
  12. package/lib/element/constructor.js +4 -2
  13. package/lib/element/declaration/metavariable.js +10 -9
  14. package/lib/element/declaration/variable.js +7 -7
  15. package/lib/element/deduction.js +4 -2
  16. package/lib/element/derivation.js +1 -7
  17. package/lib/element/label.js +9 -5
  18. package/lib/element/metavariable.js +34 -34
  19. package/lib/element/procedureCall.js +2 -2
  20. package/lib/element/proof.js +2 -2
  21. package/lib/element/proofAssertion/premise.js +4 -3
  22. package/lib/element/proofAssertion/step.js +5 -3
  23. package/lib/element/reference.js +6 -4
  24. package/lib/element/rule.js +2 -2
  25. package/lib/element/statement.js +9 -1
  26. package/lib/element/subproof.js +2 -2
  27. package/lib/element/substitution/frame.js +43 -29
  28. package/lib/element/substitution/reference.js +38 -28
  29. package/lib/element/substitution/statement.js +52 -42
  30. package/lib/element/substitution/term.js +49 -35
  31. package/lib/element/topLevelAssertion.js +2 -2
  32. package/lib/element/topLevelMetaAssertion.js +2 -2
  33. package/lib/element/variable.js +6 -7
  34. package/lib/preamble.js +1 -2
  35. package/lib/process/assign.js +11 -10
  36. package/lib/process/equate.js +3 -2
  37. package/lib/process/unify.js +7 -7
  38. package/lib/utilities/context.js +51 -44
  39. package/lib/utilities/element.js +1 -1
  40. package/lib/utilities/equivalences.js +131 -0
  41. package/lib/utilities/instance.js +3 -3
  42. package/lib/utilities/json.js +59 -1
  43. package/lib/utilities/validation.js +4 -3
  44. package/package.json +4 -4
  45. package/src/context/{proof.js → bounded.js} +84 -85
  46. package/src/context/branching.js +2 -2
  47. package/src/context/ephemeral.js +421 -237
  48. package/src/context/file/nominal.js +127 -77
  49. package/src/context/liminal.js +2 -2
  50. package/src/context/synoptic.js +290 -0
  51. package/src/context.js +81 -20
  52. package/src/element/assertion/defined.js +4 -4
  53. package/src/element/assumption/metaLevel.js +8 -6
  54. package/src/element/combinator.js +4 -2
  55. package/src/element/conclusion.js +4 -2
  56. package/src/element/constructor.js +4 -2
  57. package/src/element/declaration/metavariable.js +10 -8
  58. package/src/element/declaration/variable.js +8 -7
  59. package/src/element/deduction.js +4 -2
  60. package/src/element/derivation.js +0 -2
  61. package/src/element/label.js +11 -7
  62. package/src/element/metavariable.js +11 -11
  63. package/src/element/procedureCall.js +2 -2
  64. package/src/element/proof.js +2 -2
  65. package/src/element/proofAssertion/premise.js +4 -4
  66. package/src/element/proofAssertion/step.js +6 -4
  67. package/src/element/reference.js +7 -5
  68. package/src/element/rule.js +2 -2
  69. package/src/element/statement.js +14 -0
  70. package/src/element/subproof.js +2 -2
  71. package/src/element/substitution/frame.js +47 -32
  72. package/src/element/substitution/reference.js +44 -34
  73. package/src/element/substitution/statement.js +69 -58
  74. package/src/element/substitution/term.js +53 -38
  75. package/src/element/topLevelAssertion.js +2 -2
  76. package/src/element/topLevelMetaAssertion.js +2 -2
  77. package/src/element/variable.js +6 -7
  78. package/src/preamble.js +0 -1
  79. package/src/process/assign.js +17 -14
  80. package/src/process/equate.js +3 -1
  81. package/src/process/unify.js +10 -13
  82. package/src/utilities/context.js +54 -49
  83. package/src/utilities/element.js +1 -0
  84. package/src/utilities/equivalences.js +158 -0
  85. package/src/utilities/instance.js +3 -3
  86. package/src/utilities/json.js +66 -0
  87. package/src/utilities/validation.js +6 -5
  88. package/lib/context/proof.js +0 -242
  89. package/lib/context/synthetic.js +0 -135
  90. package/lib/element/equivalences.js +0 -173
  91. package/src/context/synthetic.js +0 -180
  92. package/src/element/equivalences.js +0 -237
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get findEquivalenceByTerm () {
13
+ return findEquivalenceByTerm;
14
+ },
15
+ get findEquivalenceByTermNodes () {
16
+ return findEquivalenceByTermNodes;
17
+ },
18
+ get mergeEquivalences () {
19
+ return mergeEquivalences;
20
+ },
21
+ get separateGroundedTermsAndDefinedVariables () {
22
+ return separateGroundedTermsAndDefinedVariables;
23
+ }
24
+ });
25
+ const _necessary = require("necessary");
26
+ const _equivalence = require("../utilities/equivalence");
27
+ const { push, separate } = _necessary.arrayUtilities;
28
+ function mergeEquivalences(equivalencesA, equivalencesB, context) {
29
+ equivalencesA = [
30
+ ...equivalencesA
31
+ ];
32
+ equivalencesB.forEach((equivalenceB)=>{
33
+ equivalencesA = mergeEquivalence(equivalencesA, equivalenceB, context);
34
+ });
35
+ return equivalencesA;
36
+ }
37
+ function findEquivalenceByTerm(equivalences, term) {
38
+ const equivalence = equivalences.find((equivalence)=>{
39
+ const equivalenceComparesToTerm = equivalence.compareTerm(term);
40
+ if (equivalenceComparesToTerm) {
41
+ return true;
42
+ }
43
+ }) || null;
44
+ return equivalence;
45
+ }
46
+ function findEquivalenceByTermNodes(equivalences, termNodes) {
47
+ const equivalence = equivalences.find((equivalence)=>{
48
+ const termNodeMatches = equivalence.matchTermNodes(termNodes);
49
+ if (termNodeMatches) {
50
+ return true;
51
+ }
52
+ }) || null;
53
+ return equivalence;
54
+ }
55
+ function separateGroundedTermsAndDefinedVariables(equivalences, groundedTerms, definedVariables, context) {
56
+ let groundedEquivalences, remainingEquivalences, initiallyGroundedEquivalences, implicitlyGroundedEquivalences;
57
+ remainingEquivalences = [];
58
+ initiallyGroundedEquivalences = [];
59
+ separateInitiallyGroundedEquivalences(equivalences, remainingEquivalences, initiallyGroundedEquivalences, context);
60
+ const initiallyGroundedEquivalencesLength = initiallyGroundedEquivalences.getLength();
61
+ if (initiallyGroundedEquivalencesLength > 0) {
62
+ groundedEquivalences = initiallyGroundedEquivalences; ///
63
+ let implicitlyGroundedEquivalencesLength = 1;
64
+ while(implicitlyGroundedEquivalencesLength > 0){
65
+ let definedVariablesLength = 0, previousDefinedVariablesLength = -1;
66
+ while(definedVariablesLength > previousDefinedVariablesLength){
67
+ previousDefinedVariablesLength = definedVariablesLength; ///
68
+ groundedTermsFromGroundedEquivalencesAndDefinedVariables(groundedEquivalences, definedVariables, groundedTerms, context);
69
+ definedVariablesFromGroundedTerms(groundedTerms, definedVariables, context);
70
+ definedVariablesLength = definedVariables.length;
71
+ }
72
+ equivalences = remainingEquivalences; ///
73
+ remainingEquivalences = [];
74
+ implicitlyGroundedEquivalences = [];
75
+ separateImplicitlyGroundedEquivalences(equivalences, remainingEquivalences, implicitlyGroundedEquivalences, definedVariables, context);
76
+ push(groundedEquivalences, implicitlyGroundedEquivalences);
77
+ implicitlyGroundedEquivalencesLength = implicitlyGroundedEquivalences.getLength(); ///
78
+ }
79
+ }
80
+ }
81
+ function mergeEquivalence(equivalencesA, equivalenceB, context) {
82
+ const mergedEquivalences = [];
83
+ equivalencesA.forEach((equivalenceA)=>{
84
+ const equivalenceBDisjointFromEquivalenceA = equivalenceB.isDisjointFrom(equivalenceA);
85
+ if (equivalenceBDisjointFromEquivalenceA) {
86
+ const mergedEquivalence = equivalenceB; ///
87
+ mergedEquivalences.push(mergedEquivalence);
88
+ } else {
89
+ equivalenceB = equivalenceB.mergedWith(equivalenceA, context);
90
+ }
91
+ });
92
+ const mergedEquivalence = equivalenceB; ///
93
+ mergedEquivalences.push(mergedEquivalence);
94
+ equivalencesA = mergedEquivalences; ///
95
+ return equivalencesA;
96
+ }
97
+ function separateInitiallyGroundedEquivalences(equivalences, remainingEquivalences, initiallyGroundedEquivalences, context) {
98
+ separate(equivalences, remainingEquivalences, initiallyGroundedEquivalences, (equivalence)=>{
99
+ const equivalenceInitiallyGrounded = equivalence.isInitiallyGrounded(context);
100
+ if (!equivalenceInitiallyGrounded) {
101
+ return true;
102
+ }
103
+ });
104
+ }
105
+ function separateImplicitlyGroundedEquivalences(equivalences, remainingEquivalences, implicitlyGroundedEquivalences, definedVariables, context) {
106
+ separate(equivalences, remainingEquivalences, implicitlyGroundedEquivalences, (equivalence)=>{
107
+ const equivalenceImplicitlyGrounded = equivalence.isImplicitlyGrounded(definedVariables, context);
108
+ if (!equivalenceImplicitlyGrounded) {
109
+ return true;
110
+ }
111
+ });
112
+ }
113
+ function definedVariablesFromGroundedTerms(groundedTerms, definedVariables, context) {
114
+ groundedTerms.forEach((groundedTerm)=>{
115
+ const term = groundedTerm, variables = (0, _equivalence.variablesFromTerm)(term, context);
116
+ variables.forEach((variable)=>{
117
+ const definedVariablesIncludesTermVariable = definedVariables.includes(variable);
118
+ if (!definedVariablesIncludesTermVariable) {
119
+ const definedVariable = variable; ///
120
+ definedVariables.push(definedVariable);
121
+ }
122
+ });
123
+ });
124
+ }
125
+ function groundedTermsFromGroundedEquivalencesAndDefinedVariables(groundedEquivalences, definedVariables, groundedTerms, context) {
126
+ groundedEquivalences.forEach((groundedEquivalence)=>{
127
+ groundedEquivalence.getGroundedTerms(definedVariables, groundedTerms, context);
128
+ });
129
+ }
130
+
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZXF1aXZhbGVuY2VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVRlcm0gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VxdWl2YWxlbmNlXCI7XG5cbmNvbnN0IHsgcHVzaCwgc2VwYXJhdGUgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzQSwgZXF1aXZhbGVuY2VzQiwgY29udGV4dCkge1xuICBlcXVpdmFsZW5jZXNBID0gWyAgLy8vXG4gICAgLi4uZXF1aXZhbGVuY2VzQVxuICBdO1xuXG4gIGVxdWl2YWxlbmNlc0IuZm9yRWFjaCgoZXF1aXZhbGVuY2VCKSA9PiB7XG4gICAgZXF1aXZhbGVuY2VzQSA9IG1lcmdlRXF1aXZhbGVuY2UoZXF1aXZhbGVuY2VzQSwgZXF1aXZhbGVuY2VCLCBjb250ZXh0KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGVxdWl2YWxlbmNlc0E7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRXF1aXZhbGVuY2VCeVRlcm0oZXF1aXZhbGVuY2VzLCB0ZXJtKSB7XG4gIGNvbnN0IGVxdWl2YWxlbmNlID0gZXF1aXZhbGVuY2VzLmZpbmQoKGVxdWl2YWxlbmNlKSA9PiB7XG4gICAgY29uc3QgZXF1aXZhbGVuY2VDb21wYXJlc1RvVGVybSA9IGVxdWl2YWxlbmNlLmNvbXBhcmVUZXJtKHRlcm0pO1xuXG4gICAgaWYgKGVxdWl2YWxlbmNlQ29tcGFyZXNUb1Rlcm0pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICByZXR1cm4gZXF1aXZhbGVuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRXF1aXZhbGVuY2VCeVRlcm1Ob2RlcyhlcXVpdmFsZW5jZXMsIHRlcm1Ob2Rlcykge1xuICBjb25zdCBlcXVpdmFsZW5jZSA9IGVxdWl2YWxlbmNlcy5maW5kKChlcXVpdmFsZW5jZSkgPT4ge1xuICAgIGNvbnN0IHRlcm1Ob2RlTWF0Y2hlcyA9IGVxdWl2YWxlbmNlLm1hdGNoVGVybU5vZGVzKHRlcm1Ob2Rlcyk7XG5cbiAgICBpZiAodGVybU5vZGVNYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIGVxdWl2YWxlbmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VwYXJhdGVHcm91bmRlZFRlcm1zQW5kRGVmaW5lZFZhcmlhYmxlcyhlcXVpdmFsZW5jZXMsIGdyb3VuZGVkVGVybXMsIGRlZmluZWRWYXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgbGV0IGdyb3VuZGVkRXF1aXZhbGVuY2VzLFxuICAgICAgcmVtYWluaW5nRXF1aXZhbGVuY2VzLFxuICAgICAgaW5pdGlhbGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMsXG4gICAgICBpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXM7XG5cbiAgcmVtYWluaW5nRXF1aXZhbGVuY2VzID0gW107XG5cbiAgaW5pdGlhbGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMgPSBbXTtcblxuICBzZXBhcmF0ZUluaXRpYWxseUdyb3VuZGVkRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgcmVtYWluaW5nRXF1aXZhbGVuY2VzLCBpbml0aWFsbHlHcm91bmRlZEVxdWl2YWxlbmNlcywgY29udGV4dCk7XG5cbiAgY29uc3QgaW5pdGlhbGx5R3JvdW5kZWRFcXVpdmFsZW5jZXNMZW5ndGggPSBpbml0aWFsbHlHcm91bmRlZEVxdWl2YWxlbmNlcy5nZXRMZW5ndGgoKTtcblxuICBpZiAoaW5pdGlhbGx5R3JvdW5kZWRFcXVpdmFsZW5jZXNMZW5ndGggPiAwKSB7XG4gICAgZ3JvdW5kZWRFcXVpdmFsZW5jZXMgPSBpbml0aWFsbHlHcm91bmRlZEVxdWl2YWxlbmNlczsgLy8vXG5cbiAgICBsZXQgaW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzTGVuZ3RoID0gMTtcblxuICAgIHdoaWxlIChpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXNMZW5ndGggPiAwKSB7XG4gICAgICBsZXQgZGVmaW5lZFZhcmlhYmxlc0xlbmd0aCA9IDAsXG4gICAgICAgICAgICBwcmV2aW91c0RlZmluZWRWYXJpYWJsZXNMZW5ndGggPSAtMTtcblxuICAgICAgd2hpbGUgKGRlZmluZWRWYXJpYWJsZXNMZW5ndGggPiBwcmV2aW91c0RlZmluZWRWYXJpYWJsZXNMZW5ndGgpIHtcbiAgICAgICAgcHJldmlvdXNEZWZpbmVkVmFyaWFibGVzTGVuZ3RoID0gZGVmaW5lZFZhcmlhYmxlc0xlbmd0aDsgIC8vL1xuXG4gICAgICAgIGdyb3VuZGVkVGVybXNGcm9tR3JvdW5kZWRFcXVpdmFsZW5jZXNBbmREZWZpbmVkVmFyaWFibGVzKGdyb3VuZGVkRXF1aXZhbGVuY2VzLCBkZWZpbmVkVmFyaWFibGVzLCBncm91bmRlZFRlcm1zLCBjb250ZXh0KTtcblxuICAgICAgICBkZWZpbmVkVmFyaWFibGVzRnJvbUdyb3VuZGVkVGVybXMoZ3JvdW5kZWRUZXJtcywgZGVmaW5lZFZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgICAgICAgZGVmaW5lZFZhcmlhYmxlc0xlbmd0aCA9IGRlZmluZWRWYXJpYWJsZXMubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBlcXVpdmFsZW5jZXMgPSByZW1haW5pbmdFcXVpdmFsZW5jZXM7IC8vL1xuXG4gICAgICByZW1haW5pbmdFcXVpdmFsZW5jZXMgPSBbXTtcblxuICAgICAgaW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzID0gW107XG5cbiAgICAgIHNlcGFyYXRlSW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgcmVtYWluaW5nRXF1aXZhbGVuY2VzLCBpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMsIGRlZmluZWRWYXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gICAgICBwdXNoKGdyb3VuZGVkRXF1aXZhbGVuY2VzLCBpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMpO1xuXG4gICAgICBpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXNMZW5ndGggPSBpbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMuZ2V0TGVuZ3RoKCk7ICAvLy9cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VFcXVpdmFsZW5jZShlcXVpdmFsZW5jZXNBLCBlcXVpdmFsZW5jZUIsIGNvbnRleHQpIHtcbiAgY29uc3QgbWVyZ2VkRXF1aXZhbGVuY2VzID0gW107XG5cbiAgZXF1aXZhbGVuY2VzQS5mb3JFYWNoKChlcXVpdmFsZW5jZUEpID0+IHtcbiAgICBjb25zdCBlcXVpdmFsZW5jZUJEaXNqb2ludEZyb21FcXVpdmFsZW5jZUEgPSBlcXVpdmFsZW5jZUIuaXNEaXNqb2ludEZyb20oZXF1aXZhbGVuY2VBKTtcblxuICAgIGlmIChlcXVpdmFsZW5jZUJEaXNqb2ludEZyb21FcXVpdmFsZW5jZUEpIHtcbiAgICAgIGNvbnN0IG1lcmdlZEVxdWl2YWxlbmNlID0gZXF1aXZhbGVuY2VCOyAgLy8vXG5cbiAgICAgIG1lcmdlZEVxdWl2YWxlbmNlcy5wdXNoKG1lcmdlZEVxdWl2YWxlbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXF1aXZhbGVuY2VCID0gZXF1aXZhbGVuY2VCLm1lcmdlZFdpdGgoZXF1aXZhbGVuY2VBLCBjb250ZXh0KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IG1lcmdlZEVxdWl2YWxlbmNlID0gZXF1aXZhbGVuY2VCOyAgLy8vXG5cbiAgbWVyZ2VkRXF1aXZhbGVuY2VzLnB1c2gobWVyZ2VkRXF1aXZhbGVuY2UpO1xuXG4gIGVxdWl2YWxlbmNlc0EgPSBtZXJnZWRFcXVpdmFsZW5jZXM7ICAvLy9cblxuICByZXR1cm4gZXF1aXZhbGVuY2VzQTtcbn1cblxuZnVuY3Rpb24gc2VwYXJhdGVJbml0aWFsbHlHcm91bmRlZEVxdWl2YWxlbmNlcyhlcXVpdmFsZW5jZXMsIHJlbWFpbmluZ0VxdWl2YWxlbmNlcywgaW5pdGlhbGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMsIGNvbnRleHQpIHtcbiAgc2VwYXJhdGUoZXF1aXZhbGVuY2VzLCByZW1haW5pbmdFcXVpdmFsZW5jZXMsIGluaXRpYWxseUdyb3VuZGVkRXF1aXZhbGVuY2VzLCAoZXF1aXZhbGVuY2UpID0+IHtcbiAgICBjb25zdCBlcXVpdmFsZW5jZUluaXRpYWxseUdyb3VuZGVkID0gZXF1aXZhbGVuY2UuaXNJbml0aWFsbHlHcm91bmRlZChjb250ZXh0KTtcblxuICAgIGlmICghZXF1aXZhbGVuY2VJbml0aWFsbHlHcm91bmRlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2VwYXJhdGVJbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCByZW1haW5pbmdFcXVpdmFsZW5jZXMsIGltcGxpY2l0bHlHcm91bmRlZEVxdWl2YWxlbmNlcywgZGVmaW5lZFZhcmlhYmxlcywgY29udGV4dCkge1xuICBzZXBhcmF0ZShlcXVpdmFsZW5jZXMsIHJlbWFpbmluZ0VxdWl2YWxlbmNlcywgaW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzLCAoZXF1aXZhbGVuY2UpID0+IHtcbiAgICBjb25zdCBlcXVpdmFsZW5jZUltcGxpY2l0bHlHcm91bmRlZCA9IGVxdWl2YWxlbmNlLmlzSW1wbGljaXRseUdyb3VuZGVkKGRlZmluZWRWYXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFlcXVpdmFsZW5jZUltcGxpY2l0bHlHcm91bmRlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lZFZhcmlhYmxlc0Zyb21Hcm91bmRlZFRlcm1zKGdyb3VuZGVkVGVybXMsIGRlZmluZWRWYXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgZ3JvdW5kZWRUZXJtcy5mb3JFYWNoKChncm91bmRlZFRlcm0pID0+IHtcbiAgICBjb25zdCB0ZXJtID0gZ3JvdW5kZWRUZXJtLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGVzID0gdmFyaWFibGVzRnJvbVRlcm0odGVybSwgY29udGV4dCk7XG5cbiAgICB2YXJpYWJsZXMuZm9yRWFjaCgodmFyaWFibGUpID0+IHtcbiAgICAgIGNvbnN0IGRlZmluZWRWYXJpYWJsZXNJbmNsdWRlc1Rlcm1WYXJpYWJsZSA9IGRlZmluZWRWYXJpYWJsZXMuaW5jbHVkZXModmFyaWFibGUpO1xuXG4gICAgICBpZiAoIWRlZmluZWRWYXJpYWJsZXNJbmNsdWRlc1Rlcm1WYXJpYWJsZSkge1xuICAgICAgICBjb25zdCBkZWZpbmVkVmFyaWFibGUgPSB2YXJpYWJsZTsgIC8vL1xuXG4gICAgICAgIGRlZmluZWRWYXJpYWJsZXMucHVzaChkZWZpbmVkVmFyaWFibGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ3JvdW5kZWRUZXJtc0Zyb21Hcm91bmRlZEVxdWl2YWxlbmNlc0FuZERlZmluZWRWYXJpYWJsZXMoZ3JvdW5kZWRFcXVpdmFsZW5jZXMsIGRlZmluZWRWYXJpYWJsZXMsIGdyb3VuZGVkVGVybXMsIGNvbnRleHQpIHtcbiAgZ3JvdW5kZWRFcXVpdmFsZW5jZXMuZm9yRWFjaCgoZ3JvdW5kZWRFcXVpdmFsZW5jZSkgPT4ge1xuICAgIGdyb3VuZGVkRXF1aXZhbGVuY2UuZ2V0R3JvdW5kZWRUZXJtcyhkZWZpbmVkVmFyaWFibGVzLCBncm91bmRlZFRlcm1zLCBjb250ZXh0KTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiZmluZEVxdWl2YWxlbmNlQnlUZXJtIiwiZmluZEVxdWl2YWxlbmNlQnlUZXJtTm9kZXMiLCJtZXJnZUVxdWl2YWxlbmNlcyIsInNlcGFyYXRlR3JvdW5kZWRUZXJtc0FuZERlZmluZWRWYXJpYWJsZXMiLCJwdXNoIiwic2VwYXJhdGUiLCJhcnJheVV0aWxpdGllcyIsImVxdWl2YWxlbmNlc0EiLCJlcXVpdmFsZW5jZXNCIiwiY29udGV4dCIsImZvckVhY2giLCJlcXVpdmFsZW5jZUIiLCJtZXJnZUVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2VzIiwidGVybSIsImVxdWl2YWxlbmNlIiwiZmluZCIsImVxdWl2YWxlbmNlQ29tcGFyZXNUb1Rlcm0iLCJjb21wYXJlVGVybSIsInRlcm1Ob2RlcyIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoVGVybU5vZGVzIiwiZ3JvdW5kZWRUZXJtcyIsImRlZmluZWRWYXJpYWJsZXMiLCJncm91bmRlZEVxdWl2YWxlbmNlcyIsInJlbWFpbmluZ0VxdWl2YWxlbmNlcyIsImluaXRpYWxseUdyb3VuZGVkRXF1aXZhbGVuY2VzIiwiaW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzIiwic2VwYXJhdGVJbml0aWFsbHlHcm91bmRlZEVxdWl2YWxlbmNlcyIsImluaXRpYWxseUdyb3VuZGVkRXF1aXZhbGVuY2VzTGVuZ3RoIiwiZ2V0TGVuZ3RoIiwiaW1wbGljaXRseUdyb3VuZGVkRXF1aXZhbGVuY2VzTGVuZ3RoIiwiZGVmaW5lZFZhcmlhYmxlc0xlbmd0aCIsInByZXZpb3VzRGVmaW5lZFZhcmlhYmxlc0xlbmd0aCIsImdyb3VuZGVkVGVybXNGcm9tR3JvdW5kZWRFcXVpdmFsZW5jZXNBbmREZWZpbmVkVmFyaWFibGVzIiwiZGVmaW5lZFZhcmlhYmxlc0Zyb21Hcm91bmRlZFRlcm1zIiwibGVuZ3RoIiwic2VwYXJhdGVJbXBsaWNpdGx5R3JvdW5kZWRFcXVpdmFsZW5jZXMiLCJtZXJnZWRFcXVpdmFsZW5jZXMiLCJlcXVpdmFsZW5jZUEiLCJlcXVpdmFsZW5jZUJEaXNqb2ludEZyb21FcXVpdmFsZW5jZUEiLCJpc0Rpc2pvaW50RnJvbSIsIm1lcmdlZEVxdWl2YWxlbmNlIiwibWVyZ2VkV2l0aCIsImVxdWl2YWxlbmNlSW5pdGlhbGx5R3JvdW5kZWQiLCJpc0luaXRpYWxseUdyb3VuZGVkIiwiZXF1aXZhbGVuY2VJbXBsaWNpdGx5R3JvdW5kZWQiLCJpc0ltcGxpY2l0bHlHcm91bmRlZCIsImdyb3VuZGVkVGVybSIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21UZXJtIiwidmFyaWFibGUiLCJkZWZpbmVkVmFyaWFibGVzSW5jbHVkZXNUZXJtVmFyaWFibGUiLCJpbmNsdWRlcyIsImRlZmluZWRWYXJpYWJsZSIsImdyb3VuZGVkRXF1aXZhbGVuY2UiLCJnZXRHcm91bmRlZFRlcm1zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFvQmdCQTtlQUFBQTs7UUFZQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFvQ0FDO2VBQUFBOzs7MkJBMUNlOzZCQUVHO0FBRWxDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MseUJBQWM7QUFFbEMsU0FBU0osa0JBQWtCSyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsT0FBTztJQUNyRUYsZ0JBQWdCO1dBQ1hBO0tBQ0o7SUFFREMsY0FBY0UsT0FBTyxDQUFDLENBQUNDO1FBQ3JCSixnQkFBZ0JLLGlCQUFpQkwsZUFBZUksY0FBY0Y7SUFDaEU7SUFFQSxPQUFPRjtBQUNUO0FBRU8sU0FBU1Asc0JBQXNCYSxZQUFZLEVBQUVDLElBQUk7SUFDdEQsTUFBTUMsY0FBY0YsYUFBYUcsSUFBSSxDQUFDLENBQUNEO1FBQ3JDLE1BQU1FLDRCQUE0QkYsWUFBWUcsV0FBVyxDQUFDSjtRQUUxRCxJQUFJRywyQkFBMkI7WUFDN0IsT0FBTztRQUNUO0lBQ0YsTUFBTTtJQUVOLE9BQU9GO0FBQ1Q7QUFFTyxTQUFTZCwyQkFBMkJZLFlBQVksRUFBRU0sU0FBUztJQUNoRSxNQUFNSixjQUFjRixhQUFhRyxJQUFJLENBQUMsQ0FBQ0Q7UUFDckMsTUFBTUssa0JBQWtCTCxZQUFZTSxjQUFjLENBQUNGO1FBRW5ELElBQUlDLGlCQUFpQjtZQUNuQixPQUFPO1FBQ1Q7SUFDRixNQUFNO0lBRU4sT0FBT0w7QUFDVDtBQUVPLFNBQVNaLHlDQUF5Q1UsWUFBWSxFQUFFUyxhQUFhLEVBQUVDLGdCQUFnQixF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
@@ -24,7 +24,7 @@ const _element = require("../utilities/element");
24
24
  let bracketedCombinator = null, bracketedConstructor = null;
25
25
  function bracketedCombinatorFromNothing() {
26
26
  if (bracketedCombinator === null) {
27
- bracketedCombinator = (0, _context.nominally)((context)=>{
27
+ bracketedCombinator = (0, _context.ground)((context)=>{
28
28
  const bracketedCombinatorString = `(${_metaTypeNames.STATEMENT_META_TYPE_NAME})`, string = bracketedCombinatorString, combinatorNode = (0, _instantiate.instantiateCombinator)(string, context), bracketedCombinatorNode = combinatorNode, bracketedCombinator = (0, _element.combinatorFromCombinatorNode)(bracketedCombinatorNode, context);
29
29
  return bracketedCombinator;
30
30
  });
@@ -33,7 +33,7 @@ function bracketedCombinatorFromNothing() {
33
33
  }
34
34
  function bracketedConstructorFromNothing() {
35
35
  if (bracketedConstructor === null) {
36
- bracketedConstructor = (0, _context.nominally)((context)=>{
36
+ bracketedConstructor = (0, _context.ground)((context)=>{
37
37
  const bracketedConstructorString = `(${_constants.BASE_TYPE_SYMBOL})`, string = bracketedConstructorString, constructorNode = (0, _instantiate.instantiateConstructor)(string, context), bracketedConstructorNode = constructorNode, bracketedConstructor = (0, _element.constructorFromConstructorNode)(bracketedConstructorNode, context);
38
38
  return bracketedConstructor;
39
39
  });
@@ -41,4 +41,4 @@ function bracketedConstructorFromNothing() {
41
41
  return bracketedConstructor;
42
42
  }
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5zdGFuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vbWluYWxseSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgQkFTRV9UWVBFX1NZTUJPTCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuLi9tZXRhVHlwZU5hbWVzXCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZUNvbWJpbmF0b3IsIGluc3RhbnRpYXRlQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgY29tYmluYXRvckZyb21Db21iaW5hdG9yTm9kZSwgY29uc3RydWN0b3JGcm9tQ29uc3RydWN0b3JOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmxldCBicmFja2V0ZWRDb21iaW5hdG9yID0gbnVsbCxcbiAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRDb21iaW5hdG9yRnJvbU5vdGhpbmcoKSB7XG4gIGlmIChicmFja2V0ZWRDb21iaW5hdG9yID09PSBudWxsKSB7XG4gICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5vbWluYWxseSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgYnJhY2tldGVkQ29tYmluYXRvclN0cmluZyA9IGAoJHtTVEFURU1FTlRfTUVUQV9UWVBFX05BTUV9KWAsXG4gICAgICAgICAgICBzdHJpbmcgPSBicmFja2V0ZWRDb21iaW5hdG9yU3RyaW5nLCAvLy9cbiAgICAgICAgICAgIGNvbWJpbmF0b3JOb2RlID0gaW5zdGFudGlhdGVDb21iaW5hdG9yKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICBicmFja2V0ZWRDb21iaW5hdG9yTm9kZSA9IGNvbWJpbmF0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmFja2V0ZWRDb21iaW5hdG9yID0gY29tYmluYXRvckZyb21Db21iaW5hdG9yTm9kZShicmFja2V0ZWRDb21iaW5hdG9yTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiBicmFja2V0ZWRDb21iaW5hdG9yO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZENvbWJpbmF0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRDb25zdHJ1Y3RvckZyb21Ob3RoaW5nKCkge1xuICBpZiAoYnJhY2tldGVkQ29uc3RydWN0b3IgPT09IG51bGwpIHtcbiAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG5vbWluYWxseSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3JTdHJpbmcgPSBgKCR7QkFTRV9UWVBFX1NZTUJPTH0pYCxcbiAgICAgICAgICAgIHN0cmluZyA9IGJyYWNrZXRlZENvbnN0cnVjdG9yU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBpbnN0YW50aWF0ZUNvbnN0cnVjdG9yKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckZyb21Db25zdHJ1Y3Rvck5vZGUoYnJhY2tldGVkQ29uc3RydWN0b3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZENvbWJpbmF0b3JGcm9tTm90aGluZyIsImJyYWNrZXRlZENvbnN0cnVjdG9yRnJvbU5vdGhpbmciLCJicmFja2V0ZWRDb21iaW5hdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJub21pbmFsbHkiLCJjb250ZXh0IiwiYnJhY2tldGVkQ29tYmluYXRvclN0cmluZyIsIlNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSIsInN0cmluZyIsImNvbWJpbmF0b3JOb2RlIiwiaW5zdGFudGlhdGVDb21iaW5hdG9yIiwiYnJhY2tldGVkQ29tYmluYXRvck5vZGUiLCJjb21iaW5hdG9yRnJvbUNvbWJpbmF0b3JOb2RlIiwiYnJhY2tldGVkQ29uc3RydWN0b3JTdHJpbmciLCJCQVNFX1RZUEVfU1lNQk9MIiwiY29uc3RydWN0b3JOb2RlIiwiaW5zdGFudGlhdGVDb25zdHJ1Y3RvciIsImJyYWNrZXRlZENvbnN0cnVjdG9yTm9kZSIsImNvbnN0cnVjdG9yRnJvbUNvbnN0cnVjdG9yTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBV2dCQTtlQUFBQTs7UUFnQkFDO2VBQUFBOzs7eUJBekJVOzJCQUNPOytCQUNROzZCQUNxQjt5QkFDZTtBQUU3RSxJQUFJQyxzQkFBc0IsTUFDdEJDLHVCQUF1QjtBQUVwQixTQUFTSDtJQUNkLElBQUlFLHdCQUF3QixNQUFNO1FBQ2hDQSxzQkFBc0JFLElBQUFBLGtCQUFTLEVBQUMsQ0FBQ0M7WUFDL0IsTUFBTUMsNEJBQTRCLENBQUMsQ0FBQyxFQUFFQyx1Q0FBd0IsQ0FBQyxDQUFDLENBQUMsRUFDM0RDLFNBQVNGLDJCQUNURyxpQkFBaUJDLElBQUFBLGtDQUFxQixFQUFDRixRQUFRSCxVQUMvQ00sMEJBQTBCRixnQkFDMUJQLHNCQUFzQlUsSUFBQUEscUNBQTRCLEVBQUNELHlCQUF5Qk47WUFFbEYsT0FBT0g7UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNEO0lBQ2QsSUFBSUUseUJBQXlCLE1BQU07UUFDakNBLHVCQUF1QkMsSUFBQUEsa0JBQVMsRUFBQyxDQUFDQztZQUNoQyxNQUFNUSw2QkFBNkIsQ0FBQyxDQUFDLEVBQUVDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUNwRE4sU0FBU0ssNEJBQ1RFLGtCQUFrQkMsSUFBQUEsbUNBQXNCLEVBQUNSLFFBQVFILFVBQ2pEWSwyQkFBMkJGLGlCQUMzQlosdUJBQXVCZSxJQUFBQSx1Q0FBOEIsRUFBQ0QsMEJBQTBCWjtZQUV0RixPQUFPRjtRQUNUO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5zdGFuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGdyb3VuZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgQkFTRV9UWVBFX1NZTUJPTCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuLi9tZXRhVHlwZU5hbWVzXCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZUNvbWJpbmF0b3IsIGluc3RhbnRpYXRlQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgY29tYmluYXRvckZyb21Db21iaW5hdG9yTm9kZSwgY29uc3RydWN0b3JGcm9tQ29uc3RydWN0b3JOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmxldCBicmFja2V0ZWRDb21iaW5hdG9yID0gbnVsbCxcbiAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRDb21iaW5hdG9yRnJvbU5vdGhpbmcoKSB7XG4gIGlmIChicmFja2V0ZWRDb21iaW5hdG9yID09PSBudWxsKSB7XG4gICAgYnJhY2tldGVkQ29tYmluYXRvciA9IGdyb3VuZCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgYnJhY2tldGVkQ29tYmluYXRvclN0cmluZyA9IGAoJHtTVEFURU1FTlRfTUVUQV9UWVBFX05BTUV9KWAsXG4gICAgICAgICAgICBzdHJpbmcgPSBicmFja2V0ZWRDb21iaW5hdG9yU3RyaW5nLCAvLy9cbiAgICAgICAgICAgIGNvbWJpbmF0b3JOb2RlID0gaW5zdGFudGlhdGVDb21iaW5hdG9yKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICBicmFja2V0ZWRDb21iaW5hdG9yTm9kZSA9IGNvbWJpbmF0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmFja2V0ZWRDb21iaW5hdG9yID0gY29tYmluYXRvckZyb21Db21iaW5hdG9yTm9kZShicmFja2V0ZWRDb21iaW5hdG9yTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiBicmFja2V0ZWRDb21iaW5hdG9yO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZENvbWJpbmF0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRDb25zdHJ1Y3RvckZyb21Ob3RoaW5nKCkge1xuICBpZiAoYnJhY2tldGVkQ29uc3RydWN0b3IgPT09IG51bGwpIHtcbiAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IGdyb3VuZCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3JTdHJpbmcgPSBgKCR7QkFTRV9UWVBFX1NZTUJPTH0pYCxcbiAgICAgICAgICAgIHN0cmluZyA9IGJyYWNrZXRlZENvbnN0cnVjdG9yU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBpbnN0YW50aWF0ZUNvbnN0cnVjdG9yKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckZyb21Db25zdHJ1Y3Rvck5vZGUoYnJhY2tldGVkQ29uc3RydWN0b3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZENvbWJpbmF0b3JGcm9tTm90aGluZyIsImJyYWNrZXRlZENvbnN0cnVjdG9yRnJvbU5vdGhpbmciLCJicmFja2V0ZWRDb21iaW5hdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJncm91bmQiLCJjb250ZXh0IiwiYnJhY2tldGVkQ29tYmluYXRvclN0cmluZyIsIlNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSIsInN0cmluZyIsImNvbWJpbmF0b3JOb2RlIiwiaW5zdGFudGlhdGVDb21iaW5hdG9yIiwiYnJhY2tldGVkQ29tYmluYXRvck5vZGUiLCJjb21iaW5hdG9yRnJvbUNvbWJpbmF0b3JOb2RlIiwiYnJhY2tldGVkQ29uc3RydWN0b3JTdHJpbmciLCJCQVNFX1RZUEVfU1lNQk9MIiwiY29uc3RydWN0b3JOb2RlIiwiaW5zdGFudGlhdGVDb25zdHJ1Y3RvciIsImJyYWNrZXRlZENvbnN0cnVjdG9yTm9kZSIsImNvbnN0cnVjdG9yRnJvbUNvbnN0cnVjdG9yTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBV2dCQTtlQUFBQTs7UUFnQkFDO2VBQUFBOzs7eUJBekJPOzJCQUNVOytCQUNROzZCQUNxQjt5QkFDZTtBQUU3RSxJQUFJQyxzQkFBc0IsTUFDdEJDLHVCQUF1QjtBQUVwQixTQUFTSDtJQUNkLElBQUlFLHdCQUF3QixNQUFNO1FBQ2hDQSxzQkFBc0JFLElBQUFBLGVBQU0sRUFBQyxDQUFDQztZQUM1QixNQUFNQyw0QkFBNEIsQ0FBQyxDQUFDLEVBQUVDLHVDQUF3QixDQUFDLENBQUMsQ0FBQyxFQUMzREMsU0FBU0YsMkJBQ1RHLGlCQUFpQkMsSUFBQUEsa0NBQXFCLEVBQUNGLFFBQVFILFVBQy9DTSwwQkFBMEJGLGdCQUMxQlAsc0JBQXNCVSxJQUFBQSxxQ0FBNEIsRUFBQ0QseUJBQXlCTjtZQUVsRixPQUFPSDtRQUNUO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRU8sU0FBU0Q7SUFDZCxJQUFJRSx5QkFBeUIsTUFBTTtRQUNqQ0EsdUJBQXVCQyxJQUFBQSxlQUFNLEVBQUMsQ0FBQ0M7WUFDN0IsTUFBTVEsNkJBQTZCLENBQUMsQ0FBQyxFQUFFQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFDcEROLFNBQVNLLDRCQUNURSxrQkFBa0JDLElBQUFBLG1DQUFzQixFQUFDUixRQUFRSCxVQUNqRFksMkJBQTJCRixpQkFDM0JaLHVCQUF1QmUsSUFBQUEsdUNBQThCLEVBQUNELDBCQUEwQlo7WUFFdEYsT0FBT0Y7UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9