occam-verify-cli 0.0.1067 → 0.0.1069

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 (137) hide show
  1. package/bin/action/verify.js +3 -2
  2. package/lib/assertion/contained.js +2 -2
  3. package/lib/assertion/defined.js +2 -2
  4. package/lib/assertion/subproof.js +3 -3
  5. package/lib/assignment/judgement.js +3 -3
  6. package/lib/axiom.js +11 -6
  7. package/lib/combinator.js +9 -9
  8. package/lib/conclusion.js +13 -10
  9. package/lib/conjecture.js +11 -6
  10. package/lib/consequent.js +13 -10
  11. package/lib/constructor.js +9 -9
  12. package/lib/context/file.js +34 -126
  13. package/lib/context/local.js +16 -5
  14. package/lib/context/release.js +2 -3
  15. package/lib/declaration.js +96 -2
  16. package/lib/equivalence.js +2 -2
  17. package/lib/frame.js +179 -98
  18. package/lib/index.js +22 -6
  19. package/lib/judgement.js +84 -5
  20. package/lib/label.js +12 -8
  21. package/lib/lemma.js +12 -12
  22. package/lib/metaLemma.js +120 -8
  23. package/lib/metaType.js +24 -3
  24. package/lib/metatheorem.js +145 -9
  25. package/lib/metavariable.js +128 -43
  26. package/lib/mixins/statement/qualified/unify.js +6 -10
  27. package/lib/mixins/statement/unify.js +4 -19
  28. package/lib/mixins/statement/verify.js +13 -13
  29. package/lib/mixins/term/unify.js +2 -2
  30. package/lib/premise.js +21 -13
  31. package/lib/reference.js +17 -17
  32. package/lib/rule.js +28 -40
  33. package/lib/statement/unqualified.js +34 -9
  34. package/lib/statement.js +7 -5
  35. package/lib/substitution/frameForMetavariable.js +75 -70
  36. package/lib/substitution/statementForMetavariable.js +83 -42
  37. package/lib/substitution/termForVariable.js +65 -68
  38. package/lib/substitution.js +46 -43
  39. package/lib/substitutions.js +52 -40
  40. package/lib/supposition.js +15 -11
  41. package/lib/term.js +6 -11
  42. package/lib/theorem.js +11 -6
  43. package/lib/topLevelAssertion.js +24 -42
  44. package/lib/type.js +5 -12
  45. package/lib/unifier/intrinsicLevel.js +4 -4
  46. package/lib/unifier/metaLevel.js +11 -7
  47. package/lib/unifier/metavariable.js +6 -6
  48. package/lib/unifier/statementWithCombinator.js +16 -16
  49. package/lib/unifier/termWithConstructor.js +7 -7
  50. package/lib/utilities/brackets.js +10 -10
  51. package/lib/utilities/json.js +493 -0
  52. package/lib/utilities/node.js +26 -19
  53. package/lib/utilities/release.js +53 -0
  54. package/lib/utilities/releaseContext.js +4 -15
  55. package/lib/utilities/tokens.js +8 -1
  56. package/lib/variable.js +14 -15
  57. package/lib/verifier/topLevel.js +5 -5
  58. package/package.json +1 -1
  59. package/src/assertion/contained.js +1 -1
  60. package/src/assertion/defined.js +1 -1
  61. package/src/assertion/subproof.js +2 -3
  62. package/src/assignment/judgement.js +3 -4
  63. package/src/axiom.js +14 -6
  64. package/src/combinator.js +12 -13
  65. package/src/conclusion.js +16 -13
  66. package/src/conjecture.js +14 -6
  67. package/src/consequent.js +16 -13
  68. package/src/constructor.js +11 -13
  69. package/src/context/file.js +94 -202
  70. package/src/context/local.js +8 -6
  71. package/src/context/release.js +2 -3
  72. package/src/declaration.js +126 -45
  73. package/src/equivalence.js +2 -2
  74. package/src/frame.js +225 -141
  75. package/src/index.js +17 -1
  76. package/src/judgement.js +109 -3
  77. package/src/label.js +15 -10
  78. package/src/lemma.js +17 -10
  79. package/src/metaLemma.js +102 -1
  80. package/src/metaType.js +29 -3
  81. package/src/metatheorem.js +143 -2
  82. package/src/metavariable.js +189 -66
  83. package/src/mixins/statement/qualified/unify.js +7 -19
  84. package/src/mixins/statement/unify.js +3 -25
  85. package/src/mixins/statement/verify.js +15 -13
  86. package/src/mixins/term/unify.js +1 -1
  87. package/src/premise.js +31 -16
  88. package/src/reference.js +18 -18
  89. package/src/rule.js +40 -58
  90. package/src/statement/unqualified.js +41 -11
  91. package/src/statement.js +6 -3
  92. package/src/substitution/frameForMetavariable.js +85 -98
  93. package/src/substitution/statementForMetavariable.js +109 -45
  94. package/src/substitution/termForVariable.js +83 -94
  95. package/src/substitution.js +36 -34
  96. package/src/substitutions.js +53 -46
  97. package/src/supposition.js +22 -14
  98. package/src/term.js +5 -15
  99. package/src/theorem.js +14 -6
  100. package/src/topLevelAssertion.js +38 -64
  101. package/src/type.js +5 -20
  102. package/src/unifier/intrinsicLevel.js +4 -3
  103. package/src/unifier/metaLevel.js +19 -7
  104. package/src/unifier/metavariable.js +5 -5
  105. package/src/unifier/statementWithCombinator.js +19 -19
  106. package/src/unifier/termWithConstructor.js +7 -7
  107. package/src/utilities/brackets.js +5 -5
  108. package/src/utilities/json.js +551 -0
  109. package/src/utilities/node.js +28 -23
  110. package/src/{verify → utilities}/release.js +5 -1
  111. package/src/utilities/releaseContext.js +2 -2
  112. package/src/utilities/tokens.js +10 -0
  113. package/src/variable.js +18 -19
  114. package/src/verifier/topLevel.js +6 -4
  115. package/lib/argument.js +0 -106
  116. package/lib/metaTypes.js +0 -19
  117. package/lib/unify/metavariableWithFrame.js +0 -40
  118. package/lib/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -31
  119. package/lib/unify/statementWithSttaemetnGivenEquivalences.js +0 -45
  120. package/lib/verify/declaration.js +0 -83
  121. package/lib/verify/frame.js +0 -120
  122. package/lib/verify/judgement.js +0 -88
  123. package/lib/verify/metaLemma.js +0 -49
  124. package/lib/verify/metatheorem.js +0 -48
  125. package/lib/verify/metavariableGivenMetaType.js +0 -44
  126. package/lib/verify/release.js +0 -50
  127. package/src/argument.js +0 -79
  128. package/src/metaTypes.js +0 -11
  129. package/src/unify/metavariableWithFrame.js +0 -40
  130. package/src/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -27
  131. package/src/unify/statementWithSttaemetnGivenEquivalences.js +0 -51
  132. package/src/verify/declaration.js +0 -113
  133. package/src/verify/frame.js +0 -157
  134. package/src/verify/judgement.js +0 -127
  135. package/src/verify/metaLemma.js +0 -72
  136. package/src/verify/metatheorem.js +0 -67
  137. package/src/verify/metavariableGivenMetaType.js +0 -45
