occam-verify-cli 0.0.915 → 0.0.916
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.
- package/lib/assignment/judgement.js +62 -0
- package/lib/context/file.js +5 -5
- package/lib/context/local/metaLevel.js +31 -31
- package/lib/judgement.js +87 -0
- package/lib/verify/frame.js +6 -6
- package/lib/verify/judgement.js +121 -0
- package/lib/verify/metastatement.js +16 -16
- package/package.json +2 -2
- package/src/assignment/judgement.js +30 -0
- package/src/context/file.js +3 -3
- package/src/context/local/metaLevel.js +35 -35
- package/src/{frameAssertion.js → judgement.js} +5 -5
- package/src/verify/frame.js +5 -5
- package/src/verify/{frameAssertion.js → judgement.js} +46 -46
- package/src/verify/metastatement.js +15 -15
- package/lib/assignment/frameAssertion.js +0 -62
- package/lib/frameAssertion.js +0 -87
- package/lib/verify/frameAssertion.js +0 -121
- package/src/assignment/frameAssertion.js +0 -30
package/src/verify/frame.js
CHANGED
|
@@ -62,16 +62,16 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
|
|
|
62
62
|
const metaType = metavariable.getMetaType();
|
|
63
63
|
|
|
64
64
|
if (metaType === frameMetaType) {
|
|
65
|
-
const
|
|
65
|
+
const judgement = localContext.findJudgementByMetavariableNode(metavariableNode);
|
|
66
66
|
|
|
67
|
-
if (
|
|
68
|
-
const
|
|
67
|
+
if (judgement !== null) {
|
|
68
|
+
const judgementDeclarations = judgement.getDeclarations();
|
|
69
69
|
|
|
70
|
-
push(declarations,
|
|
70
|
+
push(declarations, judgementDeclarations);
|
|
71
71
|
|
|
72
72
|
metavariableVerified = true;
|
|
73
73
|
} else {
|
|
74
|
-
localContext.debug(`There is no
|
|
74
|
+
localContext.debug(`There is no judgement for the '${metavariableString}' metavariable.`, metavariableNode);
|
|
75
75
|
}
|
|
76
76
|
} else {
|
|
77
77
|
const frameMetaTypeName = frameMetaType.getName(),
|
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Judgement from "../judgement";
|
|
3
4
|
import verifyFrame from "../verify/frame";
|
|
4
5
|
import frameMetaType from "../metaType/frame";
|
|
5
|
-
import
|
|
6
|
-
import FrameAssertionAssignment from "../assignment/frameAssertion";
|
|
6
|
+
import JudgementAssignment from "../assignment/judgement";
|
|
7
7
|
|
|
8
8
|
import { first } from "../utilities/array";
|
|
9
9
|
import { nodeQuery } from "../utilities/query";
|
|
10
10
|
|
|
11
|
-
const frameNodeQuery = nodeQuery("/
|
|
12
|
-
metavariableNodeQuery = nodeQuery("/
|
|
11
|
+
const frameNodeQuery = nodeQuery("/judgement/frame!"),
|
|
12
|
+
metavariableNodeQuery = nodeQuery("/judgement/metavariable!");
|
|
13
13
|
|
|
14
|
-
export default function
|
|
15
|
-
let
|
|
14
|
+
export default function verifyJudgement(judgementNode, assignments, derived, localContext) {
|
|
15
|
+
let judgementVerified;
|
|
16
16
|
|
|
17
|
-
const
|
|
17
|
+
const judgementString = localContext.nodeAsString(judgementNode);
|
|
18
18
|
|
|
19
|
-
localContext.trace(`Verifying the '${
|
|
19
|
+
localContext.trace(`Verifying the '${judgementString}' judgement...`, judgementNode);
|
|
20
20
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const verifyJudgementFunctions = [
|
|
22
|
+
verifyDerivedJudgement,
|
|
23
|
+
verifyStatedJudgement
|
|
24
24
|
];
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
const
|
|
26
|
+
judgementVerified = verifyJudgementFunctions.some((verifyJudgementFunction) => {
|
|
27
|
+
const judgementVerified = verifyJudgementFunction(judgementNode, assignments, derived, localContext);
|
|
28
28
|
|
|
29
|
-
if (
|
|
29
|
+
if (judgementVerified) {
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
if (
|
|
35
|
-
localContext.debug(`...verified the '${
|
|
34
|
+
if (judgementVerified) {
|
|
35
|
+
localContext.debug(`...verified the '${judgementString}' judgement.`, judgementNode);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
return
|
|
38
|
+
return judgementVerified;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
function
|
|
42
|
-
let
|
|
41
|
+
function verifyDerivedJudgement(judgementNode, assignments, derived, localContext) {
|
|
42
|
+
let derivedJudgementVerified = false;
|
|
43
43
|
|
|
44
44
|
if (derived) {
|
|
45
|
-
const
|
|
45
|
+
const judgementString = localContext.nodeAsString(judgementNode);
|
|
46
46
|
|
|
47
|
-
localContext.trace(`Verifying the '${
|
|
47
|
+
localContext.trace(`Verifying the '${judgementString}' derived judgement...`, judgementNode);
|
|
48
48
|
|
|
49
|
-
const metavariableNode = metavariableNodeQuery(
|
|
49
|
+
const metavariableNode = metavariableNodeQuery(judgementNode),
|
|
50
50
|
metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
51
51
|
|
|
52
52
|
if (metavariableVerified) {
|
|
53
|
-
const
|
|
53
|
+
const judgement = localContext.findJudgementByMetavariableNode(metavariableNode);
|
|
54
54
|
|
|
55
|
-
if (
|
|
55
|
+
if (judgement !== null) {
|
|
56
56
|
const frames = [],
|
|
57
|
-
frameNode = frameNodeQuery(
|
|
57
|
+
frameNode = frameNodeQuery(judgementNode),
|
|
58
58
|
frameVerified = verifyFrame(frameNode, frames, assignments, derived, localContext);
|
|
59
59
|
|
|
60
60
|
if (frameVerified) {
|
|
@@ -71,70 +71,70 @@ function verifyDerivedFrameAssertion(frameAssertionNode, assignments, derived, l
|
|
|
71
71
|
|
|
72
72
|
if (metaLemmaMetatheorem !== null) {
|
|
73
73
|
const declarationMatchesMetaLemmaMetatheorem = declaration.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem),
|
|
74
|
-
|
|
74
|
+
judgementMatchesMetaLemmaMetatheorem = judgement.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
derivedJudgementVerified = (declarationMatchesMetaLemmaMetatheorem && judgementMatchesMetaLemmaMetatheorem);
|
|
77
77
|
} else {
|
|
78
78
|
const metavariableString = localContext.nodeAsString(metavariableNode);
|
|
79
79
|
|
|
80
|
-
localContext.debug(`There are no meta-lemmas or metatheorems corresponding to the '${metavariableString}' metavariable.`,
|
|
80
|
+
localContext.debug(`There are no meta-lemmas or metatheorems corresponding to the '${metavariableString}' metavariable.`, judgementNode);
|
|
81
81
|
}
|
|
82
82
|
} else {
|
|
83
83
|
const frameString = localContext.nodeAsString(frameNode);
|
|
84
84
|
|
|
85
|
-
localContext.debug(`The '${frameString}' is not singular.`,
|
|
85
|
+
localContext.debug(`The '${frameString}' is not singular.`, judgementNode);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
} else {
|
|
89
89
|
const metavariableString = localContext.nodeAsString(metavariableNode);
|
|
90
90
|
|
|
91
|
-
localContext.debug(`There is no
|
|
91
|
+
localContext.debug(`There is no judgement present for the '${metavariableString}' metavariable.`, judgementNode);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
if (
|
|
96
|
-
localContext.debug(`...verified the '${
|
|
95
|
+
if (derivedJudgementVerified) {
|
|
96
|
+
localContext.debug(`...verified the '${judgementString}' derived judgement.`, judgementNode);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
return
|
|
100
|
+
return derivedJudgementVerified;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
function
|
|
104
|
-
let
|
|
103
|
+
function verifyStatedJudgement(judgementNode, assignments, derived, localContext) {
|
|
104
|
+
let statedJudgementVerified = false;
|
|
105
105
|
|
|
106
106
|
if (!derived) {
|
|
107
|
-
const
|
|
107
|
+
const judgementString = localContext.nodeAsString(judgementNode);
|
|
108
108
|
|
|
109
|
-
localContext.trace(`Verifying the '${
|
|
109
|
+
localContext.trace(`Verifying the '${judgementString}' stated judgement...`, judgementNode);
|
|
110
110
|
|
|
111
|
-
const metavariableNode = metavariableNodeQuery(
|
|
111
|
+
const metavariableNode = metavariableNodeQuery(judgementNode),
|
|
112
112
|
metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
113
113
|
|
|
114
114
|
if (metavariableVerified) {
|
|
115
115
|
const frames = [],
|
|
116
|
-
frameNode = frameNodeQuery(
|
|
116
|
+
frameNode = frameNodeQuery(judgementNode),
|
|
117
117
|
frameVerified = verifyFrame(frameNode, frames, assignments, derived, localContext);
|
|
118
118
|
|
|
119
119
|
if (frameVerified) {
|
|
120
120
|
const firstFrame = first(frames),
|
|
121
121
|
frame = firstFrame, ///
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
assignment =
|
|
122
|
+
judgement = Judgement.fromJudgementNodeFrameAndMetavariableNode(judgementNode, frame, metavariableNode),
|
|
123
|
+
judgementAssignment = JudgementAssignment.fromJudgement(judgement),
|
|
124
|
+
assignment = judgementAssignment;
|
|
125
125
|
|
|
126
126
|
assignments.push(assignment);
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
statedJudgementVerified = true;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
if (
|
|
133
|
-
localContext.debug(`...verified the '${
|
|
132
|
+
if (statedJudgementVerified) {
|
|
133
|
+
localContext.debug(`...verified the '${judgementString}' stated judgement.`, judgementNode);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
return
|
|
137
|
+
return statedJudgementVerified;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
function verifyMetavariable(metavariableNode, localContext) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import verifyJudgement from "../verify/judgement";
|
|
4
4
|
import metaLevelNodeVerifier from "../verifier/node/metaLevel";
|
|
5
5
|
|
|
6
6
|
import { nodeQuery } from "../utilities/query";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const judgementNodeQuery = nodeQuery("/metastatement/judgement!");
|
|
9
9
|
|
|
10
10
|
function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
|
|
11
11
|
let metastatementVerified;
|
|
@@ -15,7 +15,7 @@ function verifyMetastatement(metastatementNode, assignments, derived, localConte
|
|
|
15
15
|
localContext.trace(`Verifying the '${metastatementString}' metastatement...`, metastatementNode);
|
|
16
16
|
|
|
17
17
|
const verifyMetaStatementFunctions = [
|
|
18
|
-
|
|
18
|
+
verifyMetastatementAsJudgement,
|
|
19
19
|
verifyMetastatementAsIs
|
|
20
20
|
];
|
|
21
21
|
|
|
@@ -40,34 +40,34 @@ Object.assign(metaLevelNodeVerifier, {
|
|
|
40
40
|
|
|
41
41
|
export default verifyMetastatement;
|
|
42
42
|
|
|
43
|
-
function
|
|
44
|
-
let
|
|
43
|
+
function verifyMetastatementAsJudgement(metastatementNode, assignments, derived, localContext) {
|
|
44
|
+
let metastatementVerifiedAsJudgement = false;
|
|
45
45
|
|
|
46
|
-
const
|
|
46
|
+
const judgementNode = judgementNodeQuery(metastatementNode);
|
|
47
47
|
|
|
48
|
-
if (
|
|
48
|
+
if (judgementNode !== null) {
|
|
49
49
|
const metastatementString = localContext.nodeAsString(metastatementNode);
|
|
50
50
|
|
|
51
|
-
localContext.trace(`Verifying the '${metastatementString}' metastatement as a
|
|
51
|
+
localContext.trace(`Verifying the '${metastatementString}' metastatement as a judgement...`, metastatementNode);
|
|
52
52
|
|
|
53
|
-
const
|
|
53
|
+
const judgementVerified = verifyJudgement(judgementNode, assignments, derived, localContext);
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
metastatementVerifiedAsJudgement = judgementVerified; ///
|
|
56
56
|
|
|
57
|
-
if (
|
|
58
|
-
localContext.debug(`...verified the '${metastatementString}' metastatement as a
|
|
57
|
+
if (metastatementVerifiedAsJudgement) {
|
|
58
|
+
localContext.debug(`...verified the '${metastatementString}' metastatement as a judgement.`, metastatementNode);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
return
|
|
62
|
+
return metastatementVerifiedAsJudgement;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
function verifyMetastatementAsIs(metastatementNode, assignments, derived, localContext) {
|
|
66
66
|
let metastatementVerifiedAsIs;
|
|
67
67
|
|
|
68
|
-
const
|
|
68
|
+
const judgementNode = judgementNodeQuery(metastatementNode);
|
|
69
69
|
|
|
70
|
-
if (
|
|
70
|
+
if (judgementNode === null) {
|
|
71
71
|
const metastatementString = localContext.nodeAsString(metastatementNode);
|
|
72
72
|
|
|
73
73
|
localContext.trace(`Verifying the '${metastatementString}' metastatement as is...`, metastatementNode);
|
|
@@ -1,62 +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 FrameAssertionAssignment;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function _class_call_check(instance, Constructor) {
|
|
12
|
-
if (!(instance instanceof Constructor)) {
|
|
13
|
-
throw new TypeError("Cannot call a class as a function");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function _defineProperties(target, props) {
|
|
17
|
-
for(var i = 0; i < props.length; i++){
|
|
18
|
-
var descriptor = props[i];
|
|
19
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
20
|
-
descriptor.configurable = true;
|
|
21
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
22
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
26
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
27
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
-
return Constructor;
|
|
29
|
-
}
|
|
30
|
-
var FrameAssertionAssignment = /*#__PURE__*/ function() {
|
|
31
|
-
function FrameAssertionAssignment(frameAssertion) {
|
|
32
|
-
_class_call_check(this, FrameAssertionAssignment);
|
|
33
|
-
this.frameAssertion = frameAssertion;
|
|
34
|
-
}
|
|
35
|
-
_create_class(FrameAssertionAssignment, [
|
|
36
|
-
{
|
|
37
|
-
key: "getFrameAssertion",
|
|
38
|
-
value: function getFrameAssertion() {
|
|
39
|
-
return this.frameAssertion;
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
key: "assign",
|
|
44
|
-
value: function assign(localContext) {
|
|
45
|
-
var frameAssertionAdded = localContext.addFrameAssertion(this.frameAssertion), frameAssertionNode = this.frameAssertion.getNode(), frameAssertionString = localContext.nodeAsString(frameAssertionNode), frameAssertionAssigned = frameAssertionAdded; ///
|
|
46
|
-
frameAssertionAssigned ? localContext.trace("Assigned the '".concat(frameAssertionString, "' frame assertion."), frameAssertionNode) : localContext.debug("Unable to assign the '".concat(frameAssertionString, "' frame assertion."), frameAssertionNode);
|
|
47
|
-
return frameAssertionAssigned;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
], [
|
|
51
|
-
{
|
|
52
|
-
key: "fromFrameAssertion",
|
|
53
|
-
value: function fromFrameAssertion(frameAssertion) {
|
|
54
|
-
var frameAssertionAssignment = new FrameAssertionAssignment(frameAssertion);
|
|
55
|
-
return frameAssertionAssignment;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
]);
|
|
59
|
-
return FrameAssertionAssignment;
|
|
60
|
-
}();
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L2ZyYW1lQXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3RvcihmcmFtZUFzc2VydGlvbikge1xuICAgIHRoaXMuZnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvbjtcbiAgfVxuXG4gIGdldEZyYW1lQXNzZXJ0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lQXNzZXJ0aW9uO1xuICB9XG5cbiAgYXNzaWduKGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uQWRkZWQgPSBsb2NhbENvbnRleHQuYWRkRnJhbWVBc3NlcnRpb24odGhpcy5mcmFtZUFzc2VydGlvbiksXG4gICAgICAgICAgZnJhbWVBc3NlcnRpb25Ob2RlID0gdGhpcy5mcmFtZUFzc2VydGlvbi5nZXROb2RlKCksXG4gICAgICAgICAgZnJhbWVBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgZnJhbWVBc3NlcnRpb25Bc3NpZ25lZCA9IGZyYW1lQXNzZXJ0aW9uQWRkZWQ7IC8vL1xuXG4gICAgZnJhbWVBc3NlcnRpb25Bc3NpZ25lZCA/XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYEFzc2lnbmVkIHRoZSAnJHtmcmFtZUFzc2VydGlvblN0cmluZ30nIGZyYW1lIGFzc2VydGlvbi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpIDpcbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBVbmFibGUgdG8gYXNzaWduIHRoZSAnJHtmcmFtZUFzc2VydGlvblN0cmluZ30nIGZyYW1lIGFzc2VydGlvbi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgcmV0dXJuIGZyYW1lQXNzZXJ0aW9uQXNzaWduZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZyYW1lQXNzZXJ0aW9uKGZyYW1lQXNzZXJ0aW9uKSB7XG4gICAgY29uc3QgZnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50ID0gbmV3IEZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudChmcmFtZUFzc2VydGlvbik7XG5cbiAgICByZXR1cm4gZnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50IiwiZnJhbWVBc3NlcnRpb24iLCJnZXRGcmFtZUFzc2VydGlvbiIsImFzc2lnbiIsImxvY2FsQ29udGV4dCIsImZyYW1lQXNzZXJ0aW9uQWRkZWQiLCJhZGRGcmFtZUFzc2VydGlvbiIsImZyYW1lQXNzZXJ0aW9uTm9kZSIsImdldE5vZGUiLCJmcmFtZUFzc2VydGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsImZyYW1lQXNzZXJ0aW9uQXNzaWduZWQiLCJ0cmFjZSIsImRlYnVnIiwiZnJvbUZyYW1lQXNzZXJ0aW9uIiwiZnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHlDQUFELEFBQUw7YUFBTUEseUJBQ1BDLGNBQWM7Z0NBRFBEO1FBRWpCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTs7a0JBRkxEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxjQUFjO1lBQzVCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFlBQVk7Z0JBQ2pCLElBQU1DLHNCQUFzQkQsYUFBYUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDTCxjQUFjLEdBQ3hFTSxxQkFBcUIsSUFBSSxDQUFDTixjQUFjLENBQUNPLE9BQU8sSUFDaERDLHVCQUF1QkwsYUFBYU0sWUFBWSxDQUFDSCxxQkFDakRJLHlCQUF5Qk4scUJBQXFCLEdBQUc7Z0JBRXZETSx5QkFDRVAsYUFBYVEsS0FBSyxDQUFDLEFBQUMsaUJBQXFDLE9BQXJCSCxzQkFBcUIsdUJBQXFCRixzQkFDNUVILGFBQWFTLEtBQUssQ0FBQyxBQUFDLHlCQUE2QyxPQUFyQkosc0JBQXFCLHVCQUFxQkY7Z0JBRTFGLE9BQU9JO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsbUJBQW1CYixjQUFjO2dCQUN0QyxJQUFNYywyQkFBMkIsSUF2QmhCZix5QkF1QjZDQztnQkFFOUQsT0FBT2M7WUFDVDs7O1dBMUJtQmYifQ==
|
package/lib/frameAssertion.js
DELETED
|
@@ -1,87 +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 FrameAssertion;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function _class_call_check(instance, Constructor) {
|
|
12
|
-
if (!(instance instanceof Constructor)) {
|
|
13
|
-
throw new TypeError("Cannot call a class as a function");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function _defineProperties(target, props) {
|
|
17
|
-
for(var i = 0; i < props.length; i++){
|
|
18
|
-
var descriptor = props[i];
|
|
19
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
20
|
-
descriptor.configurable = true;
|
|
21
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
22
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
26
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
27
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
-
return Constructor;
|
|
29
|
-
}
|
|
30
|
-
var FrameAssertion = /*#__PURE__*/ function() {
|
|
31
|
-
function FrameAssertion(node, frame, metavariableNode) {
|
|
32
|
-
_class_call_check(this, FrameAssertion);
|
|
33
|
-
this.node = node;
|
|
34
|
-
this.frame = frame;
|
|
35
|
-
this.metavariableNode = metavariableNode;
|
|
36
|
-
}
|
|
37
|
-
_create_class(FrameAssertion, [
|
|
38
|
-
{
|
|
39
|
-
key: "getNode",
|
|
40
|
-
value: function getNode() {
|
|
41
|
-
return this.node;
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: "getFrame",
|
|
46
|
-
value: function getFrame() {
|
|
47
|
-
return this.frame;
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
key: "getMetavariableNode",
|
|
52
|
-
value: function getMetavariableNode() {
|
|
53
|
-
return this.metavariableNode;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "getDeclarations",
|
|
58
|
-
value: function getDeclarations() {
|
|
59
|
-
return this.frame.getDeclarations();
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
key: "matchMetavariableNode",
|
|
64
|
-
value: function matchMetavariableNode(metavariableNode) {
|
|
65
|
-
var matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
|
|
66
|
-
return matchesMetavariableNode;
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
key: "matchMetaLemmaOrMetaTheorem",
|
|
71
|
-
value: function matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem) {
|
|
72
|
-
return this.frame.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
], [
|
|
76
|
-
{
|
|
77
|
-
key: "fromFrameAssertionNodeFrameAndMetavariableNode",
|
|
78
|
-
value: function fromFrameAssertionNodeFrameAndMetavariableNode(frameAssertionNode, frame, metavariableNode) {
|
|
79
|
-
var node = frameAssertionNode, frameAssertion = new FrameAssertion(node, frame, metavariableNode);
|
|
80
|
-
return frameAssertion;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
]);
|
|
84
|
-
return FrameAssertion;
|
|
85
|
-
}();
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFtZUFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnJhbWVBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3Rvcihub2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5mcmFtZSA9IGZyYW1lO1xuICAgIHRoaXMubWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRGcmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mcmFtZTtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIGdldERlY2xhcmF0aW9ucygpIHsgcmV0dXJuIHRoaXMuZnJhbWUuZ2V0RGVjbGFyYXRpb25zKCk7IH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNNZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGVOb2RlLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNNZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtKSB7IHJldHVybiB0aGlzLmZyYW1lLm1hdGNoTWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSk7IH1cblxuICBzdGF0aWMgZnJvbUZyYW1lQXNzZXJ0aW9uTm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShmcmFtZUFzc2VydGlvbk5vZGUsIGZyYW1lLCBtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3Qgbm9kZSA9IGZyYW1lQXNzZXJ0aW9uTm9kZSxcbiAgICAgICAgICBmcmFtZUFzc2VydGlvbiA9IG5ldyBGcmFtZUFzc2VydGlvbihub2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gZnJhbWVBc3NlcnRpb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGcmFtZUFzc2VydGlvbiIsIm5vZGUiLCJmcmFtZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlIiwiZ2V0RnJhbWUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiZ2V0RGVjbGFyYXRpb25zIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUiLCJtYXRjaCIsIm1hdGNoTWV0YUxlbW1hT3JNZXRhVGhlb3JlbSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtIiwiZnJvbUZyYW1lQXNzZXJ0aW9uTm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lQXNzZXJ0aW9uTm9kZSIsImZyYW1lQXNzZXJ0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLCtCQUFELEFBQUw7YUFBTUEsZUFDUEMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLGdCQUFnQjtnQ0FEdEJIO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBOztrQkFKUEg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGdCQUFnQjtZQUM5Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBb0IsT0FBTyxJQUFJLENBQUNMLEtBQUssQ0FBQ0ssZUFBZTtZQUFJOzs7WUFFekRDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JMLGdCQUFnQjtnQkFDcEMsSUFBTU0sMEJBQTBCLElBQUksQ0FBQ04sZ0JBQWdCLENBQUNPLEtBQUssQ0FBQ1A7Z0JBRTVELE9BQU9NO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsNEJBQTRCQyxvQkFBb0I7Z0JBQUksT0FBTyxJQUFJLENBQUNWLEtBQUssQ0FBQ1MsMkJBQTJCLENBQUNDO1lBQXVCOzs7O1lBRWxIQyxLQUFBQTttQkFBUCxTQUFPQSwrQ0FBK0NDLGtCQUFrQixFQUFFWixLQUFLLEVBQUVDLGdCQUFnQjtnQkFDL0YsSUFBTUYsT0FBT2Esb0JBQ1BDLGlCQUFpQixJQS9CTmYsZUErQnlCQyxNQUFNQyxPQUFPQztnQkFFdkQsT0FBT1k7WUFDVDs7O1dBbENtQmYifQ==
|
|
@@ -1,121 +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 verifyFrameAssertion;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _frame = /*#__PURE__*/ _interop_require_default(require("../verify/frame"));
|
|
12
|
-
var _frame1 = /*#__PURE__*/ _interop_require_default(require("../metaType/frame"));
|
|
13
|
-
var _frameAssertion = /*#__PURE__*/ _interop_require_default(require("../frameAssertion"));
|
|
14
|
-
var _frameAssertion1 = /*#__PURE__*/ _interop_require_default(require("../assignment/frameAssertion"));
|
|
15
|
-
var _array = require("../utilities/array");
|
|
16
|
-
var _query = require("../utilities/query");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
var frameNodeQuery = (0, _query.nodeQuery)("/frameAssertion/frame!"), metavariableNodeQuery = (0, _query.nodeQuery)("/frameAssertion/metavariable!");
|
|
23
|
-
function verifyFrameAssertion(frameAssertionNode, assignments, derived, localContext) {
|
|
24
|
-
var frameAssertionVerified;
|
|
25
|
-
var frameAssertionString = localContext.nodeAsString(frameAssertionNode);
|
|
26
|
-
localContext.trace("Verifying the '".concat(frameAssertionString, "' frame assertion..."), frameAssertionNode);
|
|
27
|
-
var verifyFrameAssertionFunctions = [
|
|
28
|
-
verifyDerivedFrameAssertion,
|
|
29
|
-
verifyStatedFrameAssertion
|
|
30
|
-
];
|
|
31
|
-
frameAssertionVerified = verifyFrameAssertionFunctions.some(function(verifyFrameAssertionFunction) {
|
|
32
|
-
var frameAssertionVerified = verifyFrameAssertionFunction(frameAssertionNode, assignments, derived, localContext);
|
|
33
|
-
if (frameAssertionVerified) {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
if (frameAssertionVerified) {
|
|
38
|
-
localContext.debug("...verified the '".concat(frameAssertionString, "' frame assertion."), frameAssertionNode);
|
|
39
|
-
}
|
|
40
|
-
return frameAssertionVerified;
|
|
41
|
-
}
|
|
42
|
-
function verifyDerivedFrameAssertion(frameAssertionNode, assignments, derived, localContext) {
|
|
43
|
-
var derivedFrameAssertionVerified = false;
|
|
44
|
-
if (derived) {
|
|
45
|
-
var frameAssertionString = localContext.nodeAsString(frameAssertionNode);
|
|
46
|
-
localContext.trace("Verifying the '".concat(frameAssertionString, "' derived frame assertion..."), frameAssertionNode);
|
|
47
|
-
var metavariableNode = metavariableNodeQuery(frameAssertionNode), metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
48
|
-
if (metavariableVerified) {
|
|
49
|
-
var frameAssertion = localContext.findFrameAssertionByMetavariableNode(metavariableNode);
|
|
50
|
-
if (frameAssertion !== null) {
|
|
51
|
-
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localContext);
|
|
52
|
-
if (frameVerified) {
|
|
53
|
-
var firstFrame = (0, _array.first)(frames), frame = firstFrame, frameSingular = frame.isSingular();
|
|
54
|
-
if (frameSingular) {
|
|
55
|
-
var declaration = frame.getDeclaration(), metavariableNode1 = declaration.getMetavariableNode(), metaLemma = localContext.findMetaLemmaByMetavariableNode(metavariableNode1), metatheorem = localContext.findMetatheoremByMetavariableNode(metavariableNode1), metaLemmaMetatheorem = metaLemma || metatheorem; ///
|
|
56
|
-
if (metaLemmaMetatheorem !== null) {
|
|
57
|
-
var declarationMatchesMetaLemmaMetatheorem = declaration.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem), frameAssertionMatchesMetaLemmaMetatheorem = frameAssertion.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
58
|
-
derivedFrameAssertionVerified = declarationMatchesMetaLemmaMetatheorem && frameAssertionMatchesMetaLemmaMetatheorem;
|
|
59
|
-
} else {
|
|
60
|
-
var metavariableString = localContext.nodeAsString(metavariableNode1);
|
|
61
|
-
localContext.debug("There are no meta-lemmas or metatheorems corresponding to the '".concat(metavariableString, "' metavariable."), frameAssertionNode);
|
|
62
|
-
}
|
|
63
|
-
} else {
|
|
64
|
-
var frameString = localContext.nodeAsString(frameNode);
|
|
65
|
-
localContext.debug("The '".concat(frameString, "' is not singular."), frameAssertionNode);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
} else {
|
|
69
|
-
var metavariableString1 = localContext.nodeAsString(metavariableNode);
|
|
70
|
-
localContext.debug("There is no frameAssertion present for the '".concat(metavariableString1, "' metavariable."), frameAssertionNode);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (derivedFrameAssertionVerified) {
|
|
74
|
-
localContext.debug("...verified the '".concat(frameAssertionString, "' derived frame assertion."), frameAssertionNode);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return derivedFrameAssertionVerified;
|
|
78
|
-
}
|
|
79
|
-
function verifyStatedFrameAssertion(frameAssertionNode, assignments, derived, localContext) {
|
|
80
|
-
var statedFrameAssertionVerified = false;
|
|
81
|
-
if (!derived) {
|
|
82
|
-
var frameAssertionString = localContext.nodeAsString(frameAssertionNode);
|
|
83
|
-
localContext.trace("Verifying the '".concat(frameAssertionString, "' stated frame assertion..."), frameAssertionNode);
|
|
84
|
-
var metavariableNode = metavariableNodeQuery(frameAssertionNode), metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
85
|
-
if (metavariableVerified) {
|
|
86
|
-
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localContext);
|
|
87
|
-
if (frameVerified) {
|
|
88
|
-
var firstFrame = (0, _array.first)(frames), frame = firstFrame, frameAssertion = _frameAssertion.default.fromFrameAssertionNodeFrameAndMetavariableNode(frameAssertionNode, frame, metavariableNode), frameAssertionAssignment = _frameAssertion1.default.fromFrameAssertion(frameAssertion), assignment = frameAssertionAssignment;
|
|
89
|
-
assignments.push(assignment);
|
|
90
|
-
statedFrameAssertionVerified = true;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (statedFrameAssertionVerified) {
|
|
94
|
-
localContext.debug("...verified the '".concat(frameAssertionString, "' stated frame assertion."), frameAssertionNode);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return statedFrameAssertionVerified;
|
|
98
|
-
}
|
|
99
|
-
function verifyMetavariable(metavariableNode, localContext) {
|
|
100
|
-
var metavariableVerified = false;
|
|
101
|
-
var metavariableString = localContext.nodeAsString(metavariableNode);
|
|
102
|
-
localContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
|
|
103
|
-
var metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode, localContext);
|
|
104
|
-
if (metavariable !== null) {
|
|
105
|
-
var metaType = metavariable.getMetaType();
|
|
106
|
-
if (metaType === _frame1.default) {
|
|
107
|
-
metavariableVerified = true;
|
|
108
|
-
} else {
|
|
109
|
-
var frameMetaTypeName = _frame1.default.getName(), metaTypeString = metaType.asString();
|
|
110
|
-
localContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(frameMetaTypeName, "'."), metavariableNode);
|
|
111
|
-
}
|
|
112
|
-
} else {
|
|
113
|
-
localContext.debug("The '".concat(metavariableString, "' metavariable is not present'."), metavariableNode);
|
|
114
|
-
}
|
|
115
|
-
if (metavariableVerified) {
|
|
116
|
-
localContext.debug("...verified the '".concat(metavariableString, "' metavariable."), metavariableNode);
|
|
117
|
-
}
|
|
118
|
-
return metavariableVerified;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWVBc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbiBmcm9tIFwiLi4vZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvZnJhbWVBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGZyYW1lTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2ZyYW1lQXNzZXJ0aW9uL2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9mcmFtZUFzc2VydGlvbi9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZnJhbWUgYXNzZXJ0aW9uLi4uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkRnJhbWVBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVkRnJhbWVBc3NlcnRpb25cbiAgXTtcblxuICBmcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgodmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9uKGZyYW1lQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoZnJhbWVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoZnJhbWVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZnJhbWUgYXNzZXJ0aW9uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gZnJhbWVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZEZyYW1lQXNzZXJ0aW9uKGZyYW1lQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhmcmFtZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBmcmFtZSBhc3NlcnRpb24uLi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uID0gbG9jYWxDb250ZXh0LmZpbmRGcmFtZUFzc2VydGlvbkJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGZyYW1lQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShmcmFtZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgICBmcmFtZVZlcmlmaWVkID0gdmVyaWZ5RnJhbWUoZnJhbWVOb2RlLCBmcmFtZXMsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgICAgZnJhbWUgPSBmaXJzdEZyYW1lLCAvLy9cbiAgICAgICAgICAgICAgICBmcmFtZVNpbmd1bGFyID0gZnJhbWUuaXNTaW5ndWxhcigpO1xuXG4gICAgICAgICAgaWYgKGZyYW1lU2luZ3VsYXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gZnJhbWUuZ2V0RGVjbGFyYXRpb24oKSxcbiAgICAgICAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBkZWNsYXJhdGlvbi5nZXRNZXRhdmFyaWFibGVOb2RlKCksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWEgPSBsb2NhbENvbnRleHQuZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgIG1ldGF0aGVvcmVtID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdGhlb3JlbUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgIG1ldGFMZW1tYU1ldGF0aGVvcmVtID0gKG1ldGFMZW1tYSB8fCBtZXRhdGhlb3JlbSk7ICAvLy9cblxuICAgICAgICAgICAgaWYgKG1ldGFMZW1tYU1ldGF0aGVvcmVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtID0gZGVjbGFyYXRpb24ubWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtKSxcbiAgICAgICAgICAgICAgICAgICAgZnJhbWVBc3NlcnRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0gPSBmcmFtZUFzc2VydGlvbi5tYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgICAgIGRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkID0gKGRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtICYmIGZyYW1lQXNzZXJ0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7ZnJhbWVTdHJpbmd9JyBpcyBub3Qgc2luZ3VsYXIuYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBpcyBubyBmcmFtZUFzc2VydGlvbiBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtmcmFtZUFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgZnJhbWUgYXNzZXJ0aW9uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBmcmFtZUFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtmcmFtZUFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBmcmFtZSBhc3NlcnRpb24uLi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoZnJhbWVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZShmcmFtZU5vZGUsIGZyYW1lcywgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICBmcmFtZSA9IGZpcnN0RnJhbWUsIC8vL1xuICAgICAgICAgICAgICBmcmFtZUFzc2VydGlvbiA9IEZyYW1lQXNzZXJ0aW9uLmZyb21GcmFtZUFzc2VydGlvbk5vZGVGcmFtZUFuZE1ldGF2YXJpYWJsZU5vZGUoZnJhbWVBc3NlcnRpb25Ob2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudCA9IEZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudC5mcm9tRnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb24pLFxuICAgICAgICAgICAgICBhc3NpZ25tZW50ID0gZnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50O1xuXG4gICAgICAgIGFzc2lnbm1lbnRzLnB1c2goYXNzaWdubWVudCk7XG5cbiAgICAgICAgc3RhdGVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGZyYW1lIGFzc2VydGlvbi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICBpZiAobWV0YVR5cGUgPT09IGZyYW1lTWV0YVR5cGUpIHtcbiAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJhbWVNZXRhVHlwZU5hbWUgPSBmcmFtZU1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7ZnJhbWVNZXRhVHlwZU5hbWV9Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGlzIG5vdCBwcmVzZW50Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlGcmFtZUFzc2VydGlvbiIsImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiZnJhbWVBc3NlcnRpb25Ob2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwiZnJhbWVBc3NlcnRpb25WZXJpZmllZCIsImZyYW1lQXNzZXJ0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRGcmFtZUFzc2VydGlvbiIsInZlcmlmeVN0YXRlZEZyYW1lQXNzZXJ0aW9uIiwic29tZSIsInZlcmlmeUZyYW1lQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwiZnJhbWVBc3NlcnRpb24iLCJmaW5kRnJhbWVBc3NlcnRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJmcmFtZXMiLCJmcmFtZU5vZGUiLCJmcmFtZVZlcmlmaWVkIiwidmVyaWZ5RnJhbWUiLCJmaXJzdEZyYW1lIiwiZmlyc3QiLCJmcmFtZSIsImZyYW1lU2luZ3VsYXIiLCJpc1Npbmd1bGFyIiwiZGVjbGFyYXRpb24iLCJnZXREZWNsYXJhdGlvbiIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhTGVtbWEiLCJmaW5kTWV0YUxlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXRoZW9yZW0iLCJmaW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhTGVtbWFNZXRhdGhlb3JlbSIsImRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtIiwibWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtIiwiZnJhbWVBc3NlcnRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhdmFyaWFibGVTdHJpbmciLCJmcmFtZVN0cmluZyIsInN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQiLCJGcmFtZUFzc2VydGlvbiIsImZyb21GcmFtZUFzc2VydGlvbk5vZGVGcmFtZUFuZE1ldGF2YXJpYWJsZU5vZGUiLCJmcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQiLCJGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQiLCJmcm9tRnJhbWVBc3NlcnRpb24iLCJhc3NpZ25tZW50IiwicHVzaCIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBd0JBOzs7NERBWEE7NkRBQ0U7cUVBQ0M7c0VBQ1U7cUJBRWY7cUJBQ0k7Ozs7OztBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsMkJBQzNCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YscUJBQXFCSSxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDakcsSUFBSUM7SUFFSixJQUFNQyx1QkFBdUJGLGFBQWFHLFlBQVksQ0FBQ047SUFFdkRHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFzQyxPQUFyQkYsc0JBQXFCLHlCQUF1Qkw7SUFFakYsSUFBTVEsZ0NBQWdDO1FBQ3BDQztRQUNBQztLQUNEO0lBRUROLHlCQUF5QkksOEJBQThCRyxJQUFJLENBQUMsU0FBQ0M7UUFDM0QsSUFBTVIseUJBQXlCUSw2QkFBNkJaLG9CQUFvQkMsYUFBYUMsU0FBU0M7UUFFdEcsSUFBSUMsd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsd0JBQXdCO1FBQzFCRCxhQUFhVSxLQUFLLENBQUMsQUFBQyxvQkFBd0MsT0FBckJSLHNCQUFxQix1QkFBcUJMO0lBQ25GO0lBRUEsT0FBT0k7QUFDVDtBQUVBLFNBQVNLLDRCQUE0QlQsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ3pGLElBQUlXLGdDQUFnQztJQUVwQyxJQUFJWixTQUFTO1FBQ1gsSUFBTUcsdUJBQXVCRixhQUFhRyxZQUFZLENBQUNOO1FBRXZERyxhQUFhSSxLQUFLLENBQUMs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
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class FrameAssertionAssignment {
|
|
4
|
-
constructor(frameAssertion) {
|
|
5
|
-
this.frameAssertion = frameAssertion;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
getFrameAssertion() {
|
|
9
|
-
return this.frameAssertion;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
assign(localContext) {
|
|
13
|
-
const frameAssertionAdded = localContext.addFrameAssertion(this.frameAssertion),
|
|
14
|
-
frameAssertionNode = this.frameAssertion.getNode(),
|
|
15
|
-
frameAssertionString = localContext.nodeAsString(frameAssertionNode),
|
|
16
|
-
frameAssertionAssigned = frameAssertionAdded; ///
|
|
17
|
-
|
|
18
|
-
frameAssertionAssigned ?
|
|
19
|
-
localContext.trace(`Assigned the '${frameAssertionString}' frame assertion.`, frameAssertionNode) :
|
|
20
|
-
localContext.debug(`Unable to assign the '${frameAssertionString}' frame assertion.`, frameAssertionNode);
|
|
21
|
-
|
|
22
|
-
return frameAssertionAssigned;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static fromFrameAssertion(frameAssertion) {
|
|
26
|
-
const frameAssertionAssignment = new FrameAssertionAssignment(frameAssertion);
|
|
27
|
-
|
|
28
|
-
return frameAssertionAssignment;
|
|
29
|
-
}
|
|
30
|
-
}
|