@steedos/odata-v4-parser 2.2.53-beta.3
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/LICENSE.txt +22 -0
- package/README.md +31 -0
- package/lib/expressions.d.ts +94 -0
- package/lib/expressions.js +942 -0
- package/lib/expressions.js.map +1 -0
- package/lib/json.d.ts +24 -0
- package/lib/json.js +391 -0
- package/lib/json.js.map +1 -0
- package/lib/lexer.d.ts +243 -0
- package/lib/lexer.js +595 -0
- package/lib/lexer.js.map +1 -0
- package/lib/nameOrIdentifier.d.ts +56 -0
- package/lib/nameOrIdentifier.js +850 -0
- package/lib/nameOrIdentifier.js.map +1 -0
- package/lib/odataUri.d.ts +6 -0
- package/lib/odataUri.js +34 -0
- package/lib/odataUri.js.map +1 -0
- package/lib/parser.d.ts +16 -0
- package/lib/parser.js +50 -0
- package/lib/parser.js.map +1 -0
- package/lib/primitiveLiteral.d.ts +63 -0
- package/lib/primitiveLiteral.js +793 -0
- package/lib/primitiveLiteral.js.map +1 -0
- package/lib/query.d.ts +42 -0
- package/lib/query.js +903 -0
- package/lib/query.js.map +1 -0
- package/lib/resourcePath.d.ts +31 -0
- package/lib/resourcePath.js +469 -0
- package/lib/resourcePath.js.map +1 -0
- package/lib/utils.d.ts +8 -0
- package/lib/utils.js +37 -0
- package/lib/utils.js.map +1 -0
- package/package.json +24 -0
- package/src/expressions.ts +825 -0
- package/src/json.ts +372 -0
- package/src/lexer.ts +491 -0
- package/src/nameOrIdentifier.ts +749 -0
- package/src/odataUri.ts +37 -0
- package/src/parser.ts +37 -0
- package/src/primitiveLiteral.ts +684 -0
- package/src/query.ts +884 -0
- package/src/resourcePath.ts +461 -0
- package/src/utils.ts +36 -0
- package/tsconfig.json +33 -0
package/lib/lexer.js
ADDED
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Lexer = exports.LexerToken = exports.Token = exports.LexerTokenType = exports.TokenType = void 0;
|
|
4
|
+
var utils_1 = require("./utils");
|
|
5
|
+
var TokenType;
|
|
6
|
+
(function (TokenType) {
|
|
7
|
+
TokenType["Literal"] = "Literal";
|
|
8
|
+
TokenType["ArrayOrObject"] = "ArrayOrObject";
|
|
9
|
+
TokenType["Array"] = "Array";
|
|
10
|
+
TokenType["Object"] = "Object";
|
|
11
|
+
TokenType["Property"] = "Property";
|
|
12
|
+
TokenType["Annotation"] = "Annotation";
|
|
13
|
+
TokenType["Enum"] = "Enum";
|
|
14
|
+
TokenType["EnumValue"] = "EnumValue";
|
|
15
|
+
TokenType["EnumMemberValue"] = "EnumMemberValue";
|
|
16
|
+
TokenType["Identifier"] = "Identifier";
|
|
17
|
+
TokenType["QualifiedEntityTypeName"] = "QualifiedEntityTypeName";
|
|
18
|
+
TokenType["QualifiedComplexTypeName"] = "QualifiedComplexTypeName";
|
|
19
|
+
TokenType["ODataIdentifier"] = "ODataIdentifier";
|
|
20
|
+
TokenType["Collection"] = "Collection";
|
|
21
|
+
TokenType["NamespacePart"] = "NamespacePart";
|
|
22
|
+
TokenType["EntitySetName"] = "EntitySetName";
|
|
23
|
+
TokenType["SingletonEntity"] = "SingletonEntity";
|
|
24
|
+
TokenType["EntityTypeName"] = "EntityTypeName";
|
|
25
|
+
TokenType["ComplexTypeName"] = "ComplexTypeName";
|
|
26
|
+
TokenType["TypeDefinitionName"] = "TypeDefinitionName";
|
|
27
|
+
TokenType["EnumerationTypeName"] = "EnumerationTypeName";
|
|
28
|
+
TokenType["EnumerationMember"] = "EnumerationMember";
|
|
29
|
+
TokenType["TermName"] = "TermName";
|
|
30
|
+
TokenType["PrimitiveProperty"] = "PrimitiveProperty";
|
|
31
|
+
TokenType["PrimitiveKeyProperty"] = "PrimitiveKeyProperty";
|
|
32
|
+
TokenType["PrimitiveNonKeyProperty"] = "PrimitiveNonKeyProperty";
|
|
33
|
+
TokenType["PrimitiveCollectionProperty"] = "PrimitiveCollectionProperty";
|
|
34
|
+
TokenType["ComplexProperty"] = "ComplexProperty";
|
|
35
|
+
TokenType["ComplexCollectionProperty"] = "ComplexCollectionProperty";
|
|
36
|
+
TokenType["StreamProperty"] = "StreamProperty";
|
|
37
|
+
TokenType["NavigationProperty"] = "NavigationProperty";
|
|
38
|
+
TokenType["EntityNavigationProperty"] = "EntityNavigationProperty";
|
|
39
|
+
TokenType["EntityCollectionNavigationProperty"] = "EntityCollectionNavigationProperty";
|
|
40
|
+
TokenType["Action"] = "Action";
|
|
41
|
+
TokenType["ActionImport"] = "ActionImport";
|
|
42
|
+
TokenType["Function"] = "Function";
|
|
43
|
+
TokenType["EntityFunction"] = "EntityFunction";
|
|
44
|
+
TokenType["EntityCollectionFunction"] = "EntityCollectionFunction";
|
|
45
|
+
TokenType["ComplexFunction"] = "ComplexFunction";
|
|
46
|
+
TokenType["ComplexCollectionFunction"] = "ComplexCollectionFunction";
|
|
47
|
+
TokenType["PrimitiveFunction"] = "PrimitiveFunction";
|
|
48
|
+
TokenType["PrimitiveCollectionFunction"] = "PrimitiveCollectionFunction";
|
|
49
|
+
TokenType["EntityFunctionImport"] = "EntityFunctionImport";
|
|
50
|
+
TokenType["EntityCollectionFunctionImport"] = "EntityCollectionFunctionImport";
|
|
51
|
+
TokenType["ComplexFunctionImport"] = "ComplexFunctionImport";
|
|
52
|
+
TokenType["ComplexCollectionFunctionImport"] = "ComplexCollectionFunctionImport";
|
|
53
|
+
TokenType["PrimitiveFunctionImport"] = "PrimitiveFunctionImport";
|
|
54
|
+
TokenType["PrimitiveCollectionFunctionImport"] = "PrimitiveCollectionFunctionImport";
|
|
55
|
+
TokenType["CommonExpression"] = "CommonExpression";
|
|
56
|
+
TokenType["AndExpression"] = "AndExpression";
|
|
57
|
+
TokenType["OrExpression"] = "OrExpression";
|
|
58
|
+
TokenType["EqualsExpression"] = "EqualsExpression";
|
|
59
|
+
TokenType["NotEqualsExpression"] = "NotEqualsExpression";
|
|
60
|
+
TokenType["LesserThanExpression"] = "LesserThanExpression";
|
|
61
|
+
TokenType["LesserOrEqualsExpression"] = "LesserOrEqualsExpression";
|
|
62
|
+
TokenType["GreaterThanExpression"] = "GreaterThanExpression";
|
|
63
|
+
TokenType["GreaterOrEqualsExpression"] = "GreaterOrEqualsExpression";
|
|
64
|
+
TokenType["HasExpression"] = "HasExpression";
|
|
65
|
+
TokenType["AddExpression"] = "AddExpression";
|
|
66
|
+
TokenType["SubExpression"] = "SubExpression";
|
|
67
|
+
TokenType["MulExpression"] = "MulExpression";
|
|
68
|
+
TokenType["DivExpression"] = "DivExpression";
|
|
69
|
+
TokenType["ModExpression"] = "ModExpression";
|
|
70
|
+
TokenType["NotExpression"] = "NotExpression";
|
|
71
|
+
TokenType["BoolParenExpression"] = "BoolParenExpression";
|
|
72
|
+
TokenType["ParenExpression"] = "ParenExpression";
|
|
73
|
+
TokenType["MethodCallExpression"] = "MethodCallExpression";
|
|
74
|
+
TokenType["IsOfExpression"] = "IsOfExpression";
|
|
75
|
+
TokenType["CastExpression"] = "CastExpression";
|
|
76
|
+
TokenType["NegateExpression"] = "NegateExpression";
|
|
77
|
+
TokenType["FirstMemberExpression"] = "FirstMemberExpression";
|
|
78
|
+
TokenType["MemberExpression"] = "MemberExpression";
|
|
79
|
+
TokenType["PropertyPathExpression"] = "PropertyPathExpression";
|
|
80
|
+
TokenType["ImplicitVariableExpression"] = "ImplicitVariableExpression";
|
|
81
|
+
TokenType["LambdaVariable"] = "LambdaVariable";
|
|
82
|
+
TokenType["LambdaVariableExpression"] = "LambdaVariableExpression";
|
|
83
|
+
TokenType["LambdaPredicateExpression"] = "LambdaPredicateExpression";
|
|
84
|
+
TokenType["AnyExpression"] = "AnyExpression";
|
|
85
|
+
TokenType["AllExpression"] = "AllExpression";
|
|
86
|
+
TokenType["CollectionNavigationExpression"] = "CollectionNavigationExpression";
|
|
87
|
+
TokenType["SimpleKey"] = "SimpleKey";
|
|
88
|
+
TokenType["CompoundKey"] = "CompoundKey";
|
|
89
|
+
TokenType["KeyValuePair"] = "KeyValuePair";
|
|
90
|
+
TokenType["KeyPropertyValue"] = "KeyPropertyValue";
|
|
91
|
+
TokenType["KeyPropertyAlias"] = "KeyPropertyAlias";
|
|
92
|
+
TokenType["SingleNavigationExpression"] = "SingleNavigationExpression";
|
|
93
|
+
TokenType["CollectionPathExpression"] = "CollectionPathExpression";
|
|
94
|
+
TokenType["ComplexPathExpression"] = "ComplexPathExpression";
|
|
95
|
+
TokenType["SinglePathExpression"] = "SinglePathExpression";
|
|
96
|
+
TokenType["FunctionExpression"] = "FunctionExpression";
|
|
97
|
+
TokenType["FunctionExpressionParameters"] = "FunctionExpressionParameters";
|
|
98
|
+
TokenType["FunctionExpressionParameter"] = "FunctionExpressionParameter";
|
|
99
|
+
TokenType["ParameterName"] = "ParameterName";
|
|
100
|
+
TokenType["ParameterAlias"] = "ParameterAlias";
|
|
101
|
+
TokenType["ParameterValue"] = "ParameterValue";
|
|
102
|
+
TokenType["CountExpression"] = "CountExpression";
|
|
103
|
+
TokenType["RefExpression"] = "RefExpression";
|
|
104
|
+
TokenType["ValueExpression"] = "ValueExpression";
|
|
105
|
+
TokenType["RootExpression"] = "RootExpression";
|
|
106
|
+
TokenType["QueryOptions"] = "QueryOptions";
|
|
107
|
+
TokenType["CustomQueryOption"] = "CustomQueryOption";
|
|
108
|
+
TokenType["Expand"] = "Expand";
|
|
109
|
+
TokenType["ExpandItem"] = "ExpandItem";
|
|
110
|
+
TokenType["ExpandPath"] = "ExpandPath";
|
|
111
|
+
TokenType["ExpandCountOption"] = "ExpandCountOption";
|
|
112
|
+
TokenType["ExpandRefOption"] = "ExpandRefOption";
|
|
113
|
+
TokenType["ExpandOption"] = "ExpandOption";
|
|
114
|
+
TokenType["Levels"] = "Levels";
|
|
115
|
+
TokenType["Search"] = "Search";
|
|
116
|
+
TokenType["SearchExpression"] = "SearchExpression";
|
|
117
|
+
TokenType["SearchParenExpression"] = "SearchParenExpression";
|
|
118
|
+
TokenType["SearchNotExpression"] = "SearchNotExpression";
|
|
119
|
+
TokenType["SearchOrExpression"] = "SearchOrExpression";
|
|
120
|
+
TokenType["SearchAndExpression"] = "SearchAndExpression";
|
|
121
|
+
TokenType["SearchTerm"] = "SearchTerm";
|
|
122
|
+
TokenType["SearchPhrase"] = "SearchPhrase";
|
|
123
|
+
TokenType["SearchWord"] = "SearchWord";
|
|
124
|
+
TokenType["Filter"] = "Filter";
|
|
125
|
+
TokenType["OrderBy"] = "OrderBy";
|
|
126
|
+
TokenType["OrderByItem"] = "OrderByItem";
|
|
127
|
+
TokenType["Skip"] = "Skip";
|
|
128
|
+
TokenType["Top"] = "Top";
|
|
129
|
+
TokenType["Format"] = "Format";
|
|
130
|
+
TokenType["InlineCount"] = "InlineCount";
|
|
131
|
+
TokenType["Select"] = "Select";
|
|
132
|
+
TokenType["SelectItem"] = "SelectItem";
|
|
133
|
+
TokenType["SelectPath"] = "SelectPath";
|
|
134
|
+
TokenType["AliasAndValue"] = "AliasAndValue";
|
|
135
|
+
TokenType["SkipToken"] = "SkipToken";
|
|
136
|
+
TokenType["Id"] = "Id";
|
|
137
|
+
TokenType["Crossjoin"] = "Crossjoin";
|
|
138
|
+
TokenType["AllResource"] = "AllResource";
|
|
139
|
+
TokenType["ActionImportCall"] = "ActionImportCall";
|
|
140
|
+
TokenType["FunctionImportCall"] = "FunctionImportCall";
|
|
141
|
+
TokenType["EntityCollectionFunctionImportCall"] = "EntityCollectionFunctionImportCall";
|
|
142
|
+
TokenType["EntityFunctionImportCall"] = "EntityFunctionImportCall";
|
|
143
|
+
TokenType["ComplexCollectionFunctionImportCall"] = "ComplexCollectionFunctionImportCall";
|
|
144
|
+
TokenType["ComplexFunctionImportCall"] = "ComplexFunctionImportCall";
|
|
145
|
+
TokenType["PrimitiveCollectionFunctionImportCall"] = "PrimitiveCollectionFunctionImportCall";
|
|
146
|
+
TokenType["PrimitiveFunctionImportCall"] = "PrimitiveFunctionImportCall";
|
|
147
|
+
TokenType["FunctionParameters"] = "FunctionParameters";
|
|
148
|
+
TokenType["FunctionParameter"] = "FunctionParameter";
|
|
149
|
+
TokenType["ResourcePath"] = "ResourcePath";
|
|
150
|
+
TokenType["CollectionNavigation"] = "CollectionNavigation";
|
|
151
|
+
TokenType["CollectionNavigationPath"] = "CollectionNavigationPath";
|
|
152
|
+
TokenType["SingleNavigation"] = "SingleNavigation";
|
|
153
|
+
TokenType["PropertyPath"] = "PropertyPath";
|
|
154
|
+
TokenType["ComplexPath"] = "ComplexPath";
|
|
155
|
+
TokenType["BoundOperation"] = "BoundOperation";
|
|
156
|
+
TokenType["BoundActionCall"] = "BoundActionCall";
|
|
157
|
+
TokenType["BoundEntityFunctionCall"] = "BoundEntityFunctionCall";
|
|
158
|
+
TokenType["BoundEntityCollectionFunctionCall"] = "BoundEntityCollectionFunctionCall";
|
|
159
|
+
TokenType["BoundComplexFunctionCall"] = "BoundComplexFunctionCall";
|
|
160
|
+
TokenType["BoundComplexCollectionFunctionCall"] = "BoundComplexCollectionFunctionCall";
|
|
161
|
+
TokenType["BoundPrimitiveFunctionCall"] = "BoundPrimitiveFunctionCall";
|
|
162
|
+
TokenType["BoundPrimitiveCollectionFunctionCall"] = "BoundPrimitiveCollectionFunctionCall";
|
|
163
|
+
TokenType["ODataUri"] = "ODataUri";
|
|
164
|
+
TokenType["Batch"] = "Batch";
|
|
165
|
+
TokenType["Entity"] = "Entity";
|
|
166
|
+
TokenType["Metadata"] = "Metadata";
|
|
167
|
+
TokenType["InExpression"] = "InExpression";
|
|
168
|
+
})(TokenType = exports.TokenType || (exports.TokenType = {}));
|
|
169
|
+
exports.LexerTokenType = TokenType;
|
|
170
|
+
var Token = /** @class */ (function () {
|
|
171
|
+
function Token(token) {
|
|
172
|
+
this.position = token.position;
|
|
173
|
+
this.next = token.next;
|
|
174
|
+
this.value = token.value;
|
|
175
|
+
this.type = token.type;
|
|
176
|
+
this.raw = token.raw;
|
|
177
|
+
if (token.metadata)
|
|
178
|
+
this.metadata = token.metadata;
|
|
179
|
+
}
|
|
180
|
+
return Token;
|
|
181
|
+
}());
|
|
182
|
+
exports.Token = Token;
|
|
183
|
+
exports.LexerToken = Token;
|
|
184
|
+
var Lexer;
|
|
185
|
+
(function (Lexer) {
|
|
186
|
+
Lexer.Token = exports.Token;
|
|
187
|
+
Lexer.TokenType = exports.TokenType;
|
|
188
|
+
function tokenize(value, index, next, tokenValue, tokenType, metadataContextContainer) {
|
|
189
|
+
var token = new exports.Token({
|
|
190
|
+
position: index,
|
|
191
|
+
next: next,
|
|
192
|
+
value: tokenValue,
|
|
193
|
+
type: tokenType,
|
|
194
|
+
raw: utils_1.default.stringify(value, index, next)
|
|
195
|
+
});
|
|
196
|
+
if (metadataContextContainer && metadataContextContainer.metadata) {
|
|
197
|
+
token.metadata = metadataContextContainer.metadata;
|
|
198
|
+
delete metadataContextContainer.metadata;
|
|
199
|
+
}
|
|
200
|
+
return token;
|
|
201
|
+
}
|
|
202
|
+
Lexer.tokenize = tokenize;
|
|
203
|
+
function clone(token) {
|
|
204
|
+
return new exports.Token({
|
|
205
|
+
position: token.position,
|
|
206
|
+
next: token.next,
|
|
207
|
+
value: token.value,
|
|
208
|
+
type: token.type,
|
|
209
|
+
raw: token.raw
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
Lexer.clone = clone;
|
|
213
|
+
// core definitions
|
|
214
|
+
function ALPHA(value) { return (value >= 0x41 && value <= 0x5a) || (value >= 0x61 && value <= 0x7a) || value >= 0x80; }
|
|
215
|
+
Lexer.ALPHA = ALPHA;
|
|
216
|
+
function DIGIT(value) { return (value >= 0x30 && value <= 0x39); }
|
|
217
|
+
Lexer.DIGIT = DIGIT;
|
|
218
|
+
function HEXDIG(value) { return Lexer.DIGIT(value) || Lexer.AtoF(value); }
|
|
219
|
+
Lexer.HEXDIG = HEXDIG;
|
|
220
|
+
function AtoF(value) { return (value >= 0x41 && value <= 0x46) || (value >= 0x61 && value <= 0x66); }
|
|
221
|
+
Lexer.AtoF = AtoF;
|
|
222
|
+
function DQUOTE(value) { return value === 0x22; }
|
|
223
|
+
Lexer.DQUOTE = DQUOTE;
|
|
224
|
+
function SP(value) { return value === 0x20; }
|
|
225
|
+
Lexer.SP = SP;
|
|
226
|
+
function HTAB(value) { return value === 0x09; }
|
|
227
|
+
Lexer.HTAB = HTAB;
|
|
228
|
+
function VCHAR(value) { return value >= 0x21 && value <= 0x7e; }
|
|
229
|
+
Lexer.VCHAR = VCHAR;
|
|
230
|
+
// punctuation
|
|
231
|
+
function whitespaceLength(value, index) {
|
|
232
|
+
if (utils_1.default.equals(value, index, "%20") || utils_1.default.equals(value, index, "%09"))
|
|
233
|
+
return 3;
|
|
234
|
+
else if (Lexer.SP(value[index]) || Lexer.HTAB(value[index]) || value[index] === 0x20 || value[index] === 0x09)
|
|
235
|
+
return 1;
|
|
236
|
+
}
|
|
237
|
+
Lexer.whitespaceLength = whitespaceLength;
|
|
238
|
+
function OWS(value, index) {
|
|
239
|
+
index = index || 0;
|
|
240
|
+
var inc = Lexer.whitespaceLength(value, index);
|
|
241
|
+
while (inc) {
|
|
242
|
+
index += inc;
|
|
243
|
+
inc = Lexer.whitespaceLength(value, index);
|
|
244
|
+
}
|
|
245
|
+
return index;
|
|
246
|
+
}
|
|
247
|
+
Lexer.OWS = OWS;
|
|
248
|
+
function RWS(value, index) {
|
|
249
|
+
return Lexer.OWS(value, index);
|
|
250
|
+
}
|
|
251
|
+
Lexer.RWS = RWS;
|
|
252
|
+
function BWS(value, index) {
|
|
253
|
+
return Lexer.OWS(value, index);
|
|
254
|
+
}
|
|
255
|
+
Lexer.BWS = BWS;
|
|
256
|
+
function AT(value, index) {
|
|
257
|
+
if (value[index] === 0x40)
|
|
258
|
+
return index + 1;
|
|
259
|
+
else if (utils_1.default.equals(value, index, "%40"))
|
|
260
|
+
return index + 3;
|
|
261
|
+
}
|
|
262
|
+
Lexer.AT = AT;
|
|
263
|
+
function COLON(value, index) {
|
|
264
|
+
if (value[index] === 0x3a)
|
|
265
|
+
return index + 1;
|
|
266
|
+
else if (utils_1.default.equals(value, index, "%3A"))
|
|
267
|
+
return index + 3;
|
|
268
|
+
}
|
|
269
|
+
Lexer.COLON = COLON;
|
|
270
|
+
function COMMA(value, index) {
|
|
271
|
+
if (value[index] === 0x2c)
|
|
272
|
+
return index + 1;
|
|
273
|
+
else if (utils_1.default.equals(value, index, "%2C"))
|
|
274
|
+
return index + 3;
|
|
275
|
+
}
|
|
276
|
+
Lexer.COMMA = COMMA;
|
|
277
|
+
function EQ(value, index) {
|
|
278
|
+
if (value[index] === 0x3d)
|
|
279
|
+
return index + 1;
|
|
280
|
+
}
|
|
281
|
+
Lexer.EQ = EQ;
|
|
282
|
+
function SIGN(value, index) {
|
|
283
|
+
if (value[index] === 0x2b || value[index] === 0x2d)
|
|
284
|
+
return index + 1;
|
|
285
|
+
else if (utils_1.default.equals(value, index, "%2B"))
|
|
286
|
+
return index + 3;
|
|
287
|
+
}
|
|
288
|
+
Lexer.SIGN = SIGN;
|
|
289
|
+
function SEMI(value, index) {
|
|
290
|
+
if (value[index] === 0x3b)
|
|
291
|
+
return index + 1;
|
|
292
|
+
else if (utils_1.default.equals(value, index, "%3B"))
|
|
293
|
+
return index + 3;
|
|
294
|
+
}
|
|
295
|
+
Lexer.SEMI = SEMI;
|
|
296
|
+
function STAR(value, index) {
|
|
297
|
+
if (value[index] === 0x2a)
|
|
298
|
+
return index + 1;
|
|
299
|
+
else if (utils_1.default.equals(value, index, "%2A"))
|
|
300
|
+
return index + 3;
|
|
301
|
+
}
|
|
302
|
+
Lexer.STAR = STAR;
|
|
303
|
+
function SQUOTE(value, index) {
|
|
304
|
+
if (value[index] === 0x27)
|
|
305
|
+
return index + 1;
|
|
306
|
+
else if (utils_1.default.equals(value, index, "%27"))
|
|
307
|
+
return index + 3;
|
|
308
|
+
}
|
|
309
|
+
Lexer.SQUOTE = SQUOTE;
|
|
310
|
+
function OPEN(value, index) {
|
|
311
|
+
if (value[index] === 0x28)
|
|
312
|
+
return index + 1;
|
|
313
|
+
else if (utils_1.default.equals(value, index, "%28"))
|
|
314
|
+
return index + 3;
|
|
315
|
+
}
|
|
316
|
+
Lexer.OPEN = OPEN;
|
|
317
|
+
function CLOSE(value, index) {
|
|
318
|
+
if (value[index] === 0x29)
|
|
319
|
+
return index + 1;
|
|
320
|
+
else if (utils_1.default.equals(value, index, "%29"))
|
|
321
|
+
return index + 3;
|
|
322
|
+
}
|
|
323
|
+
Lexer.CLOSE = CLOSE;
|
|
324
|
+
// unreserved ALPHA / DIGIT / "-" / "." / "_" / "~"
|
|
325
|
+
function unreserved(value) { return Lexer.ALPHA(value) || Lexer.DIGIT(value) || value === 0x2d || value === 0x2e || value === 0x5f || value === 0x7e; }
|
|
326
|
+
Lexer.unreserved = unreserved;
|
|
327
|
+
// other-delims "!" / "(" / ")" / "*" / "+" / "," / ";"
|
|
328
|
+
function otherDelims(value, index) {
|
|
329
|
+
if (value[index] === 0x21 || value[index] === 0x2b)
|
|
330
|
+
return index + 1;
|
|
331
|
+
else
|
|
332
|
+
return Lexer.OPEN(value, index) || Lexer.CLOSE(value, index) || Lexer.STAR(value, index) || Lexer.COMMA(value, index) || Lexer.SEMI(value, index);
|
|
333
|
+
}
|
|
334
|
+
Lexer.otherDelims = otherDelims;
|
|
335
|
+
// sub-delims = "$" / "&" / "'" / "=" / other-delims
|
|
336
|
+
function subDelims(value, index) {
|
|
337
|
+
if (value[index] === 0x24 || value[index] === 0x26)
|
|
338
|
+
return index + 1;
|
|
339
|
+
else
|
|
340
|
+
return Lexer.SQUOTE(value, index) || Lexer.EQ(value, index) || Lexer.otherDelims(value, index);
|
|
341
|
+
}
|
|
342
|
+
Lexer.subDelims = subDelims;
|
|
343
|
+
function pctEncoded(value, index) {
|
|
344
|
+
if (value[index] !== 0x25 || !Lexer.HEXDIG(value[index + 1]) || !Lexer.HEXDIG(value[index + 2]))
|
|
345
|
+
return index;
|
|
346
|
+
return index + 3;
|
|
347
|
+
}
|
|
348
|
+
Lexer.pctEncoded = pctEncoded;
|
|
349
|
+
// pct-encoded-no-SQUOTE = "%" ( "0" / "1" / "3" / "4" / "5" / "6" / "8" / "9" / A-to-F ) HEXDIG
|
|
350
|
+
// / "%" "2" ( "0" / "1" / "2" / "3" / "4" / "5" / "6" / "8" / "9" / A-to-F )
|
|
351
|
+
function pctEncodedNoSQUOTE(value, index) {
|
|
352
|
+
if (utils_1.default.equals(value, index, "%27"))
|
|
353
|
+
return index;
|
|
354
|
+
return Lexer.pctEncoded(value, index);
|
|
355
|
+
}
|
|
356
|
+
Lexer.pctEncodedNoSQUOTE = pctEncodedNoSQUOTE;
|
|
357
|
+
function pctEncodedUnescaped(value, index) {
|
|
358
|
+
if (utils_1.default.equals(value, index, "%22") ||
|
|
359
|
+
utils_1.default.equals(value, index, "%3") ||
|
|
360
|
+
utils_1.default.equals(value, index, "%4") ||
|
|
361
|
+
utils_1.default.equals(value, index, "%5C"))
|
|
362
|
+
return index;
|
|
363
|
+
return Lexer.pctEncoded(value, index);
|
|
364
|
+
}
|
|
365
|
+
Lexer.pctEncodedUnescaped = pctEncodedUnescaped;
|
|
366
|
+
function pchar(value, index) {
|
|
367
|
+
if (Lexer.unreserved(value[index]))
|
|
368
|
+
return index + 1;
|
|
369
|
+
else
|
|
370
|
+
return Lexer.subDelims(value, index) || Lexer.COLON(value, index) || Lexer.AT(value, index) || Lexer.pctEncoded(value, index) || index;
|
|
371
|
+
}
|
|
372
|
+
Lexer.pchar = pchar;
|
|
373
|
+
function pcharNoSQUOTE(value, index) {
|
|
374
|
+
if (Lexer.unreserved(value[index]) || value[index] === 0x24 || value[index] === 0x26)
|
|
375
|
+
return index + 1;
|
|
376
|
+
else
|
|
377
|
+
return Lexer.otherDelims(value, index) || Lexer.EQ(value, index) || Lexer.COLON(value, index) || Lexer.AT(value, index) || Lexer.pctEncodedNoSQUOTE(value, index) || index;
|
|
378
|
+
}
|
|
379
|
+
Lexer.pcharNoSQUOTE = pcharNoSQUOTE;
|
|
380
|
+
function qcharNoAMP(value, index) {
|
|
381
|
+
if (Lexer.unreserved(value[index]) || value[index] === 0x3a || value[index] === 0x40 || value[index] === 0x2f || value[index] === 0x3f || value[index] === 0x24 || value[index] === 0x27 || value[index] === 0x3d)
|
|
382
|
+
return index + 1;
|
|
383
|
+
else
|
|
384
|
+
return Lexer.pctEncoded(value, index) || Lexer.otherDelims(value, index) || index;
|
|
385
|
+
}
|
|
386
|
+
Lexer.qcharNoAMP = qcharNoAMP;
|
|
387
|
+
function qcharNoAMPDQUOTE(value, index) {
|
|
388
|
+
index = Lexer.BWS(value, index);
|
|
389
|
+
if (Lexer.unreserved(value[index]) || value[index] === 0x3a || value[index] === 0x40 || value[index] === 0x2f || value[index] === 0x3f || value[index] === 0x24 || value[index] === 0x27 || value[index] === 0x3d)
|
|
390
|
+
return index + 1;
|
|
391
|
+
else
|
|
392
|
+
return Lexer.otherDelims(value, index) || Lexer.pctEncodedUnescaped(value, index);
|
|
393
|
+
}
|
|
394
|
+
Lexer.qcharNoAMPDQUOTE = qcharNoAMPDQUOTE;
|
|
395
|
+
// export function pchar(value:number):boolean { return unreserved(value) || otherDelims(value) || value == 0x24 || value == 0x26 || EQ(value) || COLON(value) || AT(value); }
|
|
396
|
+
function base64char(value) { return Lexer.ALPHA(value) || Lexer.DIGIT(value) || value === 0x2d || value === 0x5f; }
|
|
397
|
+
Lexer.base64char = base64char;
|
|
398
|
+
function base64b16(value, index) {
|
|
399
|
+
var start = index;
|
|
400
|
+
if (!Lexer.base64char(value[index]) && !Lexer.base64char(value[index + 1]))
|
|
401
|
+
return start;
|
|
402
|
+
index += 2;
|
|
403
|
+
if (!utils_1.default.is(value[index], "AEIMQUYcgkosw048"))
|
|
404
|
+
return start;
|
|
405
|
+
index++;
|
|
406
|
+
if (value[index] === 0x3d)
|
|
407
|
+
index++;
|
|
408
|
+
return index;
|
|
409
|
+
}
|
|
410
|
+
Lexer.base64b16 = base64b16;
|
|
411
|
+
function base64b8(value, index) {
|
|
412
|
+
var start = index;
|
|
413
|
+
if (!Lexer.base64char(value[index]))
|
|
414
|
+
return start;
|
|
415
|
+
index++;
|
|
416
|
+
if (value[index] !== 0x41 || value[index] !== 0x51 || value[index] !== 0x67 || value[index] !== 0x77)
|
|
417
|
+
return start;
|
|
418
|
+
index++;
|
|
419
|
+
if (value[index] === 0x3d && value[index + 1] === 0x3d)
|
|
420
|
+
index += 2;
|
|
421
|
+
return index;
|
|
422
|
+
}
|
|
423
|
+
Lexer.base64b8 = base64b8;
|
|
424
|
+
function nanInfinity(value, index) {
|
|
425
|
+
return utils_1.default.equals(value, index, "NaN") || utils_1.default.equals(value, index, "-INF") || utils_1.default.equals(value, index, "INF");
|
|
426
|
+
}
|
|
427
|
+
Lexer.nanInfinity = nanInfinity;
|
|
428
|
+
function oneToNine(value) { return value !== 0x30 && Lexer.DIGIT(value); }
|
|
429
|
+
Lexer.oneToNine = oneToNine;
|
|
430
|
+
function zeroToFiftyNine(value, index) {
|
|
431
|
+
if (value[index] >= 0x30 && value[index] <= 0x35 && Lexer.DIGIT(value[index + 1]))
|
|
432
|
+
return index + 2;
|
|
433
|
+
return index;
|
|
434
|
+
}
|
|
435
|
+
Lexer.zeroToFiftyNine = zeroToFiftyNine;
|
|
436
|
+
function year(value, index) {
|
|
437
|
+
var start = index;
|
|
438
|
+
var end = index;
|
|
439
|
+
if (value[index] === 0x2d)
|
|
440
|
+
index++;
|
|
441
|
+
if ((value[index] === 0x30 && (end = utils_1.default.required(value, index + 1, Lexer.DIGIT, 3, 3))) ||
|
|
442
|
+
(Lexer.oneToNine(value[index]) && (end = utils_1.default.required(value, index + 1, Lexer.DIGIT, 3))))
|
|
443
|
+
return end;
|
|
444
|
+
return start;
|
|
445
|
+
}
|
|
446
|
+
Lexer.year = year;
|
|
447
|
+
function month(value, index) {
|
|
448
|
+
if ((value[index] === 0x30 && Lexer.oneToNine(value[index + 1])) ||
|
|
449
|
+
(value[index] === 0x31 && value[index + 1] >= 0x30 && value[index + 1] <= 0x32))
|
|
450
|
+
return index + 2;
|
|
451
|
+
return index;
|
|
452
|
+
}
|
|
453
|
+
Lexer.month = month;
|
|
454
|
+
function day(value, index) {
|
|
455
|
+
if ((value[index] === 0x30 && Lexer.oneToNine(value[index + 1])) ||
|
|
456
|
+
((value[index] === 0x31 || value[index] === 0x32) && Lexer.DIGIT(value[index + 1])) ||
|
|
457
|
+
(value[index] === 0x33 && (value[index + 1] === 0x30 || value[index + 1] === 0x31)))
|
|
458
|
+
return index + 2;
|
|
459
|
+
return index;
|
|
460
|
+
}
|
|
461
|
+
Lexer.day = day;
|
|
462
|
+
function hour(value, index) {
|
|
463
|
+
if (((value[index] === 0x30 || value[index] === 0x31) && Lexer.DIGIT(value[index + 1])) ||
|
|
464
|
+
(value[index] === 0x32 && (value[index + 1] === 0x30 || value[index + 1] === 0x31 || value[index + 1] === 0x32 || value[index + 1] === 0x33)))
|
|
465
|
+
return index + 2;
|
|
466
|
+
return index;
|
|
467
|
+
}
|
|
468
|
+
Lexer.hour = hour;
|
|
469
|
+
function minute(value, index) {
|
|
470
|
+
return Lexer.zeroToFiftyNine(value, index);
|
|
471
|
+
}
|
|
472
|
+
Lexer.minute = minute;
|
|
473
|
+
function second(value, index) {
|
|
474
|
+
return Lexer.zeroToFiftyNine(value, index);
|
|
475
|
+
}
|
|
476
|
+
Lexer.second = second;
|
|
477
|
+
function fractionalSeconds(value, index) {
|
|
478
|
+
return utils_1.default.required(value, index, DIGIT, 1, 12);
|
|
479
|
+
}
|
|
480
|
+
Lexer.fractionalSeconds = fractionalSeconds;
|
|
481
|
+
function geographyPrefix(value, index) {
|
|
482
|
+
return utils_1.default.equals(value, index, "geography") ? index + 9 : index;
|
|
483
|
+
}
|
|
484
|
+
Lexer.geographyPrefix = geographyPrefix;
|
|
485
|
+
function geometryPrefix(value, index) {
|
|
486
|
+
return utils_1.default.equals(value, index, "geometry") ? index + 8 : index;
|
|
487
|
+
}
|
|
488
|
+
Lexer.geometryPrefix = geometryPrefix;
|
|
489
|
+
function identifierLeadingCharacter(value) {
|
|
490
|
+
return Lexer.ALPHA(value) || value === 0x5f;
|
|
491
|
+
}
|
|
492
|
+
Lexer.identifierLeadingCharacter = identifierLeadingCharacter;
|
|
493
|
+
function identifierCharacter(value) {
|
|
494
|
+
return Lexer.identifierLeadingCharacter(value) || Lexer.DIGIT(value);
|
|
495
|
+
}
|
|
496
|
+
Lexer.identifierCharacter = identifierCharacter;
|
|
497
|
+
function beginObject(value, index) {
|
|
498
|
+
var bws = Lexer.BWS(value, index);
|
|
499
|
+
var start = index;
|
|
500
|
+
index = bws;
|
|
501
|
+
if (utils_1.default.equals(value, index, "{"))
|
|
502
|
+
index++;
|
|
503
|
+
else if (utils_1.default.equals(value, index, "%7B"))
|
|
504
|
+
index += 3;
|
|
505
|
+
if (index === bws)
|
|
506
|
+
return start;
|
|
507
|
+
bws = Lexer.BWS(value, index);
|
|
508
|
+
return bws;
|
|
509
|
+
}
|
|
510
|
+
Lexer.beginObject = beginObject;
|
|
511
|
+
function endObject(value, index) {
|
|
512
|
+
var bws = Lexer.BWS(value, index);
|
|
513
|
+
var start = index;
|
|
514
|
+
index = bws;
|
|
515
|
+
if (utils_1.default.equals(value, index, "}"))
|
|
516
|
+
index++;
|
|
517
|
+
else if (utils_1.default.equals(value, index, "%7D"))
|
|
518
|
+
index += 3;
|
|
519
|
+
if (index === bws)
|
|
520
|
+
return start;
|
|
521
|
+
bws = Lexer.BWS(value, index);
|
|
522
|
+
return bws;
|
|
523
|
+
}
|
|
524
|
+
Lexer.endObject = endObject;
|
|
525
|
+
function beginArray(value, index) {
|
|
526
|
+
var bws = Lexer.BWS(value, index);
|
|
527
|
+
var start = index;
|
|
528
|
+
index = bws;
|
|
529
|
+
if (utils_1.default.equals(value, index, "["))
|
|
530
|
+
index++;
|
|
531
|
+
else if (utils_1.default.equals(value, index, "%5B"))
|
|
532
|
+
index += 3;
|
|
533
|
+
if (index === bws)
|
|
534
|
+
return start;
|
|
535
|
+
bws = Lexer.BWS(value, index);
|
|
536
|
+
return bws;
|
|
537
|
+
}
|
|
538
|
+
Lexer.beginArray = beginArray;
|
|
539
|
+
function endArray(value, index) {
|
|
540
|
+
var bws = Lexer.BWS(value, index);
|
|
541
|
+
var start = index;
|
|
542
|
+
index = bws;
|
|
543
|
+
if (utils_1.default.equals(value, index, "]"))
|
|
544
|
+
index++;
|
|
545
|
+
else if (utils_1.default.equals(value, index, "%5D"))
|
|
546
|
+
index += 3;
|
|
547
|
+
if (index === bws)
|
|
548
|
+
return start;
|
|
549
|
+
bws = Lexer.BWS(value, index);
|
|
550
|
+
return bws;
|
|
551
|
+
}
|
|
552
|
+
Lexer.endArray = endArray;
|
|
553
|
+
function quotationMark(value, index) {
|
|
554
|
+
if (Lexer.DQUOTE(value[index]))
|
|
555
|
+
return index + 1;
|
|
556
|
+
if (utils_1.default.equals(value, index, "%22"))
|
|
557
|
+
return index + 3;
|
|
558
|
+
return index;
|
|
559
|
+
}
|
|
560
|
+
Lexer.quotationMark = quotationMark;
|
|
561
|
+
function nameSeparator(value, index) {
|
|
562
|
+
var bws = Lexer.BWS(value, index);
|
|
563
|
+
var start = index;
|
|
564
|
+
index = bws;
|
|
565
|
+
var colon = Lexer.COLON(value, index);
|
|
566
|
+
if (!colon)
|
|
567
|
+
return start;
|
|
568
|
+
index = colon;
|
|
569
|
+
bws = Lexer.BWS(value, index);
|
|
570
|
+
return bws;
|
|
571
|
+
}
|
|
572
|
+
Lexer.nameSeparator = nameSeparator;
|
|
573
|
+
function valueSeparator(value, index) {
|
|
574
|
+
var bws = Lexer.BWS(value, index);
|
|
575
|
+
var start = index;
|
|
576
|
+
index = bws;
|
|
577
|
+
var comma = Lexer.COMMA(value, index);
|
|
578
|
+
if (!comma)
|
|
579
|
+
return start;
|
|
580
|
+
index = comma;
|
|
581
|
+
bws = Lexer.BWS(value, index);
|
|
582
|
+
return bws;
|
|
583
|
+
}
|
|
584
|
+
Lexer.valueSeparator = valueSeparator;
|
|
585
|
+
function escape(value, index) {
|
|
586
|
+
if (utils_1.default.equals(value, index, "\\"))
|
|
587
|
+
return index + 1;
|
|
588
|
+
if (utils_1.default.equals(value, index, "%5C"))
|
|
589
|
+
return index + 3;
|
|
590
|
+
return index;
|
|
591
|
+
}
|
|
592
|
+
Lexer.escape = escape;
|
|
593
|
+
})(Lexer = exports.Lexer || (exports.Lexer = {}));
|
|
594
|
+
exports.default = Lexer;
|
|
595
|
+
//# sourceMappingURL=lexer.js.map
|
package/lib/lexer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAE5B,IAAY,SAkKX;AAlKD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4CAA+B,CAAA;IAC/B,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;IACb,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,sCAAyB,CAAA;IACzB,gEAAmD,CAAA;IACnD,kEAAqD,CAAA;IACrD,gDAAmC,CAAA;IACnC,sCAAyB,CAAA;IACzB,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,oDAAuC,CAAA;IACvC,0DAA6C,CAAA;IAC7C,gEAAmD,CAAA;IACnD,wEAA2D,CAAA;IAC3D,gDAAmC,CAAA;IACnC,oEAAuD,CAAA;IACvD,8CAAiC,CAAA;IACjC,sDAAyC,CAAA;IACzC,kEAAqD,CAAA;IACrD,sFAAyE,CAAA;IACzE,8BAAiB,CAAA;IACjB,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8CAAiC,CAAA;IACjC,kEAAqD,CAAA;IACrD,gDAAmC,CAAA;IACnC,oEAAuD,CAAA;IACvD,oDAAuC,CAAA;IACvC,wEAA2D,CAAA;IAC3D,0DAA6C,CAAA;IAC7C,8EAAiE,CAAA;IACjE,4DAA+C,CAAA;IAC/C,gFAAmE,CAAA;IACnE,gEAAmD,CAAA;IACnD,oFAAuE,CAAA;IACvE,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,0DAA6C,CAAA;IAC7C,kEAAqD,CAAA;IACrD,4DAA+C,CAAA;IAC/C,oEAAuD,CAAA;IACvD,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,0DAA6C,CAAA;IAC7C,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,8DAAiD,CAAA;IACjD,sEAAyD,CAAA;IACzD,8CAAiC,CAAA;IACjC,kEAAqD,CAAA;IACrD,oEAAuD,CAAA;IACvD,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,8EAAiE,CAAA;IACjE,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,sEAAyD,CAAA;IACzD,kEAAqD,CAAA;IACrD,4DAA+C,CAAA;IAC/C,0DAA6C,CAAA;IAC7C,sDAAyC,CAAA;IACzC,0EAA6D,CAAA;IAC7D,wEAA2D,CAAA;IAC3D,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,wDAA2C,CAAA;IAC3C,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,sCAAyB,CAAA;IACzB,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,wCAA2B,CAAA;IAC3B,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,sBAAS,CAAA;IACT,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,sDAAyC,CAAA;IACzC,sFAAyE,CAAA;IACzE,kEAAqD,CAAA;IACrD,wFAA2E,CAAA;IAC3E,oEAAuD,CAAA;IACvD,4FAA+E,CAAA;IAC/E,wEAA2D,CAAA;IAC3D,sDAAyC,CAAA;IACzC,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,0DAA6C,CAAA;IAC7C,kEAAqD,CAAA;IACrD,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,gEAAmD,CAAA;IACnD,oFAAuE,CAAA;IACvE,kEAAqD,CAAA;IACrD,sFAAyE,CAAA;IACzE,sEAAyD,CAAA;IACzD,0FAA6E,CAAA;IAC7E,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,0CAA4B,CAAA;AAChC,CAAC,EAlKW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAkKpB;AAEY,QAAA,cAAc,GAAG,SAAS,CAAC;AAGxC;IAOI,eAAY,KAAK;QACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,CAAC;IACL,YAAC;AAAD,CAAC,AAfD,IAeC;AAfY,sBAAK;AAiBL,QAAA,UAAU,GAAG,KAAK,CAAC;AAGhC,IAAiB,KAAK,CA2SrB;AA3SD,WAAiB,KAAK;IAEL,WAAK,GAAsB,OAAO,CAAC,KAAK,CAAC;IAEzC,eAAS,GAA0B,OAAO,CAAC,SAAS,CAAC;IAElE,SAAgB,QAAQ,CAAC,KAAwB,EAAE,KAAa,EAAE,IAAY,EAAE,UAAe,EAAE,SAAoB,EAAE,wBAAgC;QACnJ,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,eAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;SAC3C,CAAC,CAAC;QACH,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,QAAQ,EAAE;YAC/D,KAAK,CAAC,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YACnD,OAAO,wBAAwB,CAAC,QAAQ,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAbe,cAAQ,WAavB,CAAA;IAED,SAAgB,KAAK,CAAC,KAAK;QACvB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,KAAK,CAAC,GAAG;SACjB,CAAC,CAAC;IACP,CAAC;IARe,WAAK,QAQpB,CAAA;IAED,mBAAmB;IACnB,SAAgB,KAAK,CAAC,KAAa,IAAa,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAA/H,WAAK,QAA0H,CAAA;IAC/I,SAAgB,KAAK,CAAC,KAAa,IAAa,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAA1E,WAAK,QAAqE,CAAA;IAC1F,SAAgB,MAAM,CAAC,KAAa,IAAa,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAAlF,YAAM,SAA4E,CAAA;IAClG,SAAgB,IAAI,CAAC,KAAa,IAAa,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAA7G,UAAI,OAAyG,CAAA;IAC7H,SAAgB,MAAM,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAAzD,YAAM,SAAmD,CAAA;IACzE,SAAgB,EAAE,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAArD,QAAE,KAAmD,CAAA;IACrE,SAAgB,IAAI,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAAvD,UAAI,OAAmD,CAAA;IACvE,SAAgB,KAAK,CAAC,KAAa,IAAa,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAAxE,WAAK,QAAmE,CAAA;IAExF,cAAc;IACd,SAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK;QACzC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;aAChF,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;IAC5H,CAAC;IAHe,sBAAgB,mBAG/B,CAAA;IAED,SAAgB,GAAG,CAAC,KAAwB,EAAE,KAAa;QACvD,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;QACnB,IAAI,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE;YACR,KAAK,IAAI,GAAG,CAAC;YACb,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC9C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IARe,SAAG,MAQlB,CAAA;IACD,SAAgB,GAAG,CAAC,KAAwB,EAAE,KAAa;QACvD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAFe,SAAG,MAElB,CAAA;IACD,SAAgB,GAAG,CAAC,KAAwB,EAAE,KAAa;QACvD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAFe,SAAG,MAElB,CAAA;IAED,SAAgB,EAAE,CAAC,KAAwB,EAAE,KAAa;QACtD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,QAAE,KAGjB,CAAA;IACD,SAAgB,KAAK,CAAC,KAAwB,EAAE,KAAa;QACzD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,WAAK,QAGpB,CAAA;IACD,SAAgB,KAAK,CAAC,KAAwB,EAAE,KAAa;QACzD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,WAAK,QAGpB,CAAA;IACD,SAAgB,EAAE,CAAC,KAAwB,EAAE,KAAa;QACtD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IAChD,CAAC;IAFe,QAAE,KAEjB,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aAChE,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,UAAI,OAGnB,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,UAAI,OAGnB,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,UAAI,OAGnB,CAAA;IACD,SAAgB,MAAM,CAAC,KAAwB,EAAE,KAAa;QAC1D,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,YAAM,SAGrB,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,UAAI,OAGnB,CAAA;IACD,SAAgB,KAAK,CAAC,KAAwB,EAAE,KAAa;QACzD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;aACvC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAHe,WAAK,QAGpB,CAAA;IACD,mDAAmD;IACnD,SAAgB,UAAU,CAAC,KAAa,IAAa,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAA/J,gBAAU,aAAqJ,CAAA;IAC/K,yEAAyE;IACzE,SAAgB,WAAW,CAAC,KAAwB,EAAE,KAAa;QAC/D,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAChE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3J,CAAC;IAHe,iBAAW,cAG1B,CAAA;IACD,kGAAkG;IAClG,SAAgB,SAAS,CAAC,KAAwB,EAAE,KAAa;QAC7D,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAChE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;IAHe,eAAS,YAGxB,CAAA;IACD,SAAgB,UAAU,CAAC,KAAwB,EAAE,KAAa;QAC9D,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9G,OAAO,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC;IAHe,gBAAU,aAGzB,CAAA;IACD,kGAAkG;IAClG,qGAAqG;IACrG,SAAgB,kBAAkB,CAAC,KAAwB,EAAE,KAAa;QACtE,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAHe,wBAAkB,qBAGjC,CAAA;IACD,SAAgB,mBAAmB,CAAC,KAAwB,EAAE,KAAa;QACvE,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YACjC,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YAChC,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YAChC,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IANe,yBAAmB,sBAMlC,CAAA;IACD,SAAgB,KAAK,CAAC,KAAwB,EAAE,KAAa;QACzD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAChD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;IAChJ,CAAC;IAHe,WAAK,QAGpB,CAAA;IACD,SAAgB,aAAa,CAAC,KAAwB,EAAE,KAAa;QACjE,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAClG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;IACpL,CAAC;IAHe,mBAAa,gBAG5B,CAAA;IACD,SAAgB,UAAU,CAAC,KAAwB,EAAE,KAAa;QAC9D,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAC/N,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;IAC3F,CAAC;IAHe,gBAAU,aAGzB,CAAA;IACD,SAAgB,gBAAgB,CAAC,KAAwB,EAAE,KAAa;QACpE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;;YAC/N,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAJe,sBAAgB,mBAI/B,CAAA;IACD,8KAA8K;IAC9K,SAAgB,UAAU,CAAC,KAAa,IAAa,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IAA3H,gBAAU,aAAiH,CAAA;IAC3I,SAAgB,SAAS,CAAC,KAAwB,EAAE,KAAa;QAC7D,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACzF,KAAK,IAAI,CAAC,CAAC;QAEX,IAAI,CAAC,eAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,KAAK,EAAE,CAAC;QAER,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,KAAK,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAVe,eAAS,YAUxB,CAAA;IACD,SAAgB,QAAQ,CAAC,KAAwB,EAAE,KAAa;QAC5D,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,KAAK,EAAE,CAAC;QAER,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACnH,KAAK,EAAE,CAAC;QAER,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;YAAE,KAAK,IAAI,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IAVe,cAAQ,WAUvB,CAAA;IACD,SAAgB,WAAW,CAAC,KAAwB,EAAE,KAAa;QAC/D,OAAO,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxH,CAAC;IAFe,iBAAW,cAE1B,CAAA;IACD,SAAgB,SAAS,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAAlF,eAAS,YAAyE,CAAA;IAClG,SAAgB,eAAe,CAAC,KAAwB,EAAE,KAAa;QACnE,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC;IACjB,CAAC;IAHe,qBAAe,kBAG9B,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAC5G,OAAO,KAAK,CAAC;IACjB,CAAC;IAPe,UAAI,OAOnB,CAAA;IACD,SAAgB,KAAK,CAAC,KAAwB,EAAE,KAAa;QACzD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACtG,OAAO,KAAK,CAAC;IACjB,CAAC;IAJe,WAAK,QAIpB,CAAA;IACD,SAAgB,GAAG,CAAC,KAAwB,EAAE,KAAa;QACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QAC1G,OAAO,KAAK,CAAC;IACjB,CAAC;IALe,SAAG,MAKlB,CAAA;IACD,SAAgB,IAAI,CAAC,KAAwB,EAAE,KAAa;QACxD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACpK,OAAO,KAAK,CAAC;IACjB,CAAC;IAJe,UAAI,OAInB,CAAA;IACD,SAAgB,MAAM,CAAC,KAAwB,EAAE,KAAa;QAC1D,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAFe,YAAM,SAErB,CAAA;IACD,SAAgB,MAAM,CAAC,KAAwB,EAAE,KAAa;QAC1D,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAFe,YAAM,SAErB,CAAA;IACD,SAAgB,iBAAiB,CAAC,KAAwB,EAAE,KAAa;QACrE,OAAO,eAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAFe,uBAAiB,oBAEhC,CAAA;IACD,SAAgB,eAAe,CAAC,KAAwB,EAAE,KAAa;QACnE,OAAO,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IACD,SAAgB,cAAc,CAAC,KAAwB,EAAE,KAAa;QAClE,OAAO,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAFe,oBAAc,iBAE7B,CAAA;IACD,SAAgB,0BAA0B,CAAC,KAAa;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;IAChD,CAAC;IAFe,gCAA0B,6BAEzC,CAAA;IACD,SAAgB,mBAAmB,CAAC,KAAa;QAC7C,OAAO,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IAFe,yBAAmB,sBAElC,CAAA;IACD,SAAgB,WAAW,CAAC,KAAwB,EAAE,KAAa;QAC/D,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;aACxC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAEhC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAVe,iBAAW,cAU1B,CAAA;IACD,SAAgB,SAAS,CAAC,KAAwB,EAAE,KAAa;QAC7D,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;aACxC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAEhC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAVe,eAAS,YAUxB,CAAA;IACD,SAAgB,UAAU,CAAC,KAAwB,EAAE,KAAa;QAC9D,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;aACxC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAEhC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAVe,gBAAU,aAUzB,CAAA;IACD,SAAgB,QAAQ,CAAC,KAAwB,EAAE,KAAa;QAC5D,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;YAAE,KAAK,EAAE,CAAC;aACxC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAEhC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAVe,cAAQ,WAUvB,CAAA;IACD,SAAgB,aAAa,CAAC,KAAwB,EAAE,KAAa;QACjE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACjD,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACjB,CAAC;IAJe,mBAAa,gBAI5B,CAAA;IACD,SAAgB,aAAa,CAAC,KAAwB,EAAE,KAAa;QACjE,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,KAAK,GAAG,KAAK,CAAC;QACd,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IATe,mBAAa,gBAS5B,CAAA;IACD,SAAgB,cAAc,CAAC,KAAwB,EAAE,KAAa;QAClE,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,GAAG,GAAG,CAAC;QACZ,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,KAAK,GAAG,KAAK,CAAC;QACd,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IATe,oBAAc,iBAS7B,CAAA;IACD,SAAgB,MAAM,CAAC,KAAwB,EAAE,KAAa;QAC1D,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACvD,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACjB,CAAC;IAJe,YAAM,SAIrB,CAAA;AACL,CAAC,EA3SgB,KAAK,GAAL,aAAK,KAAL,aAAK,QA2SrB;AAED,kBAAe,KAAK,CAAC"}
|