@@ -19,7 +19,8 @@ const combinedCustomGrammar = combinedCustomGrammarFromNothing(),
19
19
  nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
20
20
 
21
21
  const termNodeQuery = nodeQuery("/constructorDeclaration/term"),
22
- statementNodeQuery = nodeQuery("/unqualifiedStatement/statement");
22
+ statementNodeQuery = nodeQuery("/unqualifiedStatement/statement"),
23
+ substitutionNodeQuery = nodeQuery("/unqualifiedStatement/statement/substitution");
23
24
 
24
25
  export function termNodeFromTermString(termString, lexer, parser) {
25
26
  const constructorDeclarationString = constructorDeclarationStringFromTermString(termString),
@@ -37,25 +38,11 @@ export function variableNodeFromVariableString(variableString, lexer, parser) {
37
38
  return variableNode;
38
39
  }
39
40
 
40
- export function statementNodeFromStatementString(statementString, lexer, parser) {
41
- const unqualifiedStatementString =unqualifiedStatementStringFromStatementString(statementString),
42
- unqualifiedStatementTokens = unqualifiedStatementTokensFromUnqualifiedStatementString(unqualifiedStatementString, lexer),
43
- unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser),
44
- statementNode = statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode);
45
-
46
- return statementNode;
47
- }
48
-
49
- export function termNodeFromConstructorDeclarationNode(constructorDeclarationNode) {
50
- const termNode = termNodeQuery(constructorDeclarationNode, constructorDeclarationNode);
51
-
52
- return termNode;
53
- }
54
-
55
- export function statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
56
- const statementNode = statementNodeQuery(unqualifiedStatementNode);
41
+ export function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
42
+ const metavariableTokens = metavariableTokensFromMetavariableString(metavariableString, lexer),
43
+ metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
57
44
 
58
- return statementNode;
45
+ return metavariableNode;
59
46
  }
60
47
 
61
48
  export function constructorDeclarationStringFromTermString(termString) {
@@ -72,11 +59,29 @@ export function unqualifiedStatementStringFromStatementString(statementString) {
72
59
  return unqualifiedStatementString;
73
60
  }
74
61
 
75
- export function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
76
- const metavariableTokens = metavariableTokensFromMetavariableString(metavariableString, lexer),
77
- metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
62
+ export function unqualifiedStatementStringFromSubstitutionString(substitutionString) {
63
+ const unqualifiedStatementString = `a ${substitutionString}
64
+ `; ///
78
65
 
79
- return metavariableNode;
66
+ return unqualifiedStatementString;
67
+ }
68
+
69
+ export function termNodeFromConstructorDeclarationNode(constructorDeclarationNode) {
70
+ const termNode = termNodeQuery(constructorDeclarationNode, constructorDeclarationNode);
71
+
72
+ return termNode;
73
+ }
74
+
75
+ export function statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
76
+ const statementNode = statementNodeQuery(unqualifiedStatementNode);
77
+
78
+ return statementNode;
79
+ }
80
+
81
+ export function substitutionNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
82
+ const substitutionNode = substitutionNodeQuery(unqualifiedStatementNode);
83
+
84
+ return substitutionNode;
80
85
  }
81
86
 
