find-cli 1.7.24 → 1.7.26
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/.aiignore +11 -0
- package/.swcrc +3 -0
- package/lib/abbreviations.js +15 -15
- package/lib/action/addRootDirectoryPath.js +9 -9
- package/lib/action/find.js +30 -30
- package/lib/action/help.js +47 -2
- package/lib/action/initialise.js +4 -4
- package/lib/action/listRootDirectoryPaths.js +5 -5
- package/lib/action/removeRootDirectoryPath.js +10 -10
- package/lib/action/version.js +6 -6
- package/lib/commands.js +8 -8
- package/lib/configuration/version_1_1.js +9 -9
- package/lib/configuration/version_1_2.js +14 -14
- package/lib/configuration/version_1_3.js +6 -6
- package/lib/configuration/version_1_4.js +9 -9
- package/lib/configuration/version_1_7.js +14 -14
- package/lib/configuration.js +76 -114
- package/lib/constants.js +12 -12
- package/lib/converter/alternates.js +16 -117
- package/lib/converter/characterClass.js +28 -129
- package/lib/converter/default.js +12 -113
- package/lib/converter/directory.js +12 -113
- package/lib/converter/escapedCharacter.js +12 -113
- package/lib/converter/period.js +12 -113
- package/lib/converter/questionMark.js +12 -113
- package/lib/converter/repeatedDirectories.js +12 -113
- package/lib/converter/repeatedWildcard.js +12 -113
- package/lib/converter/singleDirectory.js +12 -113
- package/lib/converter/singleWildcard.js +12 -113
- package/lib/converter.js +24 -57
- package/lib/converters.js +14 -14
- package/lib/defaults.js +10 -10
- package/lib/descriptions.js +5 -5
- package/lib/find.js +15 -15
- package/lib/isIgnored/asynchronous.js +15 -15
- package/lib/isIgnored/synchronous.js +24 -24
- package/lib/line.js +99 -174
- package/lib/main.js +18 -18
- package/lib/messages.js +16 -16
- package/lib/occurrence.js +19 -55
- package/lib/operation/addRootDirectoryPath.js +3 -3
- package/lib/operation/find.js +12 -35
- package/lib/operation/listRootDirectoryPaths.js +5 -5
- package/lib/operation/previousRule.js +10 -10
- package/lib/operation/prompt/addRootDirectoryPath.js +15 -15
- package/lib/operation/prompt/ignoreOrPermitPath.js +15 -15
- package/lib/operation/prompt/pathRule.js +17 -17
- package/lib/operation/prompt/previousRule.js +10 -10
- package/lib/operation/prompt/removeRootDirectoryPath.js +18 -18
- package/lib/operation/prompt/rule.js +21 -21
- package/lib/operation/removeRootDirectoryPath.js +5 -5
- package/lib/operation/removeRootDirectoryPathByIndex.js +4 -4
- package/lib/operation/rule.js +6 -6
- package/lib/operation/updatePatRules.js +7 -7
- package/lib/operation/validateRootDirectoryPath.js +7 -7
- package/lib/options.js +11 -11
- package/lib/prepare.js +5 -5
- package/lib/rule/glob.js +87 -167
- package/lib/rule/regex.js +73 -127
- package/lib/rule/string.js +69 -120
- package/lib/types.js +4 -4
- package/lib/utilities/find.js +44 -44
- package/lib/utilities/literal.js +2 -2
- package/lib/utilities/log.js +7 -7
- package/lib/utilities/operation.js +7 -7
- package/lib/utilities/path.js +12 -12
- package/lib/utilities/prompt.js +11 -11
- package/lib/utilities/rule.js +5 -5
- package/lib/utilities/string.js +6 -6
- package/lib/utilities/validate.js +7 -7
- package/lib/versions.js +7 -7
- package/package.json +2 -2
package/lib/rule/glob.js
CHANGED
|
@@ -8,184 +8,104 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return GlobRule;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
function _array_like_to_array(arr, len) {
|
|
18
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
19
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
20
|
-
return arr2;
|
|
21
|
-
}
|
|
22
|
-
function _array_without_holes(arr) {
|
|
23
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
24
|
-
}
|
|
25
|
-
function _class_call_check(instance, Constructor) {
|
|
26
|
-
if (!(instance instanceof Constructor)) {
|
|
27
|
-
throw new TypeError("Cannot call a class as a function");
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function _defineProperties(target, props) {
|
|
31
|
-
for(var i = 0; i < props.length; i++){
|
|
32
|
-
var descriptor = props[i];
|
|
33
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
34
|
-
descriptor.configurable = true;
|
|
35
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
36
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
40
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
41
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
42
|
-
return Constructor;
|
|
43
|
-
}
|
|
11
|
+
const _converters = /*#__PURE__*/ _interop_require_default(require("../converters"));
|
|
12
|
+
const _occurrence = /*#__PURE__*/ _interop_require_default(require("../occurrence"));
|
|
13
|
+
const _types = require("../types");
|
|
14
|
+
const _constants = require("../constants");
|
|
15
|
+
const _literal = require("../utilities/literal");
|
|
16
|
+
const _string = require("../utilities/string");
|
|
44
17
|
function _interop_require_default(obj) {
|
|
45
18
|
return obj && obj.__esModule ? obj : {
|
|
46
19
|
default: obj
|
|
47
20
|
};
|
|
48
21
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
function _non_iterable_spread() {
|
|
53
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
54
|
-
}
|
|
55
|
-
function _to_consumable_array(arr) {
|
|
56
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
57
|
-
}
|
|
58
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
59
|
-
if (!o) return;
|
|
60
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
61
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
62
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
63
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
64
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
65
|
-
}
|
|
66
|
-
var GlobRule = /*#__PURE__*/ function() {
|
|
67
|
-
function GlobRule(type, glob, pattern, regExp) {
|
|
68
|
-
_class_call_check(this, GlobRule);
|
|
22
|
+
class GlobRule {
|
|
23
|
+
constructor(type, glob, pattern, regExp){
|
|
69
24
|
this.type = type;
|
|
70
25
|
this.glob = glob;
|
|
71
26
|
this.pattern = pattern;
|
|
72
27
|
this.regExp = regExp;
|
|
73
28
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
{
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
type: type,
|
|
104
|
-
glob: glob,
|
|
105
|
-
pattern: pattern
|
|
106
|
-
};
|
|
107
|
-
return json;
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
key: "find",
|
|
112
|
-
value: function find(line) {
|
|
113
|
-
var occurrences = [], content = line.getContent();
|
|
114
|
-
var offset = 0, string = content, result = string.match(this.regExp);
|
|
115
|
-
while(result !== null){
|
|
116
|
-
var occurrence = _occurrence.default.fromResultAndOffset(result, offset), end = occurrence.getEnd(), start = end; ///
|
|
117
|
-
string = string.substring(start); ///
|
|
118
|
-
offset += start;
|
|
119
|
-
occurrences.push(occurrence);
|
|
120
|
-
result = string.match(this.regExp);
|
|
121
|
-
}
|
|
122
|
-
return occurrences;
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: "match",
|
|
127
|
-
value: function match(string) {
|
|
128
|
-
var matches = this.regExp.test(string);
|
|
129
|
-
return matches;
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
key: "isEqualTo",
|
|
134
|
-
value: function isEqualTo(rule) {
|
|
135
|
-
var equalTo = false;
|
|
136
|
-
var ruleType = rule.getType();
|
|
137
|
-
if (ruleType === this.type) {
|
|
138
|
-
var ruleGlob = rule.getGlob();
|
|
139
|
-
if (ruleGlob === this.glob) {
|
|
140
|
-
equalTo = true;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return equalTo;
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
key: "asString",
|
|
148
|
-
value: function asString() {
|
|
149
|
-
var string = this.glob; ///
|
|
150
|
-
return string;
|
|
151
|
-
}
|
|
29
|
+
getType() {
|
|
30
|
+
return this.type;
|
|
31
|
+
}
|
|
32
|
+
getGlob() {
|
|
33
|
+
return this.glob;
|
|
34
|
+
}
|
|
35
|
+
getPattern() {
|
|
36
|
+
return this.pattern;
|
|
37
|
+
}
|
|
38
|
+
getRegExp() {
|
|
39
|
+
return this.regExp;
|
|
40
|
+
}
|
|
41
|
+
toJSON() {
|
|
42
|
+
const type = this.type, glob = this.glob, pattern = this.pattern, json = {
|
|
43
|
+
type,
|
|
44
|
+
glob,
|
|
45
|
+
pattern
|
|
46
|
+
};
|
|
47
|
+
return json;
|
|
48
|
+
}
|
|
49
|
+
find(line) {
|
|
50
|
+
const occurrences = [], content = line.getContent();
|
|
51
|
+
let offset = 0, string = content, result = string.match(this.regExp);
|
|
52
|
+
while(result !== null){
|
|
53
|
+
const occurrence = _occurrence.default.fromResultAndOffset(result, offset), end = occurrence.getEnd(), start = end; ///
|
|
54
|
+
string = string.substring(start); ///
|
|
55
|
+
offset += start;
|
|
56
|
+
occurrences.push(occurrence);
|
|
57
|
+
result = string.match(this.regExp);
|
|
152
58
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
{
|
|
167
|
-
key: "fromStringAnchoredAndDirectory",
|
|
168
|
-
value: function fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
169
|
-
var globRule = null;
|
|
170
|
-
var glob = globFromStringAndDirectory(string, directory);
|
|
171
|
-
if (glob !== null) {
|
|
172
|
-
var type = _types.GLOB_TYPE, pattern = patternFromGlobAndAnchored(glob, anchored), regExp = new RegExp(pattern);
|
|
173
|
-
globRule = new GlobRule(type, glob, pattern, regExp);
|
|
174
|
-
}
|
|
175
|
-
return globRule;
|
|
59
|
+
return occurrences;
|
|
60
|
+
}
|
|
61
|
+
match(string) {
|
|
62
|
+
const matches = this.regExp.test(string);
|
|
63
|
+
return matches;
|
|
64
|
+
}
|
|
65
|
+
isEqualTo(rule) {
|
|
66
|
+
let equalTo = false;
|
|
67
|
+
const ruleType = rule.getType();
|
|
68
|
+
if (ruleType === this.type) {
|
|
69
|
+
const ruleGlob = rule.getGlob();
|
|
70
|
+
if (ruleGlob === this.glob) {
|
|
71
|
+
equalTo = true;
|
|
176
72
|
}
|
|
177
73
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
74
|
+
return equalTo;
|
|
75
|
+
}
|
|
76
|
+
asString() {
|
|
77
|
+
const string = this.glob; ///
|
|
78
|
+
return string;
|
|
79
|
+
}
|
|
80
|
+
static fromJSON(json) {
|
|
81
|
+
let globRule = null;
|
|
82
|
+
const { type } = json;
|
|
83
|
+
if (type === _types.GLOB_TYPE) {
|
|
84
|
+
const { glob, pattern } = json, regExp = new RegExp(pattern);
|
|
85
|
+
globRule = new GlobRule(type, glob, pattern, regExp);
|
|
86
|
+
}
|
|
87
|
+
return globRule;
|
|
88
|
+
}
|
|
89
|
+
static fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
90
|
+
let globRule = null;
|
|
91
|
+
const glob = globFromStringAndDirectory(string, directory);
|
|
92
|
+
if (glob !== null) {
|
|
93
|
+
const type = _types.GLOB_TYPE, pattern = patternFromGlobAndAnchored(glob, anchored), regExp = new RegExp(pattern);
|
|
94
|
+
globRule = new GlobRule(type, glob, pattern, regExp);
|
|
95
|
+
}
|
|
96
|
+
return globRule;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
181
99
|
function patternFromGlobAndAnchored(glob, anchored) {
|
|
182
|
-
|
|
183
|
-
|
|
100
|
+
let pattern = _constants.EMPTY_STRING;
|
|
101
|
+
const characters = [
|
|
102
|
+
...glob
|
|
103
|
+
];
|
|
184
104
|
for(;;){
|
|
185
|
-
|
|
186
|
-
|
|
105
|
+
const converted = _converters.default.some((converter)=>{
|
|
106
|
+
const result = converter.match(characters);
|
|
187
107
|
if (result !== null) {
|
|
188
|
-
pattern =
|
|
108
|
+
pattern = `${pattern}${result}`;
|
|
189
109
|
return true;
|
|
190
110
|
}
|
|
191
111
|
});
|
|
@@ -199,17 +119,17 @@ function patternFromGlobAndAnchored(glob, anchored) {
|
|
|
199
119
|
return pattern;
|
|
200
120
|
}
|
|
201
121
|
function globFromStringAndDirectory(string, directory) {
|
|
202
|
-
|
|
203
|
-
|
|
122
|
+
let glob;
|
|
123
|
+
const stringGlobLiteral = (0, _literal.isStringGlobLiteral)(string);
|
|
204
124
|
if (stringGlobLiteral) {
|
|
205
|
-
|
|
125
|
+
const globLiteral = string; ///
|
|
206
126
|
glob = globLiteral; ///
|
|
207
127
|
glob = (0, _string.removeTrailingForwardSlash)(glob); ///
|
|
208
128
|
if (directory) {
|
|
209
129
|
glob = (0, _string.addTrailingForwardSlash)(glob); ///
|
|
210
130
|
}
|
|
211
131
|
try {
|
|
212
|
-
|
|
132
|
+
const anchored = false, pattern = patternFromGlobAndAnchored(glob, anchored);
|
|
213
133
|
new RegExp(pattern);
|
|
214
134
|
} catch (error) {
|
|
215
135
|
glob = null;
|
|
@@ -220,4 +140,4 @@ function globFromStringAndDirectory(string, directory) {
|
|
|
220
140
|
return glob;
|
|
221
141
|
}
|
|
222
142
|
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlL2dsb2IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBjb252ZXJ0ZXJzIGZyb20gXCIuLi9jb252ZXJ0ZXJzXCI7XG5pbXBvcnQgT2NjdXJyZW5jZSBmcm9tIFwiLi4vb2NjdXJyZW5jZVwiO1xuXG5pbXBvcnQgeyBHTE9CX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzU3RyaW5nR2xvYkxpdGVyYWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2xpdGVyYWxcIjtcbmltcG9ydCB7IGFkZEFuY2hvcnMsIGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoLCByZW1vdmVUcmFpbGluZ0ZvcndhcmRTbGFzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdsb2JSdWxlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgZ2xvYiwgcGF0dGVybiwgcmVnRXhwKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmdsb2IgPSBnbG9iO1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG4gICAgdGhpcy5yZWdFeHAgPSByZWdFeHA7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRHbG9iKCkge1xuICAgIHJldHVybiB0aGlzLmdsb2I7XG4gIH1cblxuICBnZXRQYXR0ZXJuKCkge1xuICAgIHJldHVybiB0aGlzLnBhdHRlcm47XG4gIH1cblxuICBnZXRSZWdFeHAoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVnRXhwO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXG4gICAgICAgICAgZ2xvYiA9IHRoaXMuZ2xvYixcbiAgICAgICAgICBwYXR0ZXJuID0gdGhpcy5wYXR0ZXJuLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgZ2xvYixcbiAgICAgICAgICAgIHBhdHRlcm5cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBmaW5kKGxpbmUpIHtcbiAgICBjb25zdCBvY2N1cnJlbmNlcyA9IFtdLFxuICAgICAgICAgIGNvbnRlbnQgPSBsaW5lLmdldENvbnRlbnQoKTtcblxuICAgIGxldCBvZmZzZXQgPSAwLFxuICAgICAgICBzdHJpbmcgPSBjb250ZW50LCAvLy9cbiAgICAgICAgcmVzdWx0ID0gc3RyaW5nLm1hdGNoKHRoaXMucmVnRXhwKTtcblxuICAgIHdoaWxlIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG9jY3VycmVuY2UgPSBPY2N1cnJlbmNlLmZyb21SZXN1bHRBbmRPZmZzZXQocmVzdWx0LCBvZmZzZXQpLFxuICAgICAgICAgICAgZW5kID0gb2NjdXJyZW5jZS5nZXRFbmQoKSxcbiAgICAgICAgICAgIHN0YXJ0ID0gZW5kOyAgLy8vXG5cbiAgICAgIHN0cmluZyA9IHN0cmluZy5zdWJzdHJpbmcoc3RhcnQpOyAvLy9cblxuICAgICAgb2Zmc2V0ICs9IHN0YXJ0O1xuXG4gICAgICBvY2N1cnJlbmNlcy5wdXNoKG9jY3VycmVuY2UpO1xuXG4gICAgICByZXN1bHQgPSBzdHJpbmcubWF0Y2godGhpcy5yZWdFeHApO1xuICAgIH1cblxuICAgIHJldHVybiBvY2N1cnJlbmNlcztcbiAgfVxuXG4gIG1hdGNoKHN0cmluZykge1xuICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLnJlZ0V4cC50ZXN0KHN0cmluZyk7XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIGlzRXF1YWxUbyhydWxlKSB7XG4gICAgbGV0IGVxdWFsVG8gPSBmYWxzZTtcblxuICAgIGNvbnN0IHJ1bGVUeXBlID0gcnVsZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAocnVsZVR5cGUgPT09IHRoaXMudHlwZSkge1xuICAgICAgY29uc3QgcnVsZUdsb2IgPSBydWxlLmdldEdsb2IoKTtcblxuICAgICAgaWYgKHJ1bGVHbG9iID09PSB0aGlzLmdsb2IpIHtcbiAgICAgICAgZXF1YWxUbyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdsb2I7IC8vL1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IGdsb2JSdWxlID0gbnVsbDtcblxuICAgIGNvbnN0IHsgdHlwZSB9ID0ganNvbjtcblxuICAgIGlmICh0eXBlID09PSBHTE9CX1RZUEUpIHtcbiAgICAgIGNvbnN0IHsgZ2xvYiwgcGF0dGVybiB9ID0ganNvbixcbiAgICAgICAgICAgIHJlZ0V4cCA9IG5ldyBSZWdFeHAocGF0dGVybik7XG5cbiAgICAgIGdsb2JSdWxlID0gbmV3IEdsb2JSdWxlKHR5cGUsIGdsb2IsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdsb2JSdWxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeShzdHJpbmcsIGFuY2hvcmVkLCBkaXJlY3RvcnkpIHtcbiAgICBsZXQgZ2xvYlJ1bGUgPSBudWxsO1xuXG4gICAgY29uc3QgZ2xvYiA9IGdsb2JGcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgZGlyZWN0b3J5KTtcblxuICAgIGlmIChnbG9iICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gR0xPQl9UWVBFLFxuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKSxcbiAgICAgICAgICAgIHJlZ0V4cCA9IG5ldyBSZWdFeHAocGF0dGVybik7XG5cbiAgICAgIGdsb2JSdWxlID0gbmV3IEdsb2JSdWxlKHR5cGUsIGdsb2IsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdsb2JSdWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKSB7XG4gIGxldCBwYXR0ZXJuID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IGNoYXJhY3RlcnMgPSBbIC4uLmdsb2IgXTtcblxuICBmb3IgKDs7KSB7XG4gICAgY29uc3QgY29udmVydGVkID0gY29udmVydGVycy5zb21lKChjb252ZXJ0ZXIpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnRlci5tYXRjaChjaGFyYWN0ZXJzKTtcblxuICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICBwYXR0ZXJuID0gYCR7cGF0dGVybn0ke3Jlc3VsdH1gO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFjb252ZXJ0ZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhbmNob3JlZCkge1xuICAgIHBhdHRlcm4gPSBhZGRBbmNob3JzKHBhdHRlcm4pO1xuICB9XG5cbiAgcmV0dXJuIHBhdHRlcm47XG59XG5cbmZ1bmN0aW9uIGdsb2JGcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgZGlyZWN0b3J5KSB7XG4gIGxldCBnbG9iO1xuXG4gIGNvbnN0IHN0cmluZ0dsb2JMaXRlcmFsID0gaXNTdHJpbmdHbG9iTGl0ZXJhbChzdHJpbmcpO1xuXG4gIGlmIChzdHJpbmdHbG9iTGl0ZXJhbCkge1xuICAgIGNvbnN0IGdsb2JMaXRlcmFsID0gc3RyaW5nOyAvLy9cblxuICAgIGdsb2IgPSBnbG9iTGl0ZXJhbDsgIC8vL1xuXG4gICAgZ2xvYiA9IHJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoKGdsb2IpOyAgLy8vXG5cbiAgICBpZiAoZGlyZWN0b3J5KSB7XG4gICAgICBnbG9iID0gYWRkVHJhaWxpbmdGb3J3YXJkU2xhc2goZ2xvYik7IC8vL1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhbmNob3JlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKTtcblxuICAgICAgbmV3IFJlZ0V4cChwYXR0ZXJuKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZ2xvYiA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGdsb2IgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdsb2I7XG59XG4iXSwibmFtZXMiOlsiR2xvYlJ1bGUiLCJ0eXBlIiwiZ2xvYiIsInBhdHRlcm4iLCJyZWdFeHAiLCJnZXRUeXBlIiwiZ2V0R2xvYiIsImdldFBhdHRlcm4iLCJnZXRSZWdFeHAiLCJ0b0pTT04iLCJqc29uIiwiZmluZCIsImxpbmUiLCJvY2N1cnJlbmNlcyIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwib2Zmc2V0Iiwic3RyaW5nIiwicmVzdWx0IiwibWF0Y2giLCJvY2N1cnJlbmNlIiwiT2NjdXJyZW5jZSIsImZyb21SZXN1bHRBbmRPZmZzZXQiLCJlbmQiLCJnZXRFbmQiLCJzdGFydCIsInN1YnN0cmluZyIsInB1c2giLCJtYXRjaGVzIiwidGVzdCIsImlzRXF1YWxUbyIsInJ1bGUiLCJlcXVhbFRvIiwicnVsZVR5cGUiLCJydWxlR2xvYiIsImFzU3RyaW5nIiwiZnJvbUpTT04iLCJnbG9iUnVsZSIsIkdMT0JfVFlQRSIsIlJlZ0V4cCIsImZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeSIsImFuY2hvcmVkIiwiZGlyZWN0b3J5IiwiZ2xvYkZyb21TdHJpbmdBbmREaXJlY3RvcnkiLCJwYXR0ZXJuRnJvbUdsb2JBbmRBbmNob3JlZCIsIkVNUFRZX1NUUklORyIsImNoYXJhY3RlcnMiLCJjb252ZXJ0ZWQiLCJjb252ZXJ0ZXJzIiwic29tZSIsImNvbnZlcnRlciIsImFkZEFuY2hvcnMiLCJzdHJpbmdHbG9iTGl0ZXJhbCIsImlzU3RyaW5nR2xvYkxpdGVyYWwiLCJnbG9iTGl0ZXJhbCIsInJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoIiwiYWRkVHJhaWxpbmdGb3J3YXJkU2xhc2giLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7aUVBUkU7aUVBQ0E7cUJBRUc7eUJBQ0c7dUJBQ087c0JBQzRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRSxJQUFBLEFBQU1BLHlCQUFOO2FBQU1BLFNBQ1BDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLE1BQU07Z0NBRHBCSjtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE1BQU0sR0FBR0E7O2tCQUxHSjs7WUFRbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osT0FBTztZQUNyQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNUixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQkMsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJDLFVBQVUsSUFBSSxDQUFDQSxPQUFPLEVBQ3RCTyxPQUFPO29CQUNMVCxNQUFBQTtvQkFDQUMsTUFBQUE7b0JBQ0FDLFNBQUFBO2dCQUNGO2dCQUVOLE9BQU9PO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEs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
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlL2dsb2IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBjb252ZXJ0ZXJzIGZyb20gXCIuLi9jb252ZXJ0ZXJzXCI7XG5pbXBvcnQgT2NjdXJyZW5jZSBmcm9tIFwiLi4vb2NjdXJyZW5jZVwiO1xuXG5pbXBvcnQgeyBHTE9CX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzU3RyaW5nR2xvYkxpdGVyYWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2xpdGVyYWxcIjtcbmltcG9ydCB7IGFkZEFuY2hvcnMsIGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoLCByZW1vdmVUcmFpbGluZ0ZvcndhcmRTbGFzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdsb2JSdWxlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgZ2xvYiwgcGF0dGVybiwgcmVnRXhwKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmdsb2IgPSBnbG9iO1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG4gICAgdGhpcy5yZWdFeHAgPSByZWdFeHA7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRHbG9iKCkge1xuICAgIHJldHVybiB0aGlzLmdsb2I7XG4gIH1cblxuICBnZXRQYXR0ZXJuKCkge1xuICAgIHJldHVybiB0aGlzLnBhdHRlcm47XG4gIH1cblxuICBnZXRSZWdFeHAoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVnRXhwO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXG4gICAgICAgICAgZ2xvYiA9IHRoaXMuZ2xvYixcbiAgICAgICAgICBwYXR0ZXJuID0gdGhpcy5wYXR0ZXJuLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgZ2xvYixcbiAgICAgICAgICAgIHBhdHRlcm5cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBmaW5kKGxpbmUpIHtcbiAgICBjb25zdCBvY2N1cnJlbmNlcyA9IFtdLFxuICAgICAgICAgIGNvbnRlbnQgPSBsaW5lLmdldENvbnRlbnQoKTtcblxuICAgIGxldCBvZmZzZXQgPSAwLFxuICAgICAgICBzdHJpbmcgPSBjb250ZW50LCAvLy9cbiAgICAgICAgcmVzdWx0ID0gc3RyaW5nLm1hdGNoKHRoaXMucmVnRXhwKTtcblxuICAgIHdoaWxlIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG9jY3VycmVuY2UgPSBPY2N1cnJlbmNlLmZyb21SZXN1bHRBbmRPZmZzZXQocmVzdWx0LCBvZmZzZXQpLFxuICAgICAgICAgICAgZW5kID0gb2NjdXJyZW5jZS5nZXRFbmQoKSxcbiAgICAgICAgICAgIHN0YXJ0ID0gZW5kOyAgLy8vXG5cbiAgICAgIHN0cmluZyA9IHN0cmluZy5zdWJzdHJpbmcoc3RhcnQpOyAvLy9cblxuICAgICAgb2Zmc2V0ICs9IHN0YXJ0O1xuXG4gICAgICBvY2N1cnJlbmNlcy5wdXNoKG9jY3VycmVuY2UpO1xuXG4gICAgICByZXN1bHQgPSBzdHJpbmcubWF0Y2godGhpcy5yZWdFeHApO1xuICAgIH1cblxuICAgIHJldHVybiBvY2N1cnJlbmNlcztcbiAgfVxuXG4gIG1hdGNoKHN0cmluZykge1xuICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLnJlZ0V4cC50ZXN0KHN0cmluZyk7XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIGlzRXF1YWxUbyhydWxlKSB7XG4gICAgbGV0IGVxdWFsVG8gPSBmYWxzZTtcblxuICAgIGNvbnN0IHJ1bGVUeXBlID0gcnVsZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAocnVsZVR5cGUgPT09IHRoaXMudHlwZSkge1xuICAgICAgY29uc3QgcnVsZUdsb2IgPSBydWxlLmdldEdsb2IoKTtcblxuICAgICAgaWYgKHJ1bGVHbG9iID09PSB0aGlzLmdsb2IpIHtcbiAgICAgICAgZXF1YWxUbyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdsb2I7IC8vL1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IGdsb2JSdWxlID0gbnVsbDtcblxuICAgIGNvbnN0IHsgdHlwZSB9ID0ganNvbjtcblxuICAgIGlmICh0eXBlID09PSBHTE9CX1RZUEUpIHtcbiAgICAgIGNvbnN0IHsgZ2xvYiwgcGF0dGVybiB9ID0ganNvbixcbiAgICAgICAgICAgIHJlZ0V4cCA9IG5ldyBSZWdFeHAocGF0dGVybik7XG5cbiAgICAgIGdsb2JSdWxlID0gbmV3IEdsb2JSdWxlKHR5cGUsIGdsb2IsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdsb2JSdWxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeShzdHJpbmcsIGFuY2hvcmVkLCBkaXJlY3RvcnkpIHtcbiAgICBsZXQgZ2xvYlJ1bGUgPSBudWxsO1xuXG4gICAgY29uc3QgZ2xvYiA9IGdsb2JGcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgZGlyZWN0b3J5KTtcblxuICAgIGlmIChnbG9iICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gR0xPQl9UWVBFLFxuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKSxcbiAgICAgICAgICAgIHJlZ0V4cCA9IG5ldyBSZWdFeHAocGF0dGVybik7XG5cbiAgICAgIGdsb2JSdWxlID0gbmV3IEdsb2JSdWxlKHR5cGUsIGdsb2IsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdsb2JSdWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKSB7XG4gIGxldCBwYXR0ZXJuID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IGNoYXJhY3RlcnMgPSBbIC4uLmdsb2IgXTtcblxuICBmb3IgKDs7KSB7XG4gICAgY29uc3QgY29udmVydGVkID0gY29udmVydGVycy5zb21lKChjb252ZXJ0ZXIpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnRlci5tYXRjaChjaGFyYWN0ZXJzKTtcblxuICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICBwYXR0ZXJuID0gYCR7cGF0dGVybn0ke3Jlc3VsdH1gO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFjb252ZXJ0ZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhbmNob3JlZCkge1xuICAgIHBhdHRlcm4gPSBhZGRBbmNob3JzKHBhdHRlcm4pO1xuICB9XG5cbiAgcmV0dXJuIHBhdHRlcm47XG59XG5cbmZ1bmN0aW9uIGdsb2JGcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgZGlyZWN0b3J5KSB7XG4gIGxldCBnbG9iO1xuXG4gIGNvbnN0IHN0cmluZ0dsb2JMaXRlcmFsID0gaXNTdHJpbmdHbG9iTGl0ZXJhbChzdHJpbmcpO1xuXG4gIGlmIChzdHJpbmdHbG9iTGl0ZXJhbCkge1xuICAgIGNvbnN0IGdsb2JMaXRlcmFsID0gc3RyaW5nOyAvLy9cblxuICAgIGdsb2IgPSBnbG9iTGl0ZXJhbDsgIC8vL1xuXG4gICAgZ2xvYiA9IHJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoKGdsb2IpOyAgLy8vXG5cbiAgICBpZiAoZGlyZWN0b3J5KSB7XG4gICAgICBnbG9iID0gYWRkVHJhaWxpbmdGb3J3YXJkU2xhc2goZ2xvYik7IC8vL1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhbmNob3JlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm5Gcm9tR2xvYkFuZEFuY2hvcmVkKGdsb2IsIGFuY2hvcmVkKTtcblxuICAgICAgbmV3IFJlZ0V4cChwYXR0ZXJuKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZ2xvYiA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGdsb2IgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdsb2I7XG59XG4iXSwibmFtZXMiOlsiR2xvYlJ1bGUiLCJ0eXBlIiwiZ2xvYiIsInBhdHRlcm4iLCJyZWdFeHAiLCJnZXRUeXBlIiwiZ2V0R2xvYiIsImdldFBhdHRlcm4iLCJnZXRSZWdFeHAiLCJ0b0pTT04iLCJqc29uIiwiZmluZCIsImxpbmUiLCJvY2N1cnJlbmNlcyIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwib2Zmc2V0Iiwic3RyaW5nIiwicmVzdWx0IiwibWF0Y2giLCJvY2N1cnJlbmNlIiwiT2NjdXJyZW5jZSIsImZyb21SZXN1bHRBbmRPZmZzZXQiLCJlbmQiLCJnZXRFbmQiLCJzdGFydCIsInN1YnN0cmluZyIsInB1c2giLCJtYXRjaGVzIiwidGVzdCIsImlzRXF1YWxUbyIsInJ1bGUiLCJlcXVhbFRvIiwicnVsZVR5cGUiLCJydWxlR2xvYiIsImFzU3RyaW5nIiwiZnJvbUpTT04iLCJnbG9iUnVsZSIsIkdMT0JfVFlQRSIsIlJlZ0V4cCIsImZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeSIsImFuY2hvcmVkIiwiZGlyZWN0b3J5IiwiZ2xvYkZyb21TdHJpbmdBbmREaXJlY3RvcnkiLCJwYXR0ZXJuRnJvbUdsb2JBbmRBbmNob3JlZCIsIkVNUFRZX1NUUklORyIsImNoYXJhY3RlcnMiLCJjb252ZXJ0ZWQiLCJjb252ZXJ0ZXJzIiwic29tZSIsImNvbnZlcnRlciIsImFkZEFuY2hvcnMiLCJzdHJpbmdHbG9iTGl0ZXJhbCIsImlzU3RyaW5nR2xvYkxpdGVyYWwiLCJnbG9iTGl0ZXJhbCIsInJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoIiwiYWRkVHJhaWxpbmdGb3J3YXJkU2xhc2giLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFxQkE7OzttRUFSRTttRUFDQTt1QkFFRzsyQkFDRzt5QkFDTzt3QkFDNEM7Ozs7OztBQUVqRSxNQUFNQTtJQUNuQixZQUFZQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLENBQUU7UUFDdkMsSUFBSSxDQUFDSCxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO0lBQ2hCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0osSUFBSTtJQUNsQjtJQUVBSyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNKLElBQUk7SUFDbEI7SUFFQUssYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSixPQUFPO0lBQ3JCO0lBRUFLLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0osTUFBTTtJQUNwQjtJQUVBSyxTQUFTO1FBQ1AsTUFBTVIsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJDLE9BQU8sSUFBSSxDQUFDQSxJQUFJLEVBQ2hCQyxVQUFVLElBQUksQ0FBQ0EsT0FBTyxFQUN0Qk8sT0FBTztZQUNMVDtZQUNBQztZQUNBQztRQUNGO1FBRU4sT0FBT087SUFDVDtJQUVBQyxLQUFLQyxJQUFJLEVBQUU7UUFDVCxNQUFNQyxjQUFjLEVBQUUsRUFDaEJDLFVBQVVGLEtBQUtHLFVBQVU7UUFFL0IsSUFBSUMsU0FBUyxHQUNUQyxTQUFTSCxTQUNUSSxTQUFTRCxPQUFPRSxLQUFLLENBQUMsSUFBSSxDQUFDZixNQUFNO1FBRXJDLE1BQU9jLFdBQVcsS0FBTTtZQUN0QixNQUFNRSxhQUFhQyxtQkFB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
|
package/lib/rule/regex.js
CHANGED
|
@@ -8,146 +8,92 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return RegexRule;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function _class_call_check(instance, Constructor) {
|
|
16
|
-
if (!(instance instanceof Constructor)) {
|
|
17
|
-
throw new TypeError("Cannot call a class as a function");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function _defineProperties(target, props) {
|
|
21
|
-
for(var i = 0; i < props.length; i++){
|
|
22
|
-
var descriptor = props[i];
|
|
23
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
-
descriptor.configurable = true;
|
|
25
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
30
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
-
return Constructor;
|
|
33
|
-
}
|
|
11
|
+
const _occurrence = /*#__PURE__*/ _interop_require_default(require("../occurrence"));
|
|
12
|
+
const _types = require("../types");
|
|
13
|
+
const _literal = require("../utilities/literal");
|
|
14
|
+
const _string = require("../utilities/string");
|
|
34
15
|
function _interop_require_default(obj) {
|
|
35
16
|
return obj && obj.__esModule ? obj : {
|
|
36
17
|
default: obj
|
|
37
18
|
};
|
|
38
19
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
_class_call_check(this, RegexRule);
|
|
20
|
+
class RegexRule {
|
|
21
|
+
constructor(type, pattern, regExp){
|
|
42
22
|
this.type = type;
|
|
43
23
|
this.pattern = pattern;
|
|
44
24
|
this.regExp = regExp;
|
|
45
25
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
72
|
-
return json;
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: "find",
|
|
77
|
-
value: function find(line) {
|
|
78
|
-
var occurrences = [], content = line.getContent();
|
|
79
|
-
var offset = 0, string = content, result = string.match(this.regExp);
|
|
80
|
-
while(result !== null){
|
|
81
|
-
var occurrence = _occurrence.default.fromResultAndOffset(result, offset), end = occurrence.getEnd(), start = end; ///
|
|
82
|
-
string = string.substring(start); ///
|
|
83
|
-
offset += start;
|
|
84
|
-
occurrences.push(occurrence);
|
|
85
|
-
result = string.match(this.regExp);
|
|
86
|
-
}
|
|
87
|
-
return occurrences;
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
key: "match",
|
|
92
|
-
value: function match(string) {
|
|
93
|
-
var matches = this.regExp.test(string);
|
|
94
|
-
return matches;
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
key: "isEqualTo",
|
|
99
|
-
value: function isEqualTo(rule) {
|
|
100
|
-
var equalTo = false;
|
|
101
|
-
var ruleType = rule.getType();
|
|
102
|
-
if (ruleType === this.type) {
|
|
103
|
-
var rulePattern = rule.getPattern();
|
|
104
|
-
if (rulePattern === this.pattern) {
|
|
105
|
-
equalTo = true;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return equalTo;
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
key: "asString",
|
|
113
|
-
value: function asString() {
|
|
114
|
-
var string = (0, _string.addForwardSlashes)(this.pattern); ///
|
|
115
|
-
return string;
|
|
116
|
-
}
|
|
26
|
+
getType() {
|
|
27
|
+
return this.type;
|
|
28
|
+
}
|
|
29
|
+
getPattern() {
|
|
30
|
+
return this.pattern;
|
|
31
|
+
}
|
|
32
|
+
getRegExp() {
|
|
33
|
+
return this.regExp;
|
|
34
|
+
}
|
|
35
|
+
toJSON() {
|
|
36
|
+
const type = this.type, pattern = this.pattern, json = {
|
|
37
|
+
type,
|
|
38
|
+
pattern
|
|
39
|
+
};
|
|
40
|
+
return json;
|
|
41
|
+
}
|
|
42
|
+
find(line) {
|
|
43
|
+
const occurrences = [], content = line.getContent();
|
|
44
|
+
let offset = 0, string = content, result = string.match(this.regExp);
|
|
45
|
+
while(result !== null){
|
|
46
|
+
const occurrence = _occurrence.default.fromResultAndOffset(result, offset), end = occurrence.getEnd(), start = end; ///
|
|
47
|
+
string = string.substring(start); ///
|
|
48
|
+
offset += start;
|
|
49
|
+
occurrences.push(occurrence);
|
|
50
|
+
result = string.match(this.regExp);
|
|
117
51
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
{
|
|
132
|
-
key: "fromStringAnchoredAndDirectory",
|
|
133
|
-
value: function fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
134
|
-
var regexRule = null;
|
|
135
|
-
var pattern = patternFromStringAndDirectory(string, anchored, directory);
|
|
136
|
-
if (pattern !== null) {
|
|
137
|
-
var type = _types.REGEX_TYPE, regExp = new RegExp(pattern);
|
|
138
|
-
regexRule = new RegexRule(type, pattern, regExp);
|
|
139
|
-
}
|
|
140
|
-
return regexRule;
|
|
52
|
+
return occurrences;
|
|
53
|
+
}
|
|
54
|
+
match(string) {
|
|
55
|
+
const matches = this.regExp.test(string);
|
|
56
|
+
return matches;
|
|
57
|
+
}
|
|
58
|
+
isEqualTo(rule) {
|
|
59
|
+
let equalTo = false;
|
|
60
|
+
const ruleType = rule.getType();
|
|
61
|
+
if (ruleType === this.type) {
|
|
62
|
+
const rulePattern = rule.getPattern();
|
|
63
|
+
if (rulePattern === this.pattern) {
|
|
64
|
+
equalTo = true;
|
|
141
65
|
}
|
|
142
66
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
67
|
+
return equalTo;
|
|
68
|
+
}
|
|
69
|
+
asString() {
|
|
70
|
+
const string = (0, _string.addForwardSlashes)(this.pattern); ///
|
|
71
|
+
return string;
|
|
72
|
+
}
|
|
73
|
+
static fromJSON(json) {
|
|
74
|
+
let regexRule = null;
|
|
75
|
+
const { type } = json;
|
|
76
|
+
if (type === _types.REGEX_TYPE) {
|
|
77
|
+
const { pattern } = json, regExp = new RegExp(pattern);
|
|
78
|
+
regexRule = new RegexRule(type, pattern, regExp);
|
|
79
|
+
}
|
|
80
|
+
return regexRule;
|
|
81
|
+
}
|
|
82
|
+
static fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
83
|
+
let regexRule = null;
|
|
84
|
+
const pattern = patternFromStringAndDirectory(string, anchored, directory);
|
|
85
|
+
if (pattern !== null) {
|
|
86
|
+
const type = _types.REGEX_TYPE, regExp = new RegExp(pattern);
|
|
87
|
+
regexRule = new RegexRule(type, pattern, regExp);
|
|
88
|
+
}
|
|
89
|
+
return regexRule;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
146
92
|
function patternFromStringAndDirectory(string, anchored, directory) {
|
|
147
|
-
|
|
148
|
-
|
|
93
|
+
let pattern;
|
|
94
|
+
const stringRegexLiteral = (0, _literal.isStringRegexLiteral)(string);
|
|
149
95
|
if (stringRegexLiteral) {
|
|
150
|
-
|
|
96
|
+
const regexLiteral = string; ///
|
|
151
97
|
pattern = (0, _string.removeForwardSlashes)(regexLiteral);
|
|
152
98
|
pattern = (0, _string.removeAnchors)(pattern); ///
|
|
153
99
|
pattern = (0, _string.removeTrailingEscapedForwardSlash)(pattern); ///
|
|
@@ -168,4 +114,4 @@ function patternFromStringAndDirectory(string, anchored, directory) {
|
|
|
168
114
|
return pattern;
|
|
169
115
|
}
|
|
170
116
|
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlL3JlZ2V4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2NjdXJyZW5jZSBmcm9tIFwiLi4vb2NjdXJyZW5jZVwiO1xuXG5pbXBvcnQgeyBSRUdFWF9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBpc1N0cmluZ1JlZ2V4TGl0ZXJhbCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGl0ZXJhbFwiO1xuaW1wb3J0IHsgYWRkQW5jaG9ycyxcbiAgICAgICAgIHJlbW92ZUFuY2hvcnMsXG4gICAgICAgICBhZGRGb3J3YXJkU2xhc2hlcyxcbiAgICAgICAgIHJlbW92ZUZvcndhcmRTbGFzaGVzLFxuICAgICAgICAgYWRkVHJhaWxpbmdFc2NhcGVkRm9yd2FyZFNsYXNoLFxuICAgICAgICAgcmVtb3ZlVHJhaWxpbmdFc2NhcGVkRm9yd2FyZFNsYXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhSdWxlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgcGF0dGVybiwgcmVnRXhwKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xuICAgIHRoaXMucmVnRXhwID0gcmVnRXhwO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0UGF0dGVybigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXR0ZXJuO1xuICB9XG5cbiAgZ2V0UmVnRXhwKCkge1xuICAgIHJldHVybiB0aGlzLnJlZ0V4cDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy50eXBlLFxuICAgICAgICAgIHBhdHRlcm4gPSB0aGlzLnBhdHRlcm4sXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBwYXR0ZXJuXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgZmluZChsaW5lKSB7XG4gICAgY29uc3Qgb2NjdXJyZW5jZXMgPSBbXSxcbiAgICAgICAgICBjb250ZW50ID0gbGluZS5nZXRDb250ZW50KCk7XG5cbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgICAgc3RyaW5nID0gY29udGVudCwgLy8vXG4gICAgICAgIHJlc3VsdCA9IHN0cmluZy5tYXRjaCh0aGlzLnJlZ0V4cCk7XG5cbiAgICB3aGlsZSAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvY2N1cnJlbmNlID0gT2NjdXJyZW5jZS5mcm9tUmVzdWx0QW5kT2Zmc2V0KHJlc3VsdCwgb2Zmc2V0KSxcbiAgICAgICAgICAgIGVuZCA9IG9jY3VycmVuY2UuZ2V0RW5kKCksXG4gICAgICAgICAgICBzdGFydCA9IGVuZDsgIC8vL1xuXG4gICAgICBzdHJpbmcgPSBzdHJpbmcuc3Vic3RyaW5nKHN0YXJ0KTsgLy8vXG5cbiAgICAgIG9mZnNldCArPSBzdGFydDtcblxuICAgICAgb2NjdXJyZW5jZXMucHVzaChvY2N1cnJlbmNlKTtcblxuICAgICAgcmVzdWx0ID0gc3RyaW5nLm1hdGNoKHRoaXMucmVnRXhwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBtYXRjaChzdHJpbmcpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdGhpcy5yZWdFeHAudGVzdChzdHJpbmcpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBpc0VxdWFsVG8ocnVsZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlVHlwZSA9IHJ1bGUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHJ1bGVUeXBlID09PSB0aGlzLnR5cGUpIHtcbiAgICAgIGNvbnN0IHJ1bGVQYXR0ZXJuID0gcnVsZS5nZXRQYXR0ZXJuKCk7XG5cbiAgICAgIGlmIChydWxlUGF0dGVybiA9PT0gdGhpcy5wYXR0ZXJuKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gYWRkRm9yd2FyZFNsYXNoZXModGhpcy5wYXR0ZXJuKTsgIC8vL1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IHJlZ2V4UnVsZSA9IG51bGw7XG5cbiAgICBjb25zdCB7IHR5cGUgfSA9IGpzb247XG5cbiAgICBpZiAodHlwZSA9PT0gUkVHRVhfVFlQRSkge1xuICAgICAgY29uc3QgeyBwYXR0ZXJuIH0gPSBqc29uLFxuICAgICAgICAgICAgcmVnRXhwID0gbmV3IFJlZ0V4cChwYXR0ZXJuKTtcblxuICAgICAgcmVnZXhSdWxlID0gbmV3IFJlZ2V4UnVsZSh0eXBlLCBwYXR0ZXJuLCByZWdFeHApO1xuICAgIH1cblxuICAgIHJldHVybiByZWdleFJ1bGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZ0FuY2hvcmVkQW5kRGlyZWN0b3J5KHN0cmluZywgYW5jaG9yZWQsIGRpcmVjdG9yeSkge1xuICAgIGxldCByZWdleFJ1bGUgPSBudWxsO1xuXG4gICAgY29uc3QgcGF0dGVybiA9IHBhdHRlcm5Gcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgYW5jaG9yZWQsIGRpcmVjdG9yeSk7XG5cbiAgICBpZiAocGF0dGVybiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IFJFR0VYX1RZUEUsXG4gICAgICAgICAgICByZWdFeHAgPSBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuXG4gICAgICByZWdleFJ1bGUgPSBuZXcgUmVnZXhSdWxlKHR5cGUsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2V4UnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXR0ZXJuRnJvbVN0cmluZ0FuZERpcmVjdG9yeShzdHJpbmcsIGFuY2hvcmVkLCBkaXJlY3RvcnkpIHtcbiAgbGV0IHBhdHRlcm47XG5cbiAgY29uc3Qgc3RyaW5nUmVnZXhMaXRlcmFsID0gaXNTdHJpbmdSZWdleExpdGVyYWwoc3RyaW5nKTtcblxuICBpZiAoc3RyaW5nUmVnZXhMaXRlcmFsKSB7XG4gICAgY29uc3QgcmVnZXhMaXRlcmFsID0gc3RyaW5nOyAgLy8vXG5cbiAgICBwYXR0ZXJuID0gcmVtb3ZlRm9yd2FyZFNsYXNoZXMocmVnZXhMaXRlcmFsKTtcblxuICAgIHBhdHRlcm4gPSByZW1vdmVBbmNob3JzKHBhdHRlcm4pOyAvLy9cblxuICAgIHBhdHRlcm4gPSByZW1vdmVUcmFpbGluZ0VzY2FwZWRGb3J3YXJkU2xhc2gocGF0dGVybik7ICAvLy9cblxuICAgIGlmIChkaXJlY3RvcnkpIHtcbiAgICAgIHBhdHRlcm4gPSBhZGRUcmFpbGluZ0VzY2FwZWRGb3J3YXJkU2xhc2gocGF0dGVybik7IC8vL1xuICAgIH1cblxuICAgIGlmIChhbmNob3JlZCkge1xuICAgICAgcGF0dGVybiA9IGFkZEFuY2hvcnMocGF0dGVybik7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIG5ldyBSZWdFeHAocGF0dGVybik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBhdHRlcm4gPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwYXR0ZXJuID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwYXR0ZXJuO1xufVxuXG4iXSwibmFtZXMiOlsiUmVnZXhSdWxlIiwidHlwZSIsInBhdHRlcm4iLCJyZWdFeHAiLCJnZXRUeXBlIiwiZ2V0UGF0dGVybiIsImdldFJlZ0V4cCIsInRvSlNPTiIsImpzb24iLCJmaW5kIiwibGluZSIsIm9jY3VycmVuY2VzIiwiY29udGVudCIsImdldENvbnRlbnQiLCJvZmZzZXQiLCJzdHJpbmciLCJyZXN1bHQiLCJtYXRjaCIsIm9jY3VycmVuY2UiLCJPY2N1cnJlbmNlIiwiZnJvbVJlc3VsdEFuZE9mZnNldCIsImVuZCIsImdldEVuZCIsInN0YXJ0Iiwic3Vic3RyaW5nIiwicHVzaCIsIm1hdGNoZXMiLCJ0ZXN0IiwiaXNFcXVhbFRvIiwicnVsZSIsImVxdWFsVG8iLCJydWxlVHlwZSIsInJ1bGVQYXR0ZXJuIiwiYXNTdHJpbmciLCJhZGRGb3J3YXJkU2xhc2hlcyIsImZyb21KU09OIiwicmVnZXhSdWxlIiwiUkVHRVhfVFlQRSIsIlJlZ0V4cCIsImZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeSIsImFuY2hvcmVkIiwiZGlyZWN0b3J5IiwicGF0dGVybkZyb21TdHJpbmdBbmREaXJlY3RvcnkiLCJzdHJpbmdSZWdleExpdGVyYWwiLCJpc1N0cmluZ1JlZ2V4TGl0ZXJhbCIsInJlZ2V4TGl0ZXJhbCIsInJlbW92ZUZvcndhcmRTbGFzaGVzIiwicmVtb3ZlQW5jaG9ycyIsInJlbW92ZVRyYWlsaW5nRXNjYXBlZEZvcndhcmRTbGFzaCIsImFkZFRyYWlsaW5nRXNjYXBlZEZvcndhcmRTbGFzaCIsImFkZEFuY2hvcnMiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFxQkE7OzttRUFYRTt1QkFFSTt5QkFDVTt3QkFNYTs7Ozs7O0FBRW5DLE1BQU1BO0lBQ25CLFlBQVlDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLENBQUU7UUFDakMsSUFBSSxDQUFDRixJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO0lBQ2hCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDSCxNQUFNO0lBQ3BCO0lBRUFJLFNBQVM7UUFDUCxNQUFNTixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQkMsVUFBVSxJQUFJLENBQUNBLE9BQU8sRUFDdEJNLE9B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
|