occam-furtle 2.0.280 → 2.0.283
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/README.md +0 -11
- package/lib/constants.js +29 -1
- package/lib/context/block.js +15 -1
- package/lib/context/file.js +129 -52
- package/lib/element/assignment/array.js +186 -0
- package/lib/element/assignment/object.js +244 -0
- package/lib/element/assignment/variable.js +144 -0
- package/lib/element/assignments/variable.js +158 -0
- package/lib/element/block/return.js +198 -0
- package/lib/element/comparison.js +179 -0
- package/lib/element/declaration/procedure.js +139 -0
- package/lib/{dom → element}/error.js +12 -4
- package/lib/element/every.js +179 -0
- package/lib/element/expression/bitwise.js +186 -0
- package/lib/element/expression/bracketed.js +149 -0
- package/lib/element/expression/negated.js +166 -0
- package/lib/element/expression.js +578 -0
- package/lib/element/expressions.js +210 -0
- package/lib/{dom → element}/label.js +4 -4
- package/lib/element/parameter/named.js +198 -0
- package/lib/element/parameter.js +165 -0
- package/lib/element/parameters/named.js +220 -0
- package/lib/element/parameters.js +198 -0
- package/lib/element/procedure/anonymous.js +181 -0
- package/lib/element/procedure.js +212 -0
- package/lib/element/procedureCall.js +166 -0
- package/lib/element/query/node.js +186 -0
- package/lib/element/query/nodes.js +179 -0
- package/lib/element/reduce.js +181 -0
- package/lib/element/reference.js +138 -0
- package/lib/element/some.js +179 -0
- package/lib/element/statement/return.js +138 -0
- package/lib/element/step.js +154 -0
- package/lib/element/ternary.js +171 -0
- package/lib/element/variable.js +279 -0
- package/lib/elements.js +27 -0
- package/lib/index.js +13 -5
- package/lib/log.js +202 -0
- package/lib/preamble.js +32 -32
- package/lib/process/verify.js +289 -0
- package/lib/utilities/context.js +46 -5
- package/lib/utilities/element.js +3 -0
- package/lib/utilities/node.js +71 -0
- package/package.json +3 -1
- package/src/constants.js +16 -0
- package/src/context/block.js +10 -0
- package/src/context/file.js +97 -55
- package/src/{dom → element}/assignment/array.js +6 -6
- package/src/{dom → element}/assignment/object.js +8 -8
- package/src/{dom → element}/assignment/variable.js +4 -4
- package/src/{dom → element}/assignments/variable.js +5 -5
- package/src/{dom → element}/block/return.js +5 -5
- package/src/{dom → element}/comparison.js +5 -5
- package/src/{dom → element}/declaration/procedure.js +22 -4
- package/src/{dom → element}/error.js +13 -4
- package/src/{dom → element}/every.js +6 -6
- package/src/{dom → element}/expression/bitwise.js +5 -5
- package/src/{dom → element}/expression/bracketed.js +4 -4
- package/src/{dom → element}/expression/negated.js +5 -5
- package/src/{dom → element}/expression.js +4 -4
- package/src/{dom → element}/expressions.js +6 -6
- package/src/{dom → element}/label.js +4 -4
- package/src/{dom → element}/parameter/named.js +4 -4
- package/src/{dom → element}/parameter.js +4 -4
- package/src/{dom → element}/parameters/named.js +5 -5
- package/src/{dom → element}/parameters.js +5 -5
- package/src/{dom → element}/procedure/anonymous.js +4 -4
- package/src/{dom → element}/procedure.js +5 -5
- package/src/{dom → element}/procedureCall.js +4 -4
- package/src/{dom → element}/query/node.js +5 -5
- package/src/{dom → element}/query/nodes.js +5 -5
- package/src/{dom → element}/reduce.js +5 -5
- package/src/{dom → element}/reference.js +4 -4
- package/src/{dom → element}/some.js +6 -6
- package/src/{dom → element}/statement/return.js +4 -4
- package/src/{dom → element}/step.js +4 -4
- package/src/{dom → element}/ternary.js +4 -4
- package/src/{dom → element}/variable.js +5 -5
- package/src/elements.js +13 -0
- package/src/index.js +6 -2
- package/src/log.js +139 -0
- package/src/preamble.js +31 -31
- package/src/process/verify.js +157 -0
- package/src/utilities/context.js +45 -2
- package/src/utilities/element.js +0 -0
- package/src/utilities/{string.js → node.js} +9 -14
- package/test/Free and bound variables.ftl +112 -0
- package/test/context/file.js +127 -0
- package/{src/example → test}/context/release.js +60 -12
- package/test/helpers/constants.js +17 -0
- package/{src/example/utilities → test/helpers}/expressions.js +8 -4
- package/{src/example/utilities → test/helpers}/furtle.js +8 -4
- package/{src/example/utilities → test/helpers}/grammar.js +8 -4
- package/{src/example/utilities → test/helpers}/nominal.js +10 -5
- package/{src/example/utilities → test/helpers}/procedure.js +6 -2
- package/test/main.js +55 -0
- package/example/Free and bound variables.ftl +0 -75
- package/lib/dom/assignment/array.js +0 -186
- package/lib/dom/assignment/object.js +0 -244
- package/lib/dom/assignment/variable.js +0 -144
- package/lib/dom/assignments/variable.js +0 -158
- package/lib/dom/block/return.js +0 -198
- package/lib/dom/comparison.js +0 -179
- package/lib/dom/declaration/procedure.js +0 -125
- package/lib/dom/every.js +0 -179
- package/lib/dom/expression/bitwise.js +0 -186
- package/lib/dom/expression/bracketed.js +0 -149
- package/lib/dom/expression/negated.js +0 -166
- package/lib/dom/expression.js +0 -578
- package/lib/dom/expressions.js +0 -210
- package/lib/dom/parameter/named.js +0 -198
- package/lib/dom/parameter.js +0 -165
- package/lib/dom/parameters/named.js +0 -220
- package/lib/dom/parameters.js +0 -198
- package/lib/dom/procedure/anonymous.js +0 -181
- package/lib/dom/procedure.js +0 -212
- package/lib/dom/procedureCall.js +0 -166
- package/lib/dom/query/node.js +0 -186
- package/lib/dom/query/nodes.js +0 -179
- package/lib/dom/reduce.js +0 -181
- package/lib/dom/reference.js +0 -138
- package/lib/dom/some.js +0 -179
- package/lib/dom/statement/return.js +0 -138
- package/lib/dom/step.js +0 -154
- package/lib/dom/ternary.js +0 -171
- package/lib/dom/variable.js +0 -279
- package/lib/dom.js +0 -27
- package/lib/example/context/file.js +0 -130
- package/lib/example/context/release.js +0 -160
- package/lib/example/utilities/expressions.js +0 -29
- package/lib/example/utilities/furtle.js +0 -19
- package/lib/example/utilities/grammar.js +0 -26
- package/lib/example/utilities/nominal.js +0 -25
- package/lib/example/utilities/procedure.js +0 -18
- package/lib/utilities/string.js +0 -78
- package/src/dom.js +0 -13
- package/src/example/context/file.js +0 -69
- /package/{example → test}/customGrammars.json +0 -0
package/lib/log.js
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
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 Log;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _constants = require("./constants");
|
|
12
|
+
function _array_like_to_array(arr, len) {
|
|
13
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
14
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
15
|
+
return arr2;
|
|
16
|
+
}
|
|
17
|
+
function _array_with_holes(arr) {
|
|
18
|
+
if (Array.isArray(arr)) return arr;
|
|
19
|
+
}
|
|
20
|
+
function _class_call_check(instance, Constructor) {
|
|
21
|
+
if (!(instance instanceof Constructor)) {
|
|
22
|
+
throw new TypeError("Cannot call a class as a function");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function _defineProperties(target, props) {
|
|
26
|
+
for(var i = 0; i < props.length; i++){
|
|
27
|
+
var descriptor = props[i];
|
|
28
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
29
|
+
descriptor.configurable = true;
|
|
30
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
31
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
35
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
36
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
37
|
+
return Constructor;
|
|
38
|
+
}
|
|
39
|
+
function _iterable_to_array_limit(arr, i) {
|
|
40
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
41
|
+
if (_i == null) return;
|
|
42
|
+
var _arr = [];
|
|
43
|
+
var _n = true;
|
|
44
|
+
var _d = false;
|
|
45
|
+
var _s, _e;
|
|
46
|
+
try {
|
|
47
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
48
|
+
_arr.push(_s.value);
|
|
49
|
+
if (i && _arr.length === i) break;
|
|
50
|
+
}
|
|
51
|
+
} catch (err) {
|
|
52
|
+
_d = true;
|
|
53
|
+
_e = err;
|
|
54
|
+
} finally{
|
|
55
|
+
try {
|
|
56
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
57
|
+
} finally{
|
|
58
|
+
if (_d) throw _e;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return _arr;
|
|
62
|
+
}
|
|
63
|
+
function _non_iterable_rest() {
|
|
64
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
65
|
+
}
|
|
66
|
+
function _sliced_to_array(arr, i) {
|
|
67
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
68
|
+
}
|
|
69
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
70
|
+
if (!o) return;
|
|
71
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
72
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
73
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
74
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
75
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
76
|
+
}
|
|
77
|
+
var _LEVELS = _sliced_to_array(_constants.LEVELS, 5), TRACE_LEVEL = _LEVELS[0], DEBUG_LEVEL = _LEVELS[1], INFO_LEVEL = _LEVELS[2], WARNING_LEVEL = _LEVELS[3], ERROR_LEVEL = _LEVELS[4];
|
|
78
|
+
var Log = /*#__PURE__*/ function() {
|
|
79
|
+
function Log(messages, logLevel, follow) {
|
|
80
|
+
_class_call_check(this, Log);
|
|
81
|
+
this.messages = messages;
|
|
82
|
+
this.logLevel = logLevel;
|
|
83
|
+
this.follow = follow;
|
|
84
|
+
}
|
|
85
|
+
_create_class(Log, [
|
|
86
|
+
{
|
|
87
|
+
key: "getMessages",
|
|
88
|
+
value: function getMessages() {
|
|
89
|
+
return this.messages;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
key: "getLogLevel",
|
|
94
|
+
value: function getLogLevel() {
|
|
95
|
+
return this.logLevel;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
key: "getFollow",
|
|
100
|
+
value: function getFollow() {
|
|
101
|
+
return this.follow;
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: "trace",
|
|
106
|
+
value: function trace(message) {
|
|
107
|
+
var filePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, lineIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
108
|
+
var level = TRACE_LEVEL;
|
|
109
|
+
this.write(level, message, filePath, lineIndex);
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: "debug",
|
|
114
|
+
value: function debug(message) {
|
|
115
|
+
var filePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, lineIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
116
|
+
var level = DEBUG_LEVEL;
|
|
117
|
+
this.write(level, message, filePath, lineIndex);
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
key: "info",
|
|
122
|
+
value: function info(message) {
|
|
123
|
+
var filePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, lineIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
124
|
+
var level = INFO_LEVEL;
|
|
125
|
+
this.write(level, message, filePath, lineIndex);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
key: "warning",
|
|
130
|
+
value: function warning(message) {
|
|
131
|
+
var filePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, lineIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
132
|
+
var level = WARNING_LEVEL;
|
|
133
|
+
this.write(level, message, filePath, lineIndex);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: "error",
|
|
138
|
+
value: function error(message) {
|
|
139
|
+
var filePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, lineIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
|
|
140
|
+
var level = ERROR_LEVEL;
|
|
141
|
+
this.write(level, message, filePath, lineIndex);
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: "write",
|
|
146
|
+
value: function write(level, message, filePath, lineIndex) {
|
|
147
|
+
var levelIndex = _constants.LEVELS.indexOf(level), logLevelIndex = _constants.LEVELS.indexOf(this.logLevel);
|
|
148
|
+
if (levelIndex < logLevelIndex) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
message = formatMessage(level, message, filePath, lineIndex); ///
|
|
152
|
+
this.follow ? console.log(message) : this.messages.push(message);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
], [
|
|
156
|
+
{
|
|
157
|
+
key: "fromNothing",
|
|
158
|
+
value: function fromNothing() {
|
|
159
|
+
var messages = null, logLevel = TRACE_LEVEL, follow = true, log = new Log(messages, logLevel, follow);
|
|
160
|
+
return log;
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
key: "fromFollowAndLogLevel",
|
|
165
|
+
value: function fromFollowAndLogLevel(follow, logLevel) {
|
|
166
|
+
var messages = follow ? null : [], log = new Log(messages, logLevel, follow);
|
|
167
|
+
return log;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
]);
|
|
171
|
+
return Log;
|
|
172
|
+
}();
|
|
173
|
+
function formatMessage(level, message, filePath, lineIndex) {
|
|
174
|
+
var formattedMessage = _constants.EMPTY_STRING;
|
|
175
|
+
var leftPaddedLevel = leftPadLevel(level), upperCaseLeftPaddedLevel = leftPaddedLevel.toUpperCase();
|
|
176
|
+
formattedMessage += "".concat(upperCaseLeftPaddedLevel, ":");
|
|
177
|
+
if (filePath !== null) {
|
|
178
|
+
formattedMessage += " ".concat(filePath);
|
|
179
|
+
}
|
|
180
|
+
if (lineIndex !== null) {
|
|
181
|
+
var leftPaddedLineIndex = leftPadLineIndex(lineIndex);
|
|
182
|
+
formattedMessage += " [".concat(leftPaddedLineIndex, "]");
|
|
183
|
+
}
|
|
184
|
+
formattedMessage += " - ".concat(message);
|
|
185
|
+
message = formattedMessage; ///
|
|
186
|
+
return message;
|
|
187
|
+
}
|
|
188
|
+
function leftPadLineIndex(lineIndex) {
|
|
189
|
+
lineIndex = "".concat(lineIndex);
|
|
190
|
+
var maximumLength = _constants.LINE_INDEX_MAXIMUM_LENGTH, leftPaddedLineIndex = leftPad(lineIndex, maximumLength);
|
|
191
|
+
return leftPaddedLineIndex;
|
|
192
|
+
}
|
|
193
|
+
function leftPadLevel(level) {
|
|
194
|
+
var maximumLength = _constants.LEVEL_MAXIMUM_LENGTH, leftPaddedLevel = leftPad(level, maximumLength);
|
|
195
|
+
return leftPaddedLevel;
|
|
196
|
+
}
|
|
197
|
+
function leftPad(string, maximumLength) {
|
|
198
|
+
var stringLength = string.length, length = maximumLength - stringLength, indent = _constants.SINGLE_SPACE.repeat(length), leftPaddedString = "".concat(indent).concat(string);
|
|
199
|
+
return leftPaddedString;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IExFVkVMUywgU0lOR0xFX1NQQUNFLCBFTVBUWV9TVFJJTkcsIExFVkVMX01BWElNVU1fTEVOR1RILCBMSU5FX0lOREVYX01BWElNVU1fTEVOR1RIIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IFsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCBdID0gTEVWRUxTO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2cge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlcywgbG9nTGV2ZWwsIGZvbGxvdykge1xuICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICB0aGlzLmxvZ0xldmVsID0gbG9nTGV2ZWw7XG4gICAgdGhpcy5mb2xsb3cgPSBmb2xsb3c7XG4gIH1cblxuICBnZXRNZXNzYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcztcbiAgfVxuXG4gIGdldExvZ0xldmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxvZ0xldmVsO1xuICB9XG5cbiAgZ2V0Rm9sbG93KCkge1xuICAgIHJldHVybiB0aGlzLmZvbGxvdztcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UsIGZpbGVQYXRoID0gbnVsbCwgbGluZUluZGV4ID0gbnVsbCkge1xuICAgIGNvbnN0IGxldmVsID0gVFJBQ0VfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlKGxldmVsLCBtZXNzYWdlLCBmaWxlUGF0aCwgbGluZUluZGV4KTtcbiAgfVxuXG4gIGRlYnVnKG1lc3NhZ2UsIGZpbGVQYXRoID0gbnVsbCwgbGluZUluZGV4ID0gbnVsbCkge1xuICAgIGNvbnN0IGxldmVsID0gREVCVUdfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlKGxldmVsLCBtZXNzYWdlLCBmaWxlUGF0aCwgbGluZUluZGV4KTtcbiAgfVxuXG4gIGluZm8obWVzc2FnZSwgZmlsZVBhdGggPSBudWxsLCBsaW5lSW5kZXggPSBudWxsKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBJTkZPX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgZmlsZVBhdGgsIGxpbmVJbmRleCk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2UsIGZpbGVQYXRoID0gbnVsbCwgbGluZUluZGV4ID0gbnVsbCkge1xuICAgIGNvbnN0IGxldmVsID0gV0FSTklOR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIGZpbGVQYXRoLCBsaW5lSW5kZXgpO1xuICB9XG5cbiAgZXJyb3IobWVzc2FnZSwgZmlsZVBhdGggPSBudWxsLCBsaW5lSW5kZXggPSBudWxsKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBFUlJPUl9MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIGZpbGVQYXRoLCBsaW5lSW5kZXgpO1xuICB9XG5cbiAgd3JpdGUobGV2ZWwsIG1lc3NhZ2UsIGZpbGVQYXRoLCBsaW5lSW5kZXgpIHtcbiAgICBjb25zdCBsZXZlbEluZGV4ID0gTEVWRUxTLmluZGV4T2YobGV2ZWwpLFxuICAgICAgICAgIGxvZ0xldmVsSW5kZXggPSBMRVZFTFMuaW5kZXhPZih0aGlzLmxvZ0xldmVsKTtcblxuICAgIGlmIChsZXZlbEluZGV4IDwgbG9nTGV2ZWxJbmRleCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lc3NhZ2UgPSBmb3JtYXRNZXNzYWdlKGxldmVsLCBtZXNzYWdlLCBmaWxlUGF0aCwgbGluZUluZGV4KTsgIC8vL1xuXG4gICAgdGhpcy5mb2xsb3cgP1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZSkgOlxuICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbWVzc2FnZXMgPSBudWxsLFxuICAgICAgICAgIGxvZ0xldmVsID0gVFJBQ0VfTEVWRUwsXG4gICAgICAgICAgZm9sbG93ID0gdHJ1ZSxcbiAgICAgICAgICBsb2cgPSBuZXcgTG9nKG1lc3NhZ2VzLCBsb2dMZXZlbCwgZm9sbG93KTtcblxuICAgIHJldHVybiBsb2c7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZvbGxvd0FuZExvZ0xldmVsKGZvbGxvdywgbG9nTGV2ZWwpIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IGZvbGxvdyA/XG4gICAgICAgICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgIGxvZyA9IG5ldyBMb2cobWVzc2FnZXMsIGxvZ0xldmVsLCBmb2xsb3cpO1xuXG4gICAgcmV0dXJuIGxvZztcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRNZXNzYWdlKGxldmVsLCBtZXNzYWdlLCBmaWxlUGF0aCwgbGluZUluZGV4KSB7XG4gIGxldCBmb3JtYXR0ZWRNZXNzYWdlID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IGxlZnRQYWRkZWRMZXZlbCA9IGxlZnRQYWRMZXZlbChsZXZlbCksXG4gICAgICAgIHVwcGVyQ2FzZUxlZnRQYWRkZWRMZXZlbCA9IGxlZnRQYWRkZWRMZXZlbC50b1VwcGVyQ2FzZSgpO1xuXG4gIGZvcm1hdHRlZE1lc3NhZ2UgKz0gYCR7dXBwZXJDYXNlTGVmdFBhZGRlZExldmVsfTpgO1xuXG4gIGlmIChmaWxlUGF0aCAhPT0gbnVsbCkge1xuICAgIGZvcm1hdHRlZE1lc3NhZ2UgKz0gYCAke2ZpbGVQYXRofWA7XG4gIH1cblxuICBpZiAobGluZUluZGV4ICE9PSBudWxsKSB7XG4gICAgY29uc3QgbGVmdFBhZGRlZExpbmVJbmRleCA9IGxlZnRQYWRMaW5lSW5kZXgobGluZUluZGV4KTtcblxuICAgIGZvcm1hdHRlZE1lc3NhZ2UgKz0gYCBbJHtsZWZ0UGFkZGVkTGluZUluZGV4fV1gO1xuICB9XG5cbiAgZm9ybWF0dGVkTWVzc2FnZSArPSBgIC0gJHttZXNzYWdlfWA7XG5cbiAgbWVzc2FnZSA9IGZvcm1hdHRlZE1lc3NhZ2U7IC8vL1xuXG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBsZWZ0UGFkTGluZUluZGV4KGxpbmVJbmRleCkge1xuICBsaW5lSW5kZXggPSBgJHtsaW5lSW5kZXh9YDtcblxuICBjb25zdCBtYXhpbXVtTGVuZ3RoID0gTElORV9JTkRFWF9NQVhJTVVNX0xFTkdUSCxcbiAgICAgICAgbGVmdFBhZGRlZExpbmVJbmRleCA9IGxlZnRQYWQobGluZUluZGV4LCBtYXhpbXVtTGVuZ3RoKTtcblxuICByZXR1cm4gbGVmdFBhZGRlZExpbmVJbmRleDtcbn1cblxuZnVuY3Rpb24gbGVmdFBhZExldmVsKGxldmVsKSB7XG4gIGNvbnN0IG1heGltdW1MZW5ndGggPSBMRVZFTF9NQVhJTVVNX0xFTkdUSCxcbiAgICAgICAgbGVmdFBhZGRlZExldmVsID0gbGVmdFBhZChsZXZlbCwgbWF4aW11bUxlbmd0aCk7XG5cbiAgcmV0dXJuIGxlZnRQYWRkZWRMZXZlbDtcbn1cblxuZnVuY3Rpb24gbGVmdFBhZChzdHJpbmcsIG1heGltdW1MZW5ndGgpIHtcbiAgY29uc3Qgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxlbmd0aCxcbiAgICAgICAgbGVuZ3RoID0gbWF4aW11bUxlbmd0aCAtIHN0cmluZ0xlbmd0aCxcbiAgICAgICAgaW5kZW50ID0gU0lOR0xFX1NQQUNFLnJlcGVhdChsZW5ndGgpLFxuICAgICAgICBsZWZ0UGFkZGVkU3RyaW5nID0gYCR7aW5kZW50fSR7c3RyaW5nfWA7XG5cbiAgcmV0dXJuIGxlZnRQYWRkZWRTdHJpbmc7XG59XG5cbiJdLCJuYW1lcyI6WyJMb2ciLCJMRVZFTFMiLCJUUkFDRV9MRVZFTCIsIkRFQlVHX0xFVkVMIiwiSU5GT19MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJFUlJPUl9MRVZFTCIsIm1lc3NhZ2VzIiwibG9nTGV2ZWwiLCJmb2xsb3ciLCJnZXRNZXNzYWdlcyIsImdldExvZ0xldmVsIiwiZ2V0Rm9sbG93IiwidHJhY2UiLCJtZXNzYWdlIiwiZmlsZVBhdGgiLCJsaW5lSW5kZXgiLCJsZXZlbCIsIndyaXRlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwibGV2ZWxJbmRleCIsImluZGV4T2YiLCJsb2dMZXZlbEluZGV4IiwiZm9ybWF0TWVzc2FnZSIsImNvbnNvbGUiLCJsb2ciLCJwdXNoIiwiZnJvbU5vdGhpbmciLCJmcm9tRm9sbG93QW5kTG9nTGV2ZWwiLCJmb3JtYXR0ZWRNZXNzYWdlIiwiRU1QVFlfU1RSSU5HIiwibGVmdFBhZGRlZExldmVsIiwibGVmdFBhZExldmVsIiwidXBwZXJDYXNlTGVmdFBhZGRlZExldmVsIiwidG9VcHBlckNhc2UiLCJsZWZ0UGFkZGVkTGluZUluZGV4IiwibGVmdFBhZExpbmVJbmRleCIsIm1heGltdW1MZW5ndGgiLCJMSU5FX0lOREVYX01BWElNVU1fTEVOR1RIIiwibGVmdFBhZCIsIkxFVkVMX01BWElNVU1fTEVOR1RIIiwic3RyaW5nIiwic3RyaW5nTGVuZ3RoIiwibGVuZ3RoIiwiaW5kZW50IiwiU0lOR0xFX1NQQUNFIiwicmVwZWF0IiwibGVmdFBhZGRlZFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7eUJBSitFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEcsSUFBNkVDLDJCQUFBQSxpQkFBTSxNQUEzRUMsY0FBcUVELFlBQXhERSxjQUF3REYsWUFBM0NHLGFBQTJDSCxZQUEvQkksZ0JBQStCSixZQUFoQkssY0FBZ0JMO0FBRTlELElBQUEsQUFBTUQsb0JBQU47YUFBTUEsSUFDUE8sUUFBUSxFQUFFQyxRQUFRLEVBQUVDLE1BQU07Z0NBRG5CVDtRQUVqQixJQUFJLENBQUNPLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTs7a0JBSkdUOztZQU9u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
|
package/lib/preamble.js
CHANGED
|
@@ -2,41 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
var _step = /*#__PURE__*/ _interop_require_default(require("./
|
|
6
|
-
var _some = /*#__PURE__*/ _interop_require_default(require("./
|
|
7
|
-
var _label = /*#__PURE__*/ _interop_require_default(require("./
|
|
8
|
-
var _error = /*#__PURE__*/ _interop_require_default(require("./
|
|
9
|
-
var _every = /*#__PURE__*/ _interop_require_default(require("./
|
|
10
|
-
var _reduce = /*#__PURE__*/ _interop_require_default(require("./
|
|
11
|
-
var _ternary = /*#__PURE__*/ _interop_require_default(require("./
|
|
12
|
-
var _variable = /*#__PURE__*/ _interop_require_default(require("./
|
|
13
|
-
var _reference = /*#__PURE__*/ _interop_require_default(require("./
|
|
14
|
-
var _procedure = /*#__PURE__*/ _interop_require_default(require("./
|
|
15
|
-
var _node = /*#__PURE__*/ _interop_require_default(require("./
|
|
16
|
-
var _parameter = /*#__PURE__*/ _interop_require_default(require("./
|
|
17
|
-
var _parameters = /*#__PURE__*/ _interop_require_default(require("./
|
|
18
|
-
var _nodes = /*#__PURE__*/ _interop_require_default(require("./
|
|
19
|
-
var _comparison = /*#__PURE__*/ _interop_require_default(require("./
|
|
20
|
-
var _expression = /*#__PURE__*/ _interop_require_default(require("./
|
|
21
|
-
var _expressions = /*#__PURE__*/ _interop_require_default(require("./
|
|
22
|
-
var _return = /*#__PURE__*/ _interop_require_default(require("./
|
|
23
|
-
var _procedureCall = /*#__PURE__*/ _interop_require_default(require("./
|
|
24
|
-
var _named = /*#__PURE__*/ _interop_require_default(require("./
|
|
25
|
-
var _array = /*#__PURE__*/ _interop_require_default(require("./
|
|
26
|
-
var _return1 = /*#__PURE__*/ _interop_require_default(require("./
|
|
27
|
-
var _named1 = /*#__PURE__*/ _interop_require_default(require("./
|
|
28
|
-
var _object = /*#__PURE__*/ _interop_require_default(require("./
|
|
29
|
-
var _negated = /*#__PURE__*/ _interop_require_default(require("./
|
|
30
|
-
var _bitwise = /*#__PURE__*/ _interop_require_default(require("./
|
|
31
|
-
var _anonymous = /*#__PURE__*/ _interop_require_default(require("./
|
|
32
|
-
var _variable1 = /*#__PURE__*/ _interop_require_default(require("./
|
|
33
|
-
var _bracketed = /*#__PURE__*/ _interop_require_default(require("./
|
|
34
|
-
var _variable2 = /*#__PURE__*/ _interop_require_default(require("./
|
|
35
|
-
var _procedure1 = /*#__PURE__*/ _interop_require_default(require("./
|
|
5
|
+
var _step = /*#__PURE__*/ _interop_require_default(require("./element/step"));
|
|
6
|
+
var _some = /*#__PURE__*/ _interop_require_default(require("./element/some"));
|
|
7
|
+
var _label = /*#__PURE__*/ _interop_require_default(require("./element/label"));
|
|
8
|
+
var _error = /*#__PURE__*/ _interop_require_default(require("./element/error"));
|
|
9
|
+
var _every = /*#__PURE__*/ _interop_require_default(require("./element/every"));
|
|
10
|
+
var _reduce = /*#__PURE__*/ _interop_require_default(require("./element/reduce"));
|
|
11
|
+
var _ternary = /*#__PURE__*/ _interop_require_default(require("./element/ternary"));
|
|
12
|
+
var _variable = /*#__PURE__*/ _interop_require_default(require("./element/variable"));
|
|
13
|
+
var _reference = /*#__PURE__*/ _interop_require_default(require("./element/reference"));
|
|
14
|
+
var _procedure = /*#__PURE__*/ _interop_require_default(require("./element/procedure"));
|
|
15
|
+
var _node = /*#__PURE__*/ _interop_require_default(require("./element/query/node"));
|
|
16
|
+
var _parameter = /*#__PURE__*/ _interop_require_default(require("./element/parameter"));
|
|
17
|
+
var _parameters = /*#__PURE__*/ _interop_require_default(require("./element/parameters"));
|
|
18
|
+
var _nodes = /*#__PURE__*/ _interop_require_default(require("./element/query/nodes"));
|
|
19
|
+
var _comparison = /*#__PURE__*/ _interop_require_default(require("./element/comparison"));
|
|
20
|
+
var _expression = /*#__PURE__*/ _interop_require_default(require("./element/expression"));
|
|
21
|
+
var _expressions = /*#__PURE__*/ _interop_require_default(require("./element/expressions"));
|
|
22
|
+
var _return = /*#__PURE__*/ _interop_require_default(require("./element/block/return"));
|
|
23
|
+
var _procedureCall = /*#__PURE__*/ _interop_require_default(require("./element/procedureCall"));
|
|
24
|
+
var _named = /*#__PURE__*/ _interop_require_default(require("./element/parameter/named"));
|
|
25
|
+
var _array = /*#__PURE__*/ _interop_require_default(require("./element/assignment/array"));
|
|
26
|
+
var _return1 = /*#__PURE__*/ _interop_require_default(require("./element/statement/return"));
|
|
27
|
+
var _named1 = /*#__PURE__*/ _interop_require_default(require("./element/parameters/named"));
|
|
28
|
+
var _object = /*#__PURE__*/ _interop_require_default(require("./element/assignment/object"));
|
|
29
|
+
var _negated = /*#__PURE__*/ _interop_require_default(require("./element/expression/negated"));
|
|
30
|
+
var _bitwise = /*#__PURE__*/ _interop_require_default(require("./element/expression/bitwise"));
|
|
31
|
+
var _anonymous = /*#__PURE__*/ _interop_require_default(require("./element/procedure/anonymous"));
|
|
32
|
+
var _variable1 = /*#__PURE__*/ _interop_require_default(require("./element/assignment/variable"));
|
|
33
|
+
var _bracketed = /*#__PURE__*/ _interop_require_default(require("./element/expression/bracketed"));
|
|
34
|
+
var _variable2 = /*#__PURE__*/ _interop_require_default(require("./element/assignments/variable"));
|
|
35
|
+
var _procedure1 = /*#__PURE__*/ _interop_require_default(require("./element/declaration/procedure"));
|
|
36
36
|
function _interop_require_default(obj) {
|
|
37
37
|
return obj && obj.__esModule ? obj : {
|
|
38
38
|
default: obj
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVhbWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0ZXAgZnJvbSBcIi4vZWxlbWVudC9zdGVwXCI7XG5pbXBvcnQgU29tZSBmcm9tIFwiLi9lbGVtZW50L3NvbWVcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9lbGVtZW50L2xhYmVsXCI7XG5pbXBvcnQgRXJyb3IgZnJvbSBcIi4vZWxlbWVudC9lcnJvclwiO1xuaW1wb3J0IEV2ZXJ5IGZyb20gXCIuL2VsZW1lbnQvZXZlcnlcIjtcbmltcG9ydCBSZWR1Y2UgZnJvbSBcIi4vZWxlbWVudC9yZWR1Y2VcIjtcbmltcG9ydCBUZXJuYXJ5IGZyb20gXCIuL2VsZW1lbnQvdGVybmFyeVwiO1xuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuL2VsZW1lbnQvdmFyaWFibGVcIjtcbmltcG9ydCBSZWZlcmVuY2UgZnJvbSBcIi4vZWxlbWVudC9yZWZlcmVuY2VcIjtcbmltcG9ydCBQcm9jZWR1cmUgZnJvbSBcIi4vZWxlbWVudC9wcm9jZWR1cmVcIjtcbmltcG9ydCBOb2RlUXVlcnkgZnJvbSBcIi4vZWxlbWVudC9xdWVyeS9ub2RlXCI7XG5pbXBvcnQgUGFyYW1ldGVyIGZyb20gXCIuL2VsZW1lbnQvcGFyYW1ldGVyXCI7XG5pbXBvcnQgUGFyYW1ldGVycyBmcm9tIFwiLi9lbGVtZW50L3BhcmFtZXRlcnNcIjtcbmltcG9ydCBOb2Rlc1F1ZXJ5IGZyb20gXCIuL2VsZW1lbnQvcXVlcnkvbm9kZXNcIjtcbmltcG9ydCBDb21wYXJpc29uIGZyb20gXCIuL2VsZW1lbnQvY29tcGFyaXNvblwiO1xuaW1wb3J0IEV4cHJlc3Npb24gZnJvbSBcIi4vZWxlbWVudC9leHByZXNzaW9uXCI7XG5pbXBvcnQgRXhwcmVzc2lvbnMgZnJvbSBcIi4vZWxlbWVudC9leHByZXNzaW9uc1wiO1xuaW1wb3J0IFJldHVybkJsb2NrIGZyb20gXCIuL2VsZW1lbnQvYmxvY2svcmV0dXJuXCI7XG5pbXBvcnQgUHJvY2VkdXJlQ2FsbCBmcm9tIFwiLi9lbGVtZW50L3Byb2NlZHVyZUNhbGxcIjtcbmltcG9ydCBOYW1lZFBhcmFtZXRlciBmcm9tIFwiLi9lbGVtZW50L3BhcmFtZXRlci9uYW1lZFwiO1xuaW1wb3J0IEFycmF5QXNzaWdtZW50IGZyb20gXCIuL2VsZW1lbnQvYXNzaWdubWVudC9hcnJheVwiO1xuaW1wb3J0IFJldHVyblN0YXRlbWVudCBmcm9tIFwiLi9lbGVtZW50L3N0YXRlbWVudC9yZXR1cm5cIjtcbmltcG9ydCBOYW1lZFBhcmFtZXRlcnMgZnJvbSBcIi4vZWxlbWVudC9wYXJhbWV0ZXJzL25hbWVkXCI7XG5pbXBvcnQgT2JqZWN0QXNzaWdubWVudCBmcm9tIFwiLi9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0XCI7XG5pbXBvcnQgTmVnYXRlZEV4cHJlc3Npb24gZnJvbSBcIi4vZWxlbWVudC9leHByZXNzaW9uL25lZ2F0ZWRcIjtcbmltcG9ydCBCaXR3aXNlRXhwcmVzc2lvbiBmcm9tIFwiLi9lbGVtZW50L2V4cHJlc3Npb24vYml0d2lzZVwiO1xuaW1wb3J0IEFub255bW91c1Byb2NlZHVyZSBmcm9tIFwiLi9lbGVtZW50L3Byb2NlZHVyZS9hbm9ueW1vdXNcIjtcbmltcG9ydCBWYXJpYWJsZUFzc2lnbm1lbnQgZnJvbSBcIi4vZWxlbWVudC9hc3NpZ25tZW50L3ZhcmlhYmxlXCI7XG5pbXBvcnQgQnJhY2tldGVkRXhwcmVzc2lvbiBmcm9tIFwiLi9lbGVtZW50L2V4cHJlc3Npb24vYnJhY2tldGVkXCI7XG5pbXBvcnQgVmFyaWFibGVBc3NpZ25tZW50cyBmcm9tIFwiLi9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlXCI7XG5pbXBvcnQgUHJvY2VkdXJlRGVjbGFyYXRpb24gZnJvbSBcIi4vZWxlbWVudC9kZWNsYXJhdGlvbi9wcm9jZWR1cmVcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OzsyREFFaUI7MkRBQ0E7NERBQ0M7NERBQ0E7NERBQ0E7NkRBQ0M7OERBQ0M7K0RBQ0M7Z0VBQ0M7Z0VBQ0E7MkRBQ0E7Z0VBQ0E7aUVBQ0M7NERBQ0E7aUVBQ0E7aUVBQ0E7a0VBQ0M7NkRBQ0E7b0VBQ0U7NERBQ0M7NERBQ0E7OERBQ0M7NkRBQ0E7NkRBQ0M7OERBQ0M7OERBQ0E7Z0VBQ0M7Z0VBQ0E7Z0VBQ0M7Z0VBQ0E7aUVBQ0MifQ==
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "verifyFile", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return verifyFile;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _query = require("../utilities/query");
|
|
12
|
+
var _elements = /*#__PURE__*/ _interop_require_default(require("../elements"));
|
|
13
|
+
function _array_like_to_array(arr, len) {
|
|
14
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
15
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
16
|
+
return arr2;
|
|
17
|
+
}
|
|
18
|
+
function _array_without_holes(arr) {
|
|
19
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
20
|
+
}
|
|
21
|
+
function _assert_this_initialized(self) {
|
|
22
|
+
if (self === void 0) {
|
|
23
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
24
|
+
}
|
|
25
|
+
return self;
|
|
26
|
+
}
|
|
27
|
+
function _call_super(_this, derived, args) {
|
|
28
|
+
derived = _get_prototype_of(derived);
|
|
29
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
30
|
+
}
|
|
31
|
+
function _class_call_check(instance, Constructor) {
|
|
32
|
+
if (!(instance instanceof Constructor)) {
|
|
33
|
+
throw new TypeError("Cannot call a class as a function");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function _defineProperties(target, props) {
|
|
37
|
+
for(var i = 0; i < props.length; i++){
|
|
38
|
+
var descriptor = props[i];
|
|
39
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
40
|
+
descriptor.configurable = true;
|
|
41
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
42
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
46
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
47
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
48
|
+
return Constructor;
|
|
49
|
+
}
|
|
50
|
+
function _define_property(obj, key, value) {
|
|
51
|
+
if (key in obj) {
|
|
52
|
+
Object.defineProperty(obj, key, {
|
|
53
|
+
value: value,
|
|
54
|
+
enumerable: true,
|
|
55
|
+
configurable: true,
|
|
56
|
+
writable: true
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
obj[key] = value;
|
|
60
|
+
}
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
function _get_prototype_of(o) {
|
|
64
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
65
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
66
|
+
};
|
|
67
|
+
return _get_prototype_of(o);
|
|
68
|
+
}
|
|
69
|
+
function _inherits(subClass, superClass) {
|
|
70
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
71
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
72
|
+
}
|
|
73
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
74
|
+
constructor: {
|
|
75
|
+
value: subClass,
|
|
76
|
+
writable: true,
|
|
77
|
+
configurable: true
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
81
|
+
}
|
|
82
|
+
function _interop_require_default(obj) {
|
|
83
|
+
return obj && obj.__esModule ? obj : {
|
|
84
|
+
default: obj
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function _iterable_to_array(iter) {
|
|
88
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
89
|
+
}
|
|
90
|
+
function _non_iterable_spread() {
|
|
91
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
92
|
+
}
|
|
93
|
+
function _possible_constructor_return(self, call) {
|
|
94
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
95
|
+
return call;
|
|
96
|
+
}
|
|
97
|
+
return _assert_this_initialized(self);
|
|
98
|
+
}
|
|
99
|
+
function _set_prototype_of(o, p) {
|
|
100
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
101
|
+
o.__proto__ = p;
|
|
102
|
+
return o;
|
|
103
|
+
};
|
|
104
|
+
return _set_prototype_of(o, p);
|
|
105
|
+
}
|
|
106
|
+
function _to_consumable_array(arr) {
|
|
107
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
108
|
+
}
|
|
109
|
+
function _type_of(obj) {
|
|
110
|
+
"@swc/helpers - typeof";
|
|
111
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
112
|
+
}
|
|
113
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
114
|
+
if (!o) return;
|
|
115
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
116
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
117
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
118
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
119
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
120
|
+
}
|
|
121
|
+
function _is_native_reflect_construct() {
|
|
122
|
+
try {
|
|
123
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
124
|
+
} catch (_) {}
|
|
125
|
+
return (_is_native_reflect_construct = function() {
|
|
126
|
+
return !!result;
|
|
127
|
+
})();
|
|
128
|
+
}
|
|
129
|
+
var nonTerminalNodeQuery = (0, _query.nodeQuery)("/*"), errorNodeQuery = (0, _query.nodeQuery)("/error"), procedureDeclarationNodeQuery = (0, _query.nodeQuery)("/procedureDeclaration");
|
|
130
|
+
var Pass = /*#__PURE__*/ function() {
|
|
131
|
+
function Pass() {
|
|
132
|
+
_class_call_check(this, Pass);
|
|
133
|
+
}
|
|
134
|
+
_create_class(Pass, [
|
|
135
|
+
{
|
|
136
|
+
key: "run",
|
|
137
|
+
value: function run(node) {
|
|
138
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
139
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
140
|
+
}
|
|
141
|
+
var success;
|
|
142
|
+
var visited = this.visitNode.apply(this, [
|
|
143
|
+
node
|
|
144
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
145
|
+
success = visited; ///
|
|
146
|
+
return success;
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
key: "descend",
|
|
151
|
+
value: function descend(childNodes) {
|
|
152
|
+
var _this = this;
|
|
153
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
154
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
155
|
+
}
|
|
156
|
+
var descended = false;
|
|
157
|
+
var visited = childNodes.every(function(childNode) {
|
|
158
|
+
var node = childNode, visited = _this.visitNode.apply(_this, [
|
|
159
|
+
node
|
|
160
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
161
|
+
if (visited) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
if (visited) {
|
|
166
|
+
descended = true;
|
|
167
|
+
}
|
|
168
|
+
return descended;
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: "visitNode",
|
|
173
|
+
value: function visitNode(node) {
|
|
174
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
175
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
176
|
+
}
|
|
177
|
+
var visited;
|
|
178
|
+
var nodeTerminalNode = node.isTerminalNode();
|
|
179
|
+
if (nodeTerminalNode) {
|
|
180
|
+
var terminalNode = node; ///
|
|
181
|
+
visited = this.visitTerminalNode.apply(this, [
|
|
182
|
+
terminalNode
|
|
183
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
184
|
+
} else {
|
|
185
|
+
var nonTerminalNode = node; ///
|
|
186
|
+
visited = this.visitNonTerminalNode.apply(this, [
|
|
187
|
+
nonTerminalNode
|
|
188
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
189
|
+
}
|
|
190
|
+
return visited;
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
key: "visitTerminalNode",
|
|
195
|
+
value: function visitTerminalNode(terminalNode) {
|
|
196
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
197
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
198
|
+
}
|
|
199
|
+
var visited = true;
|
|
200
|
+
return visited;
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
key: "visitNonTerminalNode",
|
|
205
|
+
value: function visitNonTerminalNode(nonTerminalNode) {
|
|
206
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
207
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
208
|
+
}
|
|
209
|
+
var _this = this;
|
|
210
|
+
var visited = false;
|
|
211
|
+
var maps = this.constructor.maps;
|
|
212
|
+
maps = _to_consumable_array(maps).concat([
|
|
213
|
+
{
|
|
214
|
+
nodeQuery: nonTerminalNodeQuery,
|
|
215
|
+
run: function(node) {
|
|
216
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
217
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
218
|
+
}
|
|
219
|
+
var visited = false;
|
|
220
|
+
var childNodes = nonTerminalNode.getChildNodes(), descended = _this.descend.apply(_this, [
|
|
221
|
+
childNodes
|
|
222
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
223
|
+
if (descended) {
|
|
224
|
+
visited = true;
|
|
225
|
+
}
|
|
226
|
+
return visited;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
]);
|
|
230
|
+
maps.some(function(map) {
|
|
231
|
+
var _$nodeQuery = map.nodeQuery, run = map.run;
|
|
232
|
+
var node = _$nodeQuery(nonTerminalNode);
|
|
233
|
+
if (node !== null) {
|
|
234
|
+
var success = run.apply(void 0, [
|
|
235
|
+
node
|
|
236
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
237
|
+
visited = success;
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
return visited;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
]);
|
|
245
|
+
return Pass;
|
|
246
|
+
}();
|
|
247
|
+
var TopLevelPass = /*#__PURE__*/ function(Pass) {
|
|
248
|
+
_inherits(TopLevelPass, Pass);
|
|
249
|
+
function TopLevelPass() {
|
|
250
|
+
_class_call_check(this, TopLevelPass);
|
|
251
|
+
return _call_super(this, TopLevelPass, arguments);
|
|
252
|
+
}
|
|
253
|
+
return TopLevelPass;
|
|
254
|
+
}(Pass);
|
|
255
|
+
_define_property(TopLevelPass, "maps", [
|
|
256
|
+
{
|
|
257
|
+
nodeQuery: errorNodeQuery,
|
|
258
|
+
run: function(errorNode, context) {
|
|
259
|
+
var success = false;
|
|
260
|
+
var Error = _elements.default.Error, error = Error.fromErrorNode(errorNode, context), errorVerifies = error.verify(context);
|
|
261
|
+
if (errorVerifies) {
|
|
262
|
+
success = true;
|
|
263
|
+
}
|
|
264
|
+
return success;
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
nodeQuery: procedureDeclarationNodeQuery,
|
|
269
|
+
run: function(procedureDeclarationNode, context) {
|
|
270
|
+
var success = false;
|
|
271
|
+
var ProcedureDeclaration = _elements.default.ProcedureDeclaration, procedureDeclaration = ProcedureDeclaration.fromProcedureDeclarationNode(procedureDeclarationNode, context), procedureDeclarationVerifies = procedureDeclaration.verify(context);
|
|
272
|
+
if (procedureDeclarationVerifies) {
|
|
273
|
+
success = true;
|
|
274
|
+
}
|
|
275
|
+
return success;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
]);
|
|
279
|
+
var topLevelPass = new TopLevelPass();
|
|
280
|
+
function verifyFile(fileNode, context) {
|
|
281
|
+
var fileVerifies = false;
|
|
282
|
+
var node = fileNode, sucess = topLevelPass.run(node, context);
|
|
283
|
+
if (sucess) {
|
|
284
|
+
fileVerifies = true;
|
|
285
|
+
}
|
|
286
|
+
return fileVerifies;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmNvbnN0IG5vblRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLypcIiksXG4gICAgICBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb2NlZHVyZURlY2xhcmF0aW9uXCIpO1xuXG5jbGFzcyBQYXNzIHtcbiAgcnVuKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBzdWNjZXNzO1xuXG4gICAgY29uc3QgdmlzaXRlZCA9IHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICBzdWNjZXNzID0gdmlzaXRlZDsgIC8vL1xuXG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH1cblxuICBkZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBkZXNjZW5kZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHZpc2l0ZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgdmlzaXRlZCA9IHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIGlmICh2aXNpdGVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHZpc2l0ZWQpIHtcbiAgICAgIGRlc2NlbmRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NlbmRlZDtcbiAgfVxuXG4gIHZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgdmlzaXRlZDtcblxuICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICB2aXNpdGVkID0gdGhpcy52aXNpdFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgdmlzaXRlZCA9IHRoaXMudmlzaXROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiB2aXNpdGVkO1xuICB9XG5cbiAgdmlzaXRUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB2aXNpdGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiB2aXNpdGVkO1xuICB9XG5cbiAgdmlzaXROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgbGV0IHsgbWFwcyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIG1hcHMgPSBbIC8vL1xuICAgICAgLi4ubWFwcyxcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5OiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgcnVuOiAobm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSA9PiB7XG4gICAgICAgICAgbGV0IHZpc2l0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLCAvLy9cbiAgICAgICAgICAgICAgICBkZXNjZW5kZWQgPSB0aGlzLmRlc2NlbmQoY2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgICAgIGlmIChkZXNjZW5kZWQpIHtcbiAgICAgICAgICAgIHZpc2l0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB2aXNpdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuXG4gICAgbWFwcy5zb21lKChtYXApID0+IHtcbiAgICAgIGNvbnN0IHsgbm9kZVF1ZXJ5LCBydW4gfSA9IG1hcDtcblxuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVRdWVyeShub25UZXJtaW5hbE5vZGUpO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdWNjZXNzID0gcnVuKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgdmlzaXRlZCA9IHN1Y2Nlc3M7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxufVxuXG5jbGFzcyBUb3BMZXZlbFBhc3MgZXh0ZW5kcyBQYXNzIHtcbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBlcnJvck5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKGVycm9yTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBsZXQgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgICBlcnJvciA9IEVycm9yLmZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgZXJyb3JWZXJpZmllcyA9IGVycm9yLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAoZXJyb3JWZXJpZmllcykge1xuICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgeyBQcm9jZWR1cmVEZWNsYXJhdGlvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uID0gUHJvY2VkdXJlRGVjbGFyYXRpb24uZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvblZlcmlmaWVzID0gcHJvY2VkdXJlRGVjbGFyYXRpb24udmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9jZWR1cmVEZWNsYXJhdGlvblZlcmlmaWVzKSB7XG4gICAgICAgICAgc3VjY2VzcyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VjY2VzcztcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsUGFzcyA9IG5ldyBUb3BMZXZlbFBhc3MoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGZpbGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGUgPSBmaWxlTm9kZSwgLy8vXG4gICAgICAgIHN1Y2VzcyA9IHRvcExldmVsUGFzcy5ydW4obm9kZSwgY29udGV4dCk7XG5cbiAgaWYgKHN1Y2Vzcykge1xuICAgIGZpbGVWZXJpZmllcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gZmlsZVZlcmlmaWVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImVycm9yTm9kZVF1ZXJ5IiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJQYXNzIiwicnVuIiwibm9kZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInN1Y2Nlc3MiLCJ2aXNpdGVkIiwidmlzaXROb2RlIiwiZGVzY2VuZCIsImNoaWxkTm9kZXMiLCJkZXNjZW5kZWQiLCJldmVyeSIsImNoaWxkTm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInZpc2l0VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwidmlzaXROb25UZXJtaW5hbE5vZGUiLCJtYXBzIiwiZ2V0Q2hpbGROb2RlcyIsInNvbWUiLCJtYXAiLCJUb3BMZXZlbFBhc3MiLCJlcnJvck5vZGUiLCJjb250ZXh0IiwiRXJyb3IiLCJlbGVtZW50cyIsImVycm9yIiwiZnJvbUVycm9yTm9kZSIsImVycm9yVmVyaWZpZXMiLCJ2ZXJpZnkiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJQcm9jZWR1cmVEZWNsYXJhdGlvbiIsInByb2NlZHVyZURlY2xhcmF0aW9uIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJ0b3BMZXZlbFBhc3MiLCJmaWxlTm9kZSIsImZpbGVWZXJpZmllcyIsInN1Y2VzcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUpnQkE7OztlQUFBQTs7O3FCQS9JVTsrREFFTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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
|