82
87
  export function variableNodeFromVariableTokens(variableTokens, parser) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- export default function verifyRelease(releaseName, dependentName, dependentReleased, releaseContextMap) {
3
+ function verifyRelease(releaseName, dependentName, dependentReleased, releaseContextMap) {
4
4
  let releaseVerified = false;
5
5
 
6
6
  const releaseContext = releaseContextMap[releaseName];
@@ -42,6 +42,10 @@ export default function verifyRelease(releaseName, dependentName, dependentRelea
42
42
  return releaseVerified;
43
43
  }
44
44
 
45
+ export default {
46
+ verifyRelease
47
+ };
48
+
45
49
  function verifyDependencyReleases(releaseContext, dependentName, dependentReleased, releaseContextMap) {
46
50
  const dependencies = releaseContext.getDependencies(),
47
51
  dependencyReleasesVVerified = dependencies.everyDependency((dependency) => {
@@ -4,7 +4,7 @@ import { arrayUtilities } from "necessary";
4
4
 
5
5
  const { last } = arrayUtilities;
6
6
 
7
- export function createReleaseContext(dependency, dependentNames, context, callback) {
7
+ function createReleaseContext(dependency, dependentNames, context, callback) {
8
8
  const { log, releaseContextMap } = context,
9
9
  dependencyName = dependency.getName(),
10
10
  releaseName = dependencyName, ///
@@ -87,7 +87,7 @@ export function createReleaseContext(dependency, dependentNames, context, callba
87
87
  }, context);
88
88
  }
89
89
 
90
- export function initialiseReleaseContext(dependency, context) {
90
+ function initialiseReleaseContext(dependency, context) {
91
91
  const { releaseContextMap } = context,
92
92
  dependencyName = dependency.getName(),
93
93
  releaseName = dependencyName, ///
@@ -53,6 +53,16 @@ export function statementTokensFromUnqualifiedStatementTokens(unqualifiedStateme
53
53
  return statementTokens;
54
54
  }
55
55
 
56
+ export function substitutionTokensFromUnqualifiedStatementTokensAndSubstitutionNode(unqualifiedStatementTokens, substitutionNode) {
57
+ const lastSignificantTokenIndex = substitutionNode.getLastSignificantTokenIndex(unqualifiedStatementTokens),
58
+ firstSignificantTokenIndex = substitutionNode.getFirstSignificantTokenIndex(unqualifiedStatementTokens),
59
+ start = firstSignificantTokenIndex, ///
60
+ end = lastSignificantTokenIndex + 1,
61
+ substitutionTokens = unqualifiedStatementTokens.slice(start, end);
62
+
63
+ return substitutionTokens;
64
+ }
65
+
56
66
  function tokensFromContentAndLexer(content, lexer = nominalLexer) {
57
67
  const tokens = lexer.tokenise(content);
58
68
 
package/src/variable.js CHANGED
@@ -7,6 +7,7 @@ import TermForVariableSubstitution from "./substitution/termForVariable";
7
7
  import { nodeQuery } from "./utilities/query";
8
8
  import { objectType } from "./type";
9
9
  import { variableNameFromVariableNode} from "./utilities/name";
10
+ import { typeFromJSON, typeToTypeJSON } from "./utilities/json";
10
11
  import { variableNodeFromVariableString } from "./utilities/node";
11
12
 
12
13
  const typeNodeQuery = nodeQuery("/variableDeclaration/type"),
@@ -149,8 +150,8 @@ class Variable {
149
150
  localContext.trace(`Unifying the '${termString}' term with the '${variableString}' variable...`);
150
151
 
151
152
  const termNode = term.getNode(),
152
- variableNode = this.node, ///
153
- substitution = substitutions.findSubstitutionByVariableNode(variableNode);
153
+ variableName = this.name, ///
154
+ substitution = substitutions.findSubstitutionByVariableName(variableName);
154
155
 
155
156
  if (substitution !== null) {
156
157
  const termNodeMatches = substitution.matchTermNode(termNode);
@@ -159,13 +160,15 @@ class Variable {
159
160
  termUnified = true;
160
161
  }
161
162
  } else {
162
- const variable = this, ///
163
+ const variableNode = this.node, ///
164
+ variable = variableFromVariableNode(variableNode, localContext),
163
165
  termVariable = termVariableFromTermNode(termNode, localContext);
164
166
 
165
- if (termVariable === variable) {
167
+ if (variable === termVariable) {
166
168
  termUnified = true;
167
169
  } else {
168
- const termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable, localContext),
170
+ const variable = this, ///
171
+ termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable, localContext),
169
172
  substitution = termForVariableSubstitution; ///
170
173
 
171
174
  substitutions.addSubstitution(substitution, localContext);
@@ -182,12 +185,12 @@ class Variable {
182
185
  }
183
186
 
184
187
  toJSON() {
185
- const typeJSON = this.type.toJSON(),
188
+ const typeJSON = typeToTypeJSON(this.type),
186
189
  string = this.string,
187
190
  type = typeJSON, ///
188
191
  json = {
189
- string,
190
- type
192
+ type,
193
+ string
191
194
  };
192
195
 
193
196
  return json;
@@ -277,17 +280,6 @@ Object.assign(shim, {
277
280
 
278
281
  export default Variable;
279
282
 
280
- function typeFromJSON(json, fileContext) {
281
- let { type } = json;
282
-
283
- const { name } = type,
284
- typeName = name; ///
285
-
286
- type = fileContext.findTypeByTypeName(typeName);
287
-
288
- return type;
289
- }
290
-
291
283
  function termVariableFromTermNode(termNode, localContext) {
292
284
  let termVariable = null;
293
285
 
@@ -300,4 +292,11 @@ function termVariableFromTermNode(termNode, localContext) {
300
292
  }
301
293
 
302
294
  return termVariable;
295
+ }
296
+
297
+ function variableFromVariableNode(variableNode, localContext) {
298
+ const variableName = variableNameFromVariableNode(variableNode),
299
+ variable = localContext.findVariableByVariableName(variableName);
300
+
301
+ return variable;
303
302
  }
@@ -5,7 +5,9 @@ import Error from "../error";
5
5
  import Axiom from "../axiom";
6
6
  import Lemma from "../lemma";
7
7
  import Theorem from "../theorem";
8
+ import MetaLemma from "../metaLemma";
8
9
  import Conjecture from "../conjecture";
10
+ import Metatheorem from "../metatheorem";
9
11
  import TypeDeclaration from "../declaration/type";
10
12
  import VariableDeclaration from "../declaration/variable";
11
13
  import CombinatorDeclaration from "../declaration/combinator";
@@ -13,8 +15,6 @@ import ConstructorDeclaration from "../declaration/constructor";
13
15
  import MetavariableDeclaration from "../declaration/metavariable";
14
16
 
15
17
  import Verifier from "../verifier";
16
- import verifyMetaLemma from "../verify/metaLemma";
17
- import verifyMetatheorem from "../verify/metatheorem";
18
18
 
19
19
  import { nodeQuery } from "../utilities/query";
20
20
 
@@ -93,7 +93,8 @@ class TopLevelVerifier extends Verifier {
93
93
  {
94
94
  nodeQuery: metaLemmaNodeQuery,
95
95
  verify: (metaLemmaNode, fileContext) => {
96
- const metaLemmaVerified = verifyMetaLemma(metaLemmaNode, fileContext);
96
+ const metaLemma = MetaLemma.fromMetaLemmaNode(metaLemmaNode, fileContext),
97
+ metaLemmaVerified = metaLemma.verify();
97
98
 
98
99
  return metaLemmaVerified;
99
100
  }
@@ -110,7 +111,8 @@ class TopLevelVerifier extends Verifier {
110
111
  {
111
112
  nodeQuery: metatheoremNodeQuery,
112
113
  verify: (metatheoremNode, fileContext) => {
113
- const metatheoremVerified = verifyMetatheorem(metatheoremNode, fileContext);
114
+ const metatheorem = Metatheorem.fromMetatheoremNode(metatheoremNode, fileContext),
115
+ metatheoremVerified = metatheorem.verify();
114
116
 
115
117
  return metatheoremVerified;
116
118
  }
package/lib/argument.js DELETED
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return Argument;
9
- }
10
- });
11
- var _query = require("./utilities/query");
12
- var _name = require("./utilities/name");
13
- function _class_call_check(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
- function _defineProperties(target, props) {
19
- for(var i = 0; i < props.length; i++){
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
25
- }
26
- }
27
- function _create_class(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
- var termNodeQuery = (0, _query.nodeQuery)("/argument/term"), typeNodeQuery = (0, _query.nodeQuery)("/argument//type");
33
- var Argument = /*#__PURE__*/ function() {
34
- function Argument(string, node, fileContext) {
35
- _class_call_check(this, Argument);
36
- this.string = string;
37
- this.node = node;
38
- this.fileContext = fileContext;
39
- }
40
- _create_class(Argument, [
41
- {
42
- key: "getString",
43
- value: function getString() {
44
- return this.string;
45
- }
46
- },
47
- {
48
- key: "getNode",
49
- value: function getNode() {
50
- return this.node;
51
- }
52
- },
53
- {
54
- key: "getFileContext",
55
- value: function getFileContext() {
56
- return this.fileContext;
57
- }
58
- },
59
- {
60
- key: "verifyAtTopLevel",
61
- value: function verifyAtTopLevel(fileContext) {
62
- var verifiedAtTopLevel = false;
63
- var argumentString = this.string; ///
64
- fileContext.trace("Verifying the '".concat(argumentString, "' argument at top level..."));
65
- if (this.node === null) {
66
- verifiedAtTopLevel = true;
67
- } else {
68
- var termNode = termNodeQuery(this.node);
69
- if (termNode !== null) {
70
- var termString = this.fileContext.nodeAsString(termNode);
71
- this.fileContext.debug("The '".concat(termString, "' term was found when a type should have been present."));
72
- } else {
73
- var typeNode = typeNodeQuery(this.node);
74
- if (typeNode !== null) {
75
- var typeName = (0, _name.typeNameFromTypeNode)(typeNode), typePresent = this.fileContext.isTypePresentByTypeName(typeName);
76
- if (typePresent) {
77
- verifiedAtTopLevel = true;
78
- } else {
79
- this.fileContext.debug("The '".concat(typeName, "' type is not present."));
80
- }
81
- }
82
- }
83
- }
84
- if (verifiedAtTopLevel) {
85
- fileContext.debug("...verified the '".concat(argumentString, "' argument at top level."));
86
- }
87
- return verifiedAtTopLevel;
88
- }
89
- }
90
- ], [
91
- {
92
- key: "fromArgumentNode",
93
- value: function fromArgumentNode(argumentNode, fileContext) {
94
- var argument = null;
95
- if (argumentNode !== null) {
96
- var node = argumentNode, string = fileContext.nodeAsString(node);
97
- argument = new Argument(string, node, fileContext);
98
- }
99
- return argument;
100
- }
101
- }
102
- ]);
103
- return Argument;
104
- }();
105
-
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hcmd1bWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvL3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFyZ3VtZW50IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlLCBmaWxlQ29udGV4dCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgdmVyaWZ5QXRUb3BMZXZlbChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBmYWxzZTtcblxuICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7YXJndW1lbnRTdHJpbmd9JyBhcmd1bWVudCBhdCB0b3AgbGV2ZWwuLi5gKTtcblxuICAgIGlmICh0aGlzLm5vZGUgPT09IG51bGwpIHtcbiAgICAgIHZlcmlmaWVkQXRUb3BMZXZlbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgICBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRoaXMuZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2FzIGZvdW5kIHdoZW4gYSB0eXBlIHNob3VsZCBoYXZlIGJlZW4gcHJlc2VudC5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgICAgIGlmICh0eXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICAgICAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgICAgICAgIHZlcmlmaWVkQXRUb3BMZXZlbCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlTmFtZX0nIHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHthcmd1bWVudFN0cmluZ30nIGFyZ3VtZW50IGF0IHRvcCBsZXZlbC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRBdFRvcExldmVsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBhcmd1bWVudCA9IG51bGw7XG5cbiAgICBpZiAoYXJndW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gYXJndW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSk7XG5cbiAgICAgIGFyZ3VtZW50ID0gbmV3IEFyZ3VtZW50KHN0cmluZywgbm9kZSwgZmlsZUNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBhcmd1bWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkFyZ3VtZW50IiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJzdHJpbmciLCJub2RlIiwiZmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwiZ2V0RmlsZUNvbnRleHQiLCJ2ZXJpZnlBdFRvcExldmVsIiwidmVyaWZpZWRBdFRvcExldmVsIiwiYXJndW1lbnRTdHJpbmciLCJ0cmFjZSIsInRlcm1Ob2RlIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwidHlwZU5vZGUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsImZyb21Bcmd1bWVudE5vZGUiLCJhcmd1bWVudE5vZGUiLCJhcmd1bWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7cUJBTks7b0JBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxtQkFDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixJQUFBLEFBQU1GLHlCQUFOO2FBQU1BLFNBQ1BJLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxXQUFXO2dDQURsQk47UUFFakIsSUFBSSxDQUFDSSxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxXQUFXLEdBQUdBOztrQkFKRk47O1lBT25CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCSixXQUFXO2dCQUMxQixJQUFJSyxxQkFBcUI7Z0JBRXpCLElBQU1DLGlCQUFpQixJQUFJLENBQUNSLE1BQU0sRUFBRSxHQUFHO2dCQUV2Q0UsWUFBWU8sS0FBSyxDQUFDLEFBQUMsa0JBQWdDLE9BQWZELGdCQUFlO2dCQUVuRCxJQUFJLElBQUksQ0FBQ1AsSUFBSSxLQUFLLE1BQU07b0JBQ3RCTSxxQkFBcUI7Z0JBQ3ZCLE9BQU87b0JBQ0wsSUFBTUcsV0FBV2IsY0FBYyxJQUFJLENBQUNJLElBQUk7b0JBRXhDLElBQUlTLGFBQWEsTUFBTTt3QkFDckIsSUFBTUMsYUFBYSxJQUFJLENBQUNULFdBQVcsQ0FBQ1UsWUFBWSxDQUFDRjt3QkFFakQsSUFBSSxDQUFDUixXQUFXLENBQUNXLEtBQUssQ0FBQyxBQUFDLFFBQWtCLE9BQVhGLFlBQVc7b0JBQzVDLE9BQU87d0JBQ0wsSUFBTUcsV0FBV2YsY0FBYyxJQUFJLENBQUNFLElBQUk7d0JBRXhDLElBQUlhLGFBQWEsTUFBTTs0QkFDckIsSUFBTUMsV0FBV0MsSUFBQUEsMEJBQW9CLEVBQUNGLFdBQ2hDRyxjQUFjLElBQUksQ0FBQ2YsV0FBVyxDQUFDZ0IsdUJBQXVCLENBQUNIOzRCQUU3RCxJQUFJRSxhQUFhO2dDQUNmVixxQkFBcUI7NEJBQ3ZCLE9BQU87Z0NBQ0wsSUFBSSxDQUFDTCxXQUFXLENBQUNXLEtBQUssQ0FBQyxBQUFDLFFBQWdCLE9BQVRFLFVBQVM7NEJBQzFDO3dCQUNGO29CQUNGO2dCQUNGO2dCQUVBLElBQUlSLG9CQUFvQjtvQkFDdEJMLFlBQVlXLEtBQUssQ0FBQyxBQUFDLG9CQUFrQyxPQUFmTCxnQkFBZTtnQkFDdkQ7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPWSxLQUFBQTttQkFBUCxTQUFPQSxpQkFBaUJDLFlBQVksRUFBRWxCLFdBQVc7Z0JBQy9DLElBQUltQixXQUFXO2dCQUVmLElBQUlELGlCQUFpQixNQUFNO29CQUN6QixJQUFNbkIsT0FBT21CLGNBQ1BwQixTQUFTRSxZQUFZVSxZQUFZLENBQUNYO29CQUV4Q29CLFdBQVcsSUFqRUl6QixTQWlFU0ksUUFBUUMsTUFBTUM7Z0JBQ3hDO2dCQUVBLE9BQU9tQjtZQUNUOzs7V0FyRW1CekIifQ==
package/lib/metaTypes.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _metaType = require("./metaType");
12
- var metaTypes = [
13
- _metaType.frameMetaType,
14
- _metaType.referenceMetaType,
15
- _metaType.statementMetaType
16
- ];
17
- var _default = metaTypes;
18
-
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZyYW1lTWV0YVR5cGUsIHJlZmVyZW5jZU1ldGFUeXBlLCBzdGF0ZW1lbnRNZXRhVHlwZSB9IGZyb20gXCIuL21ldGFUeXBlXCI7XG5cbmNvbnN0IG1ldGFUeXBlcyA9IFtcbiAgZnJhbWVNZXRhVHlwZSxcbiAgcmVmZXJlbmNlTWV0YVR5cGUsXG4gIHN0YXRlbWVudE1ldGFUeXBlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhVHlwZXM7XG4iXSwibmFtZXMiOlsibWV0YVR5cGVzIiwiZnJhbWVNZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwic3RhdGVtZW50TWV0YVR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O3dCQVJvRTtBQUVwRSxJQUFNQSxZQUFZO0lBQ2hCQyx1QkFBYTtJQUNiQywyQkFBaUI7SUFDakJDLDJCQUFpQjtDQUNsQjtJQUVELFdBQWVIIn0=
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyMetavariableWithFrame;
9
- }
10
- });
11
- var _frameForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/frameForMetavariable"));
12
- var _unify = require("../utilities/unify");
13
- var _name = require("../utilities/name");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- function unifyMetavariableWithFrame(metavariableNodeA, frameNodeB, substitutions, localContextA, localContextB) {
20
- var metavariableUnifiedWithFrame = false;
21
- var simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNodeA), substitution = simpleSubstitution; ///
22
- if (substitution !== null) {
23
- var frameNodeMatches = substitution.matchFrameNode(frameNodeB);
24
- if (frameNodeMatches) {
25
- metavariableUnifiedWithFrame = true;
26
- }
27
- } else {
28
- var metavariableNameA = (0, _name.metavariableNameFromMetavariableNode)(metavariableNodeA), metavariableA = localContextA.findMetavariableByMetavariableName(metavariableNameA), metavariableB = (0, _unify.metavariableFromFrameNode)(frameNodeB, localContextB);
29
- if (metavariableA === metavariableB) {
30
- metavariableUnifiedWithFrame = true;
31
- } else {
32
- var frameNode = frameNodeB, metavariable = metavariableA, frameForMetavariableSubstitution = _frameForMetavariable.default.fromFrameAndMetavariable(frame, metavariable, localContextA, localContextB), substitution1 = frameForMetavariableSubstitution; ///
33
- substitutions.addSubstitution(substitution1, localContextA, localContextB);
34
- metavariableUnifiedWithFrame = true;
35
- }
36
- }
37
- return metavariableUnifiedWithFrame;
38
- }
39
-
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9tZXRhdmFyaWFibGVXaXRoRnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZUZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL2ZyYW1lRm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG1ldGF2YXJpYWJsZUZyb21GcmFtZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZ5XCI7XG5pbXBvcnQge21ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZX0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlV2l0aEZyYW1lKG1ldGF2YXJpYWJsZU5vZGVBLCBmcmFtZU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lID0gZmFsc2U7XG5cbiAgY29uc3Qgc2ltcGxlU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU2ltcGxlU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgc3Vic3RpdHV0aW9uID0gc2ltcGxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGZyYW1lTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hGcmFtZU5vZGUoZnJhbWVOb2RlQik7XG5cbiAgICBpZiAoZnJhbWVOb2RlTWF0Y2hlcykge1xuICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhGcmFtZSA9IHRydWU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVBID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWVBKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVCID0gbWV0YXZhcmlhYmxlRnJvbUZyYW1lTm9kZShmcmFtZU5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVBID09PSBtZXRhdmFyaWFibGVCKSB7XG4gICAgICBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJhbWVOb2RlID0gZnJhbWVOb2RlQiwgLy8vXG4gICAgICAgICAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVBLCAvLy9cbiAgICAgICAgICAgIGZyYW1lRm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gRnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbUZyYW1lQW5kTWV0YXZhcmlhYmxlKGZyYW1lLCBtZXRhdmFyaWFibGUsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gZnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgc3Vic3RpdHV0aW9ucy5hZGRTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhGcmFtZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVVuaWZpZWRXaXRoRnJhbWU7XG59XG4iXSwibmFtZXMiOlsidW5pZnlNZXRhdmFyaWFibGVXaXRoRnJhbWUiLCJtZXRhdmFyaWFibGVOb2RlQSIsImZyYW1lTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lIiwic2ltcGxlU3Vic3RpdHV0aW9uIiwiZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZyYW1lTm9kZU1hdGNoZXMiLCJtYXRjaEZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZU5hbWVBIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlQSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVCIiwibWV0YXZhcmlhYmxlRnJvbUZyYW1lTm9kZSIsImZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZyYW1lRm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiRnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tRnJhbWVBbmRNZXRhdmFyaWFibGUiLCJmcmFtZSIsImFkZFN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7OzsyRUFMcUI7cUJBRUg7b0JBQ1M7Ozs7OztBQUVwQyxTQUFTQSwyQkFBMkJDLGlCQUFpQixFQUFFQyxVQUFVLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQzNILElBQUlDLCtCQUErQjtJQUVuQyxJQUFNQyxxQkFBcUJKLGNBQWNLLHdDQUF3QyxDQUFDUCxvQkFDNUVRLGVBQWVGLG9CQUFxQixHQUFHO0lBRTdDLElBQUlFLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1DLG1CQUFtQkQsYUFBYUUsY0FBYyxDQUFDVDtRQUVyRCxJQUFJUSxrQkFBa0I7WUFDcEJKLCtCQUErQjtRQUNqQztJQUNGLE9BQU87UUFDTCxJQUFNTSxvQkFBb0JDLElBQUFBLDBDQUFvQyxFQUFDWixvQkFDekRhLGdCQUFnQlYsY0FBY1csa0NBQWtDLENBQUNILG9CQUNqRUksZ0JBQWdCQyxJQUFBQSxnQ0FBeUIsRUFBQ2YsWUFBWUc7UUFFNUQsSUFBSVMsa0JBQWtCRSxlQUFlO1lBQ25DViwrQkFBK0I7UUFDakMsT0FBTztZQUNMLElBQU1ZLFlBQVloQixZQUNaaUIsZUFBZUwsZUFDZk0sbUNBQW1DQyw2QkFBZ0MsQ0FBQ0Msd0JBQXdCLENBQUNDLE9BQU9KLGNBQWNmLGVBQWVDLGdCQUNqSUksZ0JBQWVXLGtDQUFtQyxHQUFHO1lBRTNEakIsY0FBY3FCLGVBQWUsQ0FBQ2YsZUFBY0wsZUFBZUM7WUFFM0RDLCtCQUErQjtRQUNqQztJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement;
9
- }
10
- });
11
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(simpleSubstitutionStatementNode, complexSubstitutionStatementNode, substitutions, localContextA, localContextB) {
18
- var simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
19
- var simpleSubstitutionStatementString = localContextB.nodeAsString(simpleSubstitutionStatementNode), complexSubstitutionStatementString = localContextB.nodeAsString(complexSubstitutionStatementNode);
20
- localContextB.trace("Unifying the simple substitution's '".concat(simpleSubstitutionStatementString, "' statement with the complex substitution's '").concat(complexSubstitutionStatementString, "' statement..."), simpleSubstitutionStatementNode);
21
- var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
22
- localContextA = localContextB; ///
23
- var unifiedAtMetaLevel = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
24
- simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = unifiedAtMetaLevel; ///
25
- if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
26
- localContextB.trace("...unified the simple substitution's '".concat(simpleSubstitutionStatementString, "' statement with the complex substitution's '").concat(complexSubstitutionStatementString, "' statement."), simpleSubstitutionStatementNode);
27
- }
28
- return simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
29
- }
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoc2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSwgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudDtcblxuICBjb25zdCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHRCLm5vZGVBc1N0cmluZyhzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgc2ltcGxlIHN1YnN0aXR1dGlvbidzICcke3NpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBjb21wbGV4IHN1YnN0aXR1dGlvbidzICcke2NvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBub2RlQSA9IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG5vZGVCID0gc2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHRCOyAgLy8vXG5cbiAgY29uc3QgdW5pZmllZEF0TWV0YUxldmVsID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudCA9IHVuaWZpZWRBdE1ldGFMZXZlbDsgIC8vL1xuXG4gIGlmIChzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQpIHtcbiAgICBsb2NhbENvbnRleHRCLnRyYWNlKGAuLi51bmlmaWVkIHRoZSBzaW1wbGUgc3Vic3RpdHV0aW9uJ3MgJyR7c2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlIGNvbXBsZXggc3Vic3RpdHV0aW9uJ3MgJyR7Y29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlDb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudCIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudCIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmciLCJ0cmFjZSIsIm5vZGVBIiwibm9kZUIiLCJ1bmlmaWVkQXRNZXRhTGV2ZWwiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7Z0VBRks7Ozs7OztBQUVkLFNBQVNBLGlFQUFpRUMsK0JBQStCLEVBQUVDLGdDQUFnQyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNyTSxJQUFJQztJQUVKLElBQU1DLG9DQUFvQ0YsY0FBY0csWUFBWSxDQUFDUCxrQ0FDL0RRLHFDQUFxQ0osY0FBY0csWUFBWSxDQUFDTjtJQUV0RUcsY0FBY0ssS0FBSyxDQUFDLEFBQUMsdUNBQXVIRCxPQUFqRkYsbUNBQWtDLGlEQUFrRixPQUFuQ0Usb0NBQW1DLG1CQUFpQlI7SUFFaE0sSUFBTVUsUUFBUVQsa0NBQ1JVLFFBQVFYLGlDQUFrQyxHQUFHO0lBRW5ERyxnQkFBZ0JDLGVBQWdCLEdBQUc7SUFFbkMsSUFBTVEscUJBQXFCQyxrQkFBZ0IsQ0FBQ0MsS0FBSyxDQUFDSixPQUFPQyxPQUFPVCxlQUFlQyxlQUFlQztJQUU5RkMscUVBQXFFTyxvQkFBcUIsR0FBRztJQUU3RixJQUFJUCxvRUFBb0U7UUFDdEVELGNBQWNLLEtBQUssQ0FBQyxBQUFDLHlDQUF5SEQsT0FBakZGLG1DQUFrQyxpREFBa0YsT0FBbkNFLG9DQUFtQyxpQkFBZVI7SUFDbE07SUFFQSxPQUFPSztBQUNUIn0=
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return unifyStatementWithStatementGivenEquivalences;
9
- }
10
- });
11
- var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
12
- var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/intrinsicLevel"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function unifyStatementWithStatementGivenEquivalences(statementNodeA, statementNodeB, equivalences, localContextA, localContextB) {
19
- var statementUnifiedWithStatementGivenEquivalences = false;
20
- var statementStringA = localContextA.nodeAsString(statementNodeA), statementStringB = localContextB.nodeAsString(statementNodeB);
21
- localContextB.trace("Unifying the '".concat(statementStringB, "' statement with the '").concat(statementStringA, "' statement given equivalences..."), statementNodeB);
22
- if (!statementUnifiedWithStatementGivenEquivalences) {
23
- var substitutions = _substitutions.default.fromNothing(), nodeA = statementNodeA, nodeB = statementNodeB, unifiedAtIntrinsicLevel = _intrinsicLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
24
- if (unifiedAtIntrinsicLevel) {
25
- var substitutionsUnifiedWithEquivalences = substitutions.unifyWithEquivalences(equivalences, localContextA, localContextB);
26
- statementUnifiedWithStatementGivenEquivalences = substitutionsUnifiedWithEquivalences; ///
27
- }
28
- }
29
- if (!statementUnifiedWithStatementGivenEquivalences) {
30
- var localContext = localContextA; ///
31
- localContextA = localContextB; ///
32
- localContextB = localContext; ///
33
- var substitutions1 = _substitutions.default.fromNothing(), nodeA1 = statementNodeB, nodeB1 = statementNodeA, unifiedAtIntrinsicLevel1 = _intrinsicLevel.default.unify(nodeA1, nodeB1, substitutions1, localContextA, localContextB);
34
- if (unifiedAtIntrinsicLevel1) {
35
- var substitutionsUnifiedWithEquivalences1 = substitutions1.unifyWithEquivalences(equivalences, localContextA, localContextB);
36
- statementUnifiedWithStatementGivenEquivalences = substitutionsUnifiedWithEquivalences1; ///
37
- }
38
- }
39
- if (statementUnifiedWithStatementGivenEquivalences) {
40
- localContextB.debug("...unified the '".concat(statementStringB, "' statement with the '").concat(statementStringA, "' statement given equivalences."), statementNodeB);
41
- }
42
- return statementUnifiedWithStatementGivenEquivalences;
43
- }
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoU3R0YWVtZXRuR2l2ZW5FcXVpdmFsZW5jZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgaW50cmluc2ljTGV2ZWxVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL2ludHJpbnNpY0xldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgZXF1aXZhbGVuY2VzLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nQSA9IGxvY2FsQ29udGV4dEEubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVBKSxcbiAgICAgICAgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKTtcblxuICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQn0nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmdBfScgc3RhdGVtZW50IGdpdmVuIGVxdWl2YWxlbmNlcy4uLmAsIHN0YXRlbWVudE5vZGVCKTtcblxuICBpZiAoIXN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vZGVBID0gc3RhdGVtZW50Tm9kZUEsICAvLy9cbiAgICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgdW5pZmllZEF0SW50cmluc2ljTGV2ZWwgPSBpbnRyaW5zaWNMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmICh1bmlmaWVkQXRJbnRyaW5zaWNMZXZlbCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uc1VuaWZpZWRXaXRoRXF1aXZhbGVuY2VzID0gc3Vic3RpdHV0aW9ucy51bmlmeVdpdGhFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcyA9IHN1YnN0aXR1dGlvbnNVbmlmaWVkV2l0aEVxdWl2YWxlbmNlczsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICghc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcykge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IGxvY2FsQ29udGV4dEE7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dEI7ICAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIgPSBsb2NhbENvbnRleHQ7IC8vL1xuXG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBub2RlQSA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgIHVuaWZpZWRBdEludHJpbnNpY0xldmVsID0gaW50cmluc2ljTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAodW5pZmllZEF0SW50cmluc2ljTGV2ZWwpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnNVbmlmaWVkV2l0aEVxdWl2YWxlbmNlcyA9IHN1YnN0aXR1dGlvbnMudW5pZnlXaXRoRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXMgPSBzdWJzdGl0dXRpb25zVW5pZmllZFdpdGhFcXVpdmFsZW5jZXM7ICAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcykge1xuICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ0J9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nQX0nIHN0YXRlbWVudCBnaXZlbiBlcXVpdmFsZW5jZXMuYCwgc3RhdGVtZW50Tm9kZUIpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50R2l2ZW5FcXVpdmFsZW5jZXM7XG59Il0sIm5hbWVzIjpbInVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudEdpdmVuRXF1aXZhbGVuY2VzIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsImVxdWl2YWxlbmNlcyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3RhdGVtZW50VW5pZmllZFdpdGhTdGF0ZW1lbnRHaXZlbkVxdWl2YWxlbmNlcyIsInN0YXRlbWVudFN0cmluZ0EiLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnRTdHJpbmdCIiwidHJhY2UiLCJzdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwibm9kZUEiLCJub2RlQiIsInVuaWZpZWRBdEludHJpbnNpY0xldmVsIiwiaW50cmluc2ljTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJzdWJzdGl0dXRpb25zVW5pZmllZFdpdGhFcXVpdmFsZW5jZXMiLCJ1bmlmeVdpdGhFcXVpdmFsZW5jZXMiLCJsb2NhbENvbnRleHQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUF3QkE7OztvRUFIRTtxRUFDUTs7Ozs7O0FBRW5CLFNBQVNBLDZDQUE2Q0MsY0FBYyxFQUFFQyxjQUFjLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQzdJLElBQUlDLGlEQUFpRDtJQUVyRCxJQUFNQyxtQkFBbUJILGNBQWNJLFlBQVksQ0FBQ1AsaUJBQzlDUSxtQkFBbUJKLGNBQWNHLFlBQVksQ0FBQ047SUFFcERHLGNBQWNLLEtBQUssQ0FBQyxBQUFDLGlCQUF5REgsT0FBekNFLGtCQUFpQiwwQkFBeUMsT0FBakJGLGtCQUFpQixzQ0FBb0NMO0lBRW5JLElBQUksQ0FBQ0ksZ0RBQWdEO1FBQ25ELElBQU1LLGdCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsUUFBUWIsZ0JBQ1JjLFFBQVFiLGdCQUNSYywwQkFBMEJDLHVCQUFxQixDQUFDQyxLQUFLLENBQUNKLE9BQU9DLE9BQU9KLGVBQWVQLGVBQWVDO1FBRXhHLElBQUlXLHlCQUF5QjtZQUMzQixJQUFNRyx1Q0FBdUNSLGNBQWNTLHFCQUFxQixDQUFDakIsY0FBY0MsZUFBZUM7WUFFOUdDLGlEQUFpRGEsc0NBQXVDLEdBQUc7UUFDN0Y7SUFDRjtJQUVBLElBQUksQ0FBQ2IsZ0RBQWdEO1FBQ25ELElBQU1lLGVBQWVqQixlQUFlLEdBQUc7UUFFdkNBLGdCQUFnQkMsZUFBZ0IsR0FBRztRQUVuQ0EsZ0JBQWdCZ0IsY0FBYyxHQUFHO1FBRWpDLElBQU1WLGlCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsU0FBUVosZ0JBQ1JhLFNBQVFkLGdCQUNSZSwyQkFBMEJDLHVCQUFxQixDQUFDQyxLQUFLLENBQUNKLFFBQU9DLFFBQU9KLGdCQUFlUCxlQUFlQztRQUV4RyxJQUFJVywwQkFBeUI7WUFDM0IsSUFBTUcsd0NBQXVDUixlQUFjUyxxQkFBcUIsQ0FBQ2pCLGNBQWNDLGVBQWVDO1lBRTlHQyxpREFBaURhLHVDQUF1QyxHQUFHO1FBQzdGO0lBQ0Y7SUFFQSxJQUFJYixnREFBZ0Q7UUFDbERELGNBQWNpQixLQUFLLENBQUMsQUFBQyxtQkFBMkRmLE9BQXpDRSxrQkFBaUIsMEJBQXlDLE9BQWpCRixrQkFBaUIsb0NBQWtDTDtJQUNySTtJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyDeclaration;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _reference = /*#__PURE__*/ _interop_require_default(require("../reference"));
13
- var _declaration = /*#__PURE__*/ _interop_require_default(require("../declaration"));
14
- var _metavariableGivenMetaType = /*#__PURE__*/ _interop_require_default(require("../verify/metavariableGivenMetaType"));
15
- var _query = require("../utilities/query");
16
- var _metaType = require("../metaType");
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
22
- var statementNodeQuery = (0, _query.nodeQuery)("/declaration/statement"), metavariableNodeQuery = (0, _query.nodeQuery)("/declaration/reference/metavariable"); ///
23
- var verifyDeclarationFunctions = [
24
- verifyDerivedDeclaration,
25
- verifyStatedDeclaration
26
- ];
27
- function verifyDeclaration(declarationNode, declarations, stated, localContext) {
28
- var declarationVerified;
29
- var declarationString = localContext.nodeAsString(declarationNode);
30
- localContext.trace("Verifying the '".concat(declarationString, "' declaration..."), declarationNode);
31
- declarationVerified = verifyDeclarationFunctions.some(function(verifyDeclarationFunction) {
32
- var declarationVerified = verifyDeclarationFunction(declarationNode, declarations, stated, localContext);
33
- if (declarationVerified) {
34
- return true;
35
- }
36
- });
37
- if (declarationVerified) {
38
- localContext.debug("...verified the '".concat(declarationString, "' declaration."), declarationNode);
39
- }
40
- return declarationVerified;
41
- }
42
- function verifyDerivedDeclaration(declarationNode, declarations, stated, localContext) {
43
- var derivedDeclarationVerified;
44
- if (!stated) {
45
- var declarationString = localContext.nodeAsString(declarationNode);
46
- localContext.trace("Verifying the '".concat(declarationString, "' derived declaration..."), declarationNode);
47
- var metaType = _metaType.referenceMetaType, metavariableNode = metavariableNodeQuery(declarationNode), metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
48
- if (metavariableVerifiedGivenMetaType) {
49
- var verifyStatement = _shim.default.verifyStatement, _$stated = true, assignments = null, statementNode = statementNodeQuery(declarationNode), statementVerified = verifyStatement(statementNode, assignments, _$stated, localContext);
50
- if (statementVerified) {
51
- var reference = _reference.default.fromMetavariableNode(metavariableNode), declaration = _declaration.default.fromReferenceAndStatementNode(reference, statementNode);
52
- declarations.push(declaration);
53
- derivedDeclarationVerified = true;
54
- }
55
- }
56
- if (derivedDeclarationVerified) {
57
- localContext.debug("...verified the '".concat(declarationString, "' derived declaration."), declarationNode);
58
- }
59
- }
60
- return derivedDeclarationVerified;
61
- }
62
- function verifyStatedDeclaration(declarationNode, declarations, stated, localContext) {
63
- var statedDeclarationVerified = false;
64
- if (stated) {
65
- var declarationString = localContext.nodeAsString(declarationNode);
66
- localContext.trace("Verifying the '".concat(declarationString, "' stated declaration..."), declarationNode);
67
- var metaType = _metaType.referenceMetaType, metavariableNode = metavariableNodeQuery(declarationNode), metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
68
- if (metavariableVerifiedGivenMetaType) {
69
- var verifyStatement = _shim.default.verifyStatement, _$stated = true, assignments = null, statementNode = statementNodeQuery(declarationNode), statementVerified = verifyStatement(statementNode, assignments, _$stated, localContext);
70
- if (statementVerified) {
71
- var reference = _reference.default.fromMetavariableNode(metavariableNode), declaration = _declaration.default.fromReferenceAndStatementNode(reference, statementNode);
72
- declarations.push(declaration);
73
- statedDeclarationVerified = true;
74
- }
75
- }
76
- if (statedDeclarationVerified) {
77
- localContext.debug("...verified the '".concat(declarationString, "' stated declaration."), declarationNode);
78
- }
79
- }
80
- return statedDeclarationVerified;
81
- }
82
-
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuLi9yZWZlcmVuY2VcIjtcbmltcG9ydCBEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb25cIlxuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHJlZmVyZW5jZU1ldGFUeXBlIH0gZnJvbSBcIi4uL21ldGFUeXBlXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9kZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vcmVmZXJlbmNlL21ldGF2YXJpYWJsZVwiKTsgLy8vXG5cbmNvbnN0IHZlcmlmeURlY2xhcmF0aW9uRnVuY3Rpb25zID0gW1xuICB2ZXJpZnlEZXJpdmVkRGVjbGFyYXRpb24sXG4gIHZlcmlmeVN0YXRlZERlY2xhcmF0aW9uXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uLi5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeURlY2xhcmF0aW9uRnVuY3Rpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWREZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWREZWNsYXJhdGlvblZlcmlmaWVkO1xuXG4gIGlmICghc3RhdGVkKSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZXJpdmVkIGRlY2xhcmF0aW9uLi4uYCwgZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGNvbnN0IG1ldGFUeXBlID0gcmVmZXJlbmNlTWV0YVR5cGUsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSkge1xuICAgICAgY29uc3QgeyB2ZXJpZnlTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgICBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBudWxsLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IFJlZmVyZW5jZS5mcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgZGVjbGFyYXRpb24gPSBEZWNsYXJhdGlvbi5mcm9tUmVmZXJlbmNlQW5kU3RhdGVtZW50Tm9kZShyZWZlcmVuY2UsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIGRlY2xhcmF0aW9ucy5wdXNoKGRlY2xhcmF0aW9uKTtcblxuICAgICAgICBkZXJpdmVkRGVjbGFyYXRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWREZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlcml2ZWQgZGVjbGFyYXRpb24uYCwgZGVjbGFyYXRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZERlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uTm9kZSwgZGVjbGFyYXRpb25zLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkRGVjbGFyYXRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChzdGF0ZWQpIHtcbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIHN0YXRlZCBkZWNsYXJhdGlvbi4uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBtZXRhVHlwZSA9IHJlZmVyZW5jZU1ldGFUeXBlLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IHsgdmVyaWZ5U3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgc3RhdGVkID0gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gbnVsbCxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSBSZWZlcmVuY2UuZnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGRlY2xhcmF0aW9uID0gRGVjbGFyYXRpb24uZnJvbVJlZmVyZW5jZUFuZFN0YXRlbWVudE5vZGUocmVmZXJlbmNlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBkZWNsYXJhdGlvbnMucHVzaChkZWNsYXJhdGlvbik7XG5cbiAgICAgICAgc3RhdGVkRGVjbGFyYXRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZERlY2xhcmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgc3RhdGVkIGRlY2xhcmF0aW9uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZERlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RGVjbGFyYXRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJ2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWREZWNsYXJhdGlvbiIsInZlcmlmeVN0YXRlZERlY2xhcmF0aW9uIiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25zIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwiZGVjbGFyYXRpb25WZXJpZmllZCIsImRlY2xhcmF0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidmVyaWZ5RGVjbGFyYXRpb25GdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZERlY2xhcmF0aW9uVmVyaWZpZWQiLCJtZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSIsInZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzaGltIiwiYXNzaWdubWVudHMiLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJyZWZlcmVuY2UiLCJSZWZlcmVuY2UiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsImRlY2xhcmF0aW9uIiwiRGVjbGFyYXRpb24iLCJmcm9tUmVmZXJlbmNlQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJzdGF0ZWREZWNsYXJhdGlvblZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7OzsyREFoQlA7Z0VBQ0s7a0VBQ0U7Z0ZBQ29CO3FCQUVsQjt3QkFDUTs7Ozs7O0FBRWxDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQywyQkFDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQyx3Q0FBd0MsR0FBRztBQUVuRixJQUFNRSw2QkFBNkI7SUFDakNDO0lBQ0FDO0NBQ0Q7QUFFYyxTQUFTTixrQkFBa0JPLGVBQWUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDM0YsSUFBSUM7SUFFSixJQUFNQyxvQkFBb0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFcERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLHFCQUFtQkw7SUFFMUVJLHNCQUFzQlAsMkJBQTJCVyxJQUFJLENBQUMsU0FBQ0M7UUFDckQsSUFBTUwsc0JBQXNCSywwQkFBMEJULGlCQUFpQkMsY0FBY0MsUUFBUUM7UUFFN0YsSUFBSUMscUJBQXFCO1lBQ3ZCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJMLG1CQUFrQixtQkFBaUJMO0lBQzVFO0lBRUEsT0FBT0k7QUFDVDtBQUVBLFNBQVNOLHlCQUF5QkUsZUFBZSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUNuRixJQUFJUTtJQUVKLElBQUksQ0FBQ1QsUUFBUTtRQUNYLElBQU1HLG9CQUFvQkYsYUFBYUcsWUFBWSxDQUFDTjtRQUVwREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0IsNkJBQTJCTDtRQUVsRixJQUFNWSxXQUFXQywyQkFBaUIsRUFDNUJDLG1CQUFtQmxCLHNCQUFzQkksa0JBQ3pDZSxvQ0FBb0NDLElBQUFBLGtDQUErQixFQUFDRixrQkFBa0JGLFVBQVVUO1FBRXRHLElBQUlZLG1DQUFtQztZQUNyQyxJQUFNLEFBQUVFLGtCQUFvQkMsYUFBSSxDQUF4QkQsaUJBQ0ZmLFdBQVMsTUFDVGlCLGNBQWMsTUFDZEMsZ0JBQWdCMUIsbUJBQW1CTSxrQkFDbkNxQixvQkFBb0JKLGdCQUFnQkcsZUFBZUQsYUFBYWpCLFVBQVFDO1lBRTlFLElBQUlrQixtQkFBbUI7Z0JBQ3JCLElBQU1DLFlBQVlDLGtCQUFTLENBQUNDLG9CQUFvQixDQUFDVixtQkFDM0NXLGNBQWNDLG9CQUFXLENBQUNDLDZCQUE2QixDQUFDTCxXQUFXRjtnQkFFekVuQixhQUFhMkIsSUFBSSxDQUFDSDtnQkFFbEJkLDZCQUE2QjtZQUMvQjtRQUNGO1FBRUEsSUFBSUEsNEJBQTRCO1lBQzlCUixhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJMLG1CQUFrQiwyQkFBeUJMO1FBQ3BGO0lBQ0Y7SUFFQSxPQUFPVztBQUNUO0FBRUEsU0FBU1osd0JBQXdCQyxlQUFlLEVBQUVDLFlBQVksRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQ2xGLElBQUkwQiw0QkFBNEI7SUFFaEMsSUFBSTNCLFFBQVE7UUFDVixJQUFNRyxvQkFBb0JGLGFBQWFHLFlBQVksQ0FBQ047UUFFcERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLDRCQUEwQkw7UUFFakYsSUFBTVksV0FBV0MsMkJBQWlCLEVBQzVCQyxtQkFBbUJsQixzQkFBc0JJLGtCQUN6Q2Usb0NBQW9DQyxJQUFBQSxrQ0FBK0IsRUFBQ0Ysa0JBQWtCRixVQUFVVDtRQUV0RyxJQUFJWSxtQ0FBbUM7WUFDckMsSUFBTSxBQUFFRSxrQkFBb0JDLGFBQUksQ0FBeEJELGlCQUNGZixXQUFTLE1BQ1RpQixjQUFjLE1BQ2RDLGdCQUFnQjFCLG1CQUFtQk0sa0JBQ25DcUIsb0JBQW9CSixnQkFBZ0JHLGVBQWVELGFBQWFqQixVQUFRQztZQUU5RSxJQUFJa0IsbUJBQW1CO2dCQUNyQixJQUFNQyxZQUFZQyxrQkFBUyxDQUFDQyxvQkFBb0IsQ0FBQ1YsbUJBQzNDVyxjQUFjQyxvQkFBVyxDQUFDQyw2QkFBNkIsQ0FBQ0wsV0FBV0Y7Z0JBRXpFbkIsYUFBYTJCLElBQUksQ0FBQ0g7Z0JBRWxCSSw0QkFBNEI7WUFDOUI7UUFDRjtRQUVBLElBQUlBLDJCQUEyQjtZQUM3QjFCLGFBQWFPLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQkwsbUJBQWtCLDBCQUF3Qkw7UUFDbkY7SUFDRjtJQUVBLE9BQU82QjtBQUNUIn0=