@qraft/asyncapi-plugin 1.0.0-beta.6 → 1.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/_vendor/@stoplight/json-ref-resolver/crawler.js +1 -1
  3. package/dist/_vendor/@stoplight/json-ref-resolver/runner.js +2 -2
  4. package/dist/_vendor/@stoplight/spectral-core/_vendor/brace-expansion/index.js +13 -10
  5. package/dist/_vendor/@stoplight/spectral-core/_vendor/brace-expansion/index.js.map +1 -1
  6. package/dist/_vendor/@stoplight/spectral-core/_vendor/minimatch/minimatch.js +160 -102
  7. package/dist/_vendor/@stoplight/spectral-core/_vendor/minimatch/minimatch.js.map +1 -1
  8. package/dist/_vendor/@stoplight/spectral-core/dist/document.js +2 -2
  9. package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js +2 -2
  10. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js +2 -2
  11. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/ruleset.js +2 -2
  12. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js +1 -1
  13. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/assertions.js +1 -1
  14. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js +1 -1
  15. package/dist/_vendor/@stoplight/spectral-core/dist/runner/runner.js +1 -1
  16. package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js +1 -1
  17. package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js +1 -1
  18. package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js +1 -1
  19. package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js +1 -1
  20. package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js +1 -1
  21. package/dist/_vendor/@stoplight/spectral-functions/dist/length.js +1 -1
  22. package/dist/_vendor/@stoplight/spectral-functions/dist/unreferencedReusableObject.js +1 -1
  23. package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js +1 -1
  24. package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js +1 -1
  25. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/decodeSegmentFragment.js +1 -1
  26. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/index.js +1 -1
  27. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js +1 -1
  28. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printValue.js +1 -1
  29. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js +2 -2
  30. package/dist/_vendor/@stoplight/yaml/index.js +1 -1
  31. package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js +1 -1
  32. package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js +1 -1
  33. package/dist/_vendor/ajv/dist/vocabularies/core/index.js +1 -1
  34. package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js +1 -1
  35. package/dist/_vendor/ajv/dist/vocabularies/format/index.js +1 -1
  36. package/dist/_vendor/ajv/dist/vocabularies/unevaluated/index.js +1 -1
  37. package/dist/_vendor/ajv/dist/vocabularies/validation/index.js +1 -1
  38. package/dist/_vendor/fast-uri/index.js +180 -83
  39. package/dist/_vendor/fast-uri/index.js.map +1 -1
  40. package/dist/_vendor/fast-uri/lib/schemes.js +163 -82
  41. package/dist/_vendor/fast-uri/lib/schemes.js.map +1 -1
  42. package/dist/_vendor/fast-uri/lib/utils.js +327 -128
  43. package/dist/_vendor/fast-uri/lib/utils.js.map +1 -1
  44. package/dist/_vendor/lodash/lodash.js +38 -27
  45. package/dist/_vendor/lodash/lodash.js.map +1 -1
  46. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js +1 -1
  47. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js +1 -1
  48. package/dist/_vendor/safe-stable-stringify/index.js.map +1 -0
  49. package/dist/_vendor/safe-stable-stringify/stable.js.map +1 -0
  50. package/dist/_virtual/index.es.js +3 -3
  51. package/dist/_virtual/index.es2.js +3 -3
  52. package/dist/_virtual/index25.js +2 -2
  53. package/dist/_virtual/index26.js +2 -2
  54. package/dist/_virtual/index27.js +2 -2
  55. package/dist/_virtual/index28.js +2 -2
  56. package/dist/_virtual/index29.js +1 -1
  57. package/dist/_virtual/index38.js +2 -2
  58. package/dist/_virtual/index39.js +2 -2
  59. package/dist/_virtual/index54.js +2 -2
  60. package/dist/_virtual/index55.js +2 -2
  61. package/dist/_virtual/index56.js +2 -2
  62. package/dist/_virtual/index57.js +2 -2
  63. package/dist/_virtual/index59.js +2 -2
  64. package/dist/packageVersion.d.ts +1 -1
  65. package/dist/packageVersion.js +1 -1
  66. package/dist/packageVersion.js.map +1 -1
  67. package/package.json +4 -4
  68. package/src/packageVersion.ts +1 -1
  69. package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/index.js.map +0 -1
  70. package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/stable.js.map +0 -1
  71. package/dist/_vendor/fast-uri/lib/scopedChars.js +0 -40
  72. package/dist/_vendor/fast-uri/lib/scopedChars.js.map +0 -1
  73. /package/dist/_vendor/{@stoplight/json/_vendor/safe-stable-stringify → safe-stable-stringify}/index.js +0 -0
  74. /package/dist/_vendor/{@stoplight/json/_vendor/safe-stable-stringify → safe-stable-stringify}/stable.js +0 -0
@@ -8,29 +8,50 @@ function requireFastUri () {
8
8
  if (hasRequiredFastUri) return fastUri.exports;
9
9
  hasRequiredFastUri = 1;
10
10
 
11
- const { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = /*@__PURE__*/ requireUtils();
12
- const SCHEMES = /*@__PURE__*/ requireSchemes();
13
-
11
+ const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = /*@__PURE__*/ requireUtils();
12
+ const { SCHEMES, getSchemeHandler } = /*@__PURE__*/ requireSchemes();
13
+
14
+ /**
15
+ * @template {import('./types/index').URIComponent|string} T
16
+ * @param {T} uri
17
+ * @param {import('./types/index').Options} [options]
18
+ * @returns {T}
19
+ */
14
20
  function normalize (uri, options) {
15
21
  if (typeof uri === 'string') {
16
- uri = serialize(parse(uri, options), options);
22
+ uri = /** @type {T} */ (normalizeString(uri, options));
17
23
  } else if (typeof uri === 'object') {
18
- uri = parse(serialize(uri, options), options);
24
+ uri = /** @type {T} */ (parse(serialize(uri, options), options));
19
25
  }
20
26
  return uri
21
27
  }
22
28
 
29
+ /**
30
+ * @param {string} baseURI
31
+ * @param {string} relativeURI
32
+ * @param {import('./types/index').Options} [options]
33
+ * @returns {string}
34
+ */
23
35
  function resolve (baseURI, relativeURI, options) {
24
- const schemelessOptions = Object.assign({ scheme: 'null' }, options);
25
- const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
26
- return serialize(resolved, { ...schemelessOptions, skipEscape: true })
36
+ const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' };
37
+ const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
38
+ schemelessOptions.skipEscape = true;
39
+ return serialize(resolved, schemelessOptions)
27
40
  }
28
41
 
29
- function resolveComponents (base, relative, options, skipNormalization) {
42
+ /**
43
+ * @param {import ('./types/index').URIComponent} base
44
+ * @param {import ('./types/index').URIComponent} relative
45
+ * @param {import('./types/index').Options} [options]
46
+ * @param {boolean} [skipNormalization=false]
47
+ * @returns {import ('./types/index').URIComponent}
48
+ */
49
+ function resolveComponent (base, relative, options, skipNormalization) {
50
+ /** @type {import('./types/index').URIComponent} */
30
51
  const target = {};
31
52
  if (!skipNormalization) {
32
- base = parse(serialize(base, options), options); // normalize base components
33
- relative = parse(serialize(relative, options), options); // normalize relative components
53
+ base = parse(serialize(base, options), options); // normalize base component
54
+ relative = parse(serialize(relative, options), options); // normalize relative component
34
55
  }
35
56
  options = options || {};
36
57
 
@@ -59,7 +80,7 @@ function requireFastUri () {
59
80
  target.query = base.query;
60
81
  }
61
82
  } else {
62
- if (relative.path.charAt(0) === '/') {
83
+ if (relative.path[0] === '/') {
63
84
  target.path = removeDotSegments(relative.path);
64
85
  } else {
65
86
  if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {
@@ -86,26 +107,26 @@ function requireFastUri () {
86
107
  return target
87
108
  }
88
109
 
110
+ /**
111
+ * @param {import ('./types/index').URIComponent|string} uriA
112
+ * @param {import ('./types/index').URIComponent|string} uriB
113
+ * @param {import ('./types/index').Options} options
114
+ * @returns {boolean}
115
+ */
89
116
  function equal (uriA, uriB, options) {
90
- if (typeof uriA === 'string') {
91
- uriA = unescape(uriA);
92
- uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true });
93
- } else if (typeof uriA === 'object') {
94
- uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true });
95
- }
117
+ const normalizedA = normalizeComparableURI(uriA, options);
118
+ const normalizedB = normalizeComparableURI(uriB, options);
96
119
 
97
- if (typeof uriB === 'string') {
98
- uriB = unescape(uriB);
99
- uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true });
100
- } else if (typeof uriB === 'object') {
101
- uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true });
102
- }
103
-
104
- return uriA.toLowerCase() === uriB.toLowerCase()
120
+ return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase()
105
121
  }
106
122
 
123
+ /**
124
+ * @param {Readonly<import('./types/index').URIComponent>} cmpts
125
+ * @param {import('./types/index').Options} [opts]
126
+ * @returns {string}
127
+ */
107
128
  function serialize (cmpts, opts) {
108
- const components = {
129
+ const component = {
109
130
  host: cmpts.host,
110
131
  scheme: cmpts.scheme,
111
132
  userinfo: cmpts.userinfo,
@@ -125,29 +146,28 @@ function requireFastUri () {
125
146
  const uriTokens = [];
126
147
 
127
148
  // find scheme handler
128
- const schemeHandler = SCHEMES[(options.scheme || components.scheme || '').toLowerCase()];
149
+ const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
129
150
 
130
151
  // perform scheme specific serialization
131
- if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);
152
+ if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
132
153
 
133
- if (components.path !== undefined) {
154
+ if (component.path !== undefined) {
134
155
  if (!options.skipEscape) {
135
- components.path = escape(components.path);
156
+ component.path = escapePreservingEscapes(component.path);
136
157
 
137
- if (components.scheme !== undefined) {
138
- components.path = components.path.split('%3A').join(':');
158
+ if (component.scheme !== undefined) {
159
+ component.path = component.path.split('%3A').join(':');
139
160
  }
140
161
  } else {
141
- components.path = unescape(components.path);
162
+ component.path = normalizePercentEncoding(component.path);
142
163
  }
143
164
  }
144
165
 
145
- if (options.reference !== 'suffix' && components.scheme) {
146
- uriTokens.push(components.scheme);
147
- uriTokens.push(':');
166
+ if (options.reference !== 'suffix' && component.scheme) {
167
+ uriTokens.push(component.scheme, ':');
148
168
  }
149
169
 
150
- const authority = recomposeAuthority(components, options);
170
+ const authority = recomposeAuthority(component);
151
171
  if (authority !== undefined) {
152
172
  if (options.reference !== 'suffix') {
153
173
  uriTokens.push('//');
@@ -155,53 +175,66 @@ function requireFastUri () {
155
175
 
156
176
  uriTokens.push(authority);
157
177
 
158
- if (components.path && components.path.charAt(0) !== '/') {
178
+ if (component.path && component.path[0] !== '/') {
159
179
  uriTokens.push('/');
160
180
  }
161
181
  }
162
- if (components.path !== undefined) {
163
- let s = components.path;
182
+ if (component.path !== undefined) {
183
+ let s = component.path;
164
184
 
165
185
  if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
166
186
  s = removeDotSegments(s);
167
187
  }
168
188
 
169
- if (authority === undefined) {
170
- s = s.replace(/^\/\//u, '/%2F'); // don't allow the path to start with "//"
189
+ if (
190
+ authority === undefined &&
191
+ s[0] === '/' &&
192
+ s[1] === '/'
193
+ ) {
194
+ // don't allow the path to start with "//"
195
+ s = '/%2F' + s.slice(2);
171
196
  }
172
197
 
173
198
  uriTokens.push(s);
174
199
  }
175
200
 
176
- if (components.query !== undefined) {
177
- uriTokens.push('?');
178
- uriTokens.push(components.query);
201
+ if (component.query !== undefined) {
202
+ uriTokens.push('?', component.query);
179
203
  }
180
204
 
181
- if (components.fragment !== undefined) {
182
- uriTokens.push('#');
183
- uriTokens.push(components.fragment);
205
+ if (component.fragment !== undefined) {
206
+ uriTokens.push('#', component.fragment);
184
207
  }
185
208
  return uriTokens.join('')
186
209
  }
187
210
 
188
- const hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
211
+ const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
189
212
 
190
- function nonSimpleDomain (value) {
191
- let code = 0;
192
- for (let i = 0, len = value.length; i < len; ++i) {
193
- code = value.charCodeAt(i);
194
- if (code > 126 || hexLookUp[code]) {
195
- return true
196
- }
213
+ /**
214
+ * @param {import('./types/index').URIComponent} parsed
215
+ * @param {RegExpMatchArray} matches
216
+ * @returns {string|undefined}
217
+ */
218
+ function getParseError (parsed, matches) {
219
+ if (matches[2] !== undefined && parsed.path && parsed.path[0] !== '/') {
220
+ return 'URI path must start with "/" when authority is present.'
197
221
  }
198
- return false
199
- }
200
222
 
201
- const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
223
+ if (typeof parsed.port === 'number' && (parsed.port < 0 || parsed.port > 65535)) {
224
+ return 'URI port is malformed.'
225
+ }
202
226
 
203
- function parse (uri, opts) {
227
+ return undefined
228
+ }
229
+
230
+ /**
231
+ * @param {string} uri
232
+ * @param {import('./types/index').Options} [opts]
233
+ * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}
234
+ */
235
+ function parseWithStatus (uri, opts) {
204
236
  const options = Object.assign({}, opts);
237
+ /** @type {import('./types/index').URIComponent} */
205
238
  const parsed = {
206
239
  scheme: undefined,
207
240
  userinfo: undefined,
@@ -211,9 +244,17 @@ function requireFastUri () {
211
244
  query: undefined,
212
245
  fragment: undefined
213
246
  };
214
- const gotEncoding = uri.indexOf('%') !== -1;
247
+
248
+ let malformedAuthorityOrPort = false;
249
+
215
250
  let isIP = false;
216
- if (options.reference === 'suffix') uri = (options.scheme ? options.scheme + ':' : '') + '//' + uri;
251
+ if (options.reference === 'suffix') {
252
+ if (options.scheme) {
253
+ uri = options.scheme + ':' + uri;
254
+ } else {
255
+ uri = '//' + uri;
256
+ }
257
+ }
217
258
 
218
259
  const matches = uri.match(URI_PARSE);
219
260
 
@@ -231,18 +272,24 @@ function requireFastUri () {
231
272
  if (isNaN(parsed.port)) {
232
273
  parsed.port = matches[5];
233
274
  }
275
+
276
+ const parseError = getParseError(parsed, matches);
277
+ if (parseError !== undefined) {
278
+ parsed.error = parsed.error || parseError;
279
+ malformedAuthorityOrPort = true;
280
+ }
281
+
234
282
  if (parsed.host) {
235
- const ipv4result = normalizeIPv4(parsed.host);
236
- if (ipv4result.isIPV4 === false) {
237
- const ipv6result = normalizeIPv6(ipv4result.host, { isIPV4: false });
283
+ const ipv4result = isIPv4(parsed.host);
284
+ if (ipv4result === false) {
285
+ const ipv6result = normalizeIPv6(parsed.host);
238
286
  parsed.host = ipv6result.host.toLowerCase();
239
287
  isIP = ipv6result.isIPV6;
240
288
  } else {
241
- parsed.host = ipv4result.host;
242
289
  isIP = true;
243
290
  }
244
291
  }
245
- if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && !parsed.path && parsed.query === undefined) {
292
+ if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {
246
293
  parsed.reference = 'same-document';
247
294
  } else if (parsed.scheme === undefined) {
248
295
  parsed.reference = 'relative';
@@ -258,7 +305,7 @@ function requireFastUri () {
258
305
  }
259
306
 
260
307
  // find scheme handler
261
- const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || '').toLowerCase()];
308
+ const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
262
309
 
263
310
  // check if scheme can't handle IRIs
264
311
  if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
@@ -275,20 +322,23 @@ function requireFastUri () {
275
322
  }
276
323
 
277
324
  if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {
278
- if (gotEncoding && parsed.scheme !== undefined) {
279
- parsed.scheme = unescape(parsed.scheme);
280
- }
281
- if (gotEncoding && parsed.userinfo !== undefined) {
282
- parsed.userinfo = unescape(parsed.userinfo);
283
- }
284
- if (gotEncoding && parsed.host !== undefined) {
285
- parsed.host = unescape(parsed.host);
325
+ if (uri.indexOf('%') !== -1) {
326
+ if (parsed.scheme !== undefined) {
327
+ parsed.scheme = unescape(parsed.scheme);
328
+ }
329
+ if (parsed.host !== undefined) {
330
+ parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
331
+ }
286
332
  }
287
- if (parsed.path !== undefined && parsed.path.length) {
288
- parsed.path = escape(unescape(parsed.path));
333
+ if (parsed.path) {
334
+ parsed.path = normalizePathEncoding(parsed.path);
289
335
  }
290
- if (parsed.fragment !== undefined && parsed.fragment.length) {
291
- parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
336
+ if (parsed.fragment) {
337
+ try {
338
+ parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
339
+ } catch {
340
+ parsed.error = parsed.error || 'URI malformed';
341
+ }
292
342
  }
293
343
  }
294
344
 
@@ -299,14 +349,61 @@ function requireFastUri () {
299
349
  } else {
300
350
  parsed.error = parsed.error || 'URI can not be parsed.';
301
351
  }
302
- return parsed
352
+ return { parsed, malformedAuthorityOrPort }
353
+ }
354
+
355
+ /**
356
+ * @param {string} uri
357
+ * @param {import('./types/index').Options} [opts]
358
+ * @returns
359
+ */
360
+ function parse (uri, opts) {
361
+ return parseWithStatus(uri, opts).parsed
362
+ }
363
+
364
+ /**
365
+ * @param {string} uri
366
+ * @param {import('./types/index').Options} [opts]
367
+ * @returns {string}
368
+ */
369
+ function normalizeString (uri, opts) {
370
+ return normalizeStringWithStatus(uri, opts).normalized
371
+ }
372
+
373
+ /**
374
+ * @param {string} uri
375
+ * @param {import('./types/index').Options} [opts]
376
+ * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}
377
+ */
378
+ function normalizeStringWithStatus (uri, opts) {
379
+ const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
380
+ return {
381
+ normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
382
+ malformedAuthorityOrPort
383
+ }
384
+ }
385
+
386
+ /**
387
+ * @param {import ('./types/index').URIComponent|string} uri
388
+ * @param {import('./types/index').Options} [opts]
389
+ * @returns {string|undefined}
390
+ */
391
+ function normalizeComparableURI (uri, opts) {
392
+ if (typeof uri === 'string') {
393
+ const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts);
394
+ return malformedAuthorityOrPort ? undefined : normalized
395
+ }
396
+
397
+ if (typeof uri === 'object') {
398
+ return serialize(uri, opts)
399
+ }
303
400
  }
304
401
 
305
402
  const fastUri$1 = {
306
403
  SCHEMES,
307
404
  normalize,
308
405
  resolve,
309
- resolveComponents,
406
+ resolveComponent,
310
407
  equal,
311
408
  serialize,
312
409
  parse
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../node_modules/fast-uri/index.js"],"sourcesContent":["'use strict'\n\nconst { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require('./lib/utils')\nconst SCHEMES = require('./lib/schemes')\n\nfunction normalize (uri, options) {\n if (typeof uri === 'string') {\n uri = serialize(parse(uri, options), options)\n } else if (typeof uri === 'object') {\n uri = parse(serialize(uri, options), options)\n }\n return uri\n}\n\nfunction resolve (baseURI, relativeURI, options) {\n const schemelessOptions = Object.assign({ scheme: 'null' }, options)\n const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true)\n return serialize(resolved, { ...schemelessOptions, skipEscape: true })\n}\n\nfunction resolveComponents (base, relative, options, skipNormalization) {\n const target = {}\n if (!skipNormalization) {\n base = parse(serialize(base, options), options) // normalize base components\n relative = parse(serialize(relative, options), options) // normalize relative components\n }\n options = options || {}\n\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (!relative.path) {\n target.path = base.path\n if (relative.query !== undefined) {\n target.query = relative.query\n } else {\n target.query = base.query\n }\n } else {\n if (relative.path.charAt(0) === '/') {\n target.path = removeDotSegments(relative.path)\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = '/' + relative.path\n } else if (!base.path) {\n target.path = relative.path\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf('/') + 1) + relative.path\n }\n target.path = removeDotSegments(target.path)\n }\n target.query = relative.query\n }\n // target.authority = base.authority;\n target.userinfo = base.userinfo\n target.host = base.host\n target.port = base.port\n }\n target.scheme = base.scheme\n }\n\n target.fragment = relative.fragment\n\n return target\n}\n\nfunction equal (uriA, uriB, options) {\n if (typeof uriA === 'string') {\n uriA = unescape(uriA)\n uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true })\n } else if (typeof uriA === 'object') {\n uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true })\n }\n\n if (typeof uriB === 'string') {\n uriB = unescape(uriB)\n uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true })\n } else if (typeof uriB === 'object') {\n uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true })\n }\n\n return uriA.toLowerCase() === uriB.toLowerCase()\n}\n\nfunction serialize (cmpts, opts) {\n const components = {\n host: cmpts.host,\n scheme: cmpts.scheme,\n userinfo: cmpts.userinfo,\n port: cmpts.port,\n path: cmpts.path,\n query: cmpts.query,\n nid: cmpts.nid,\n nss: cmpts.nss,\n uuid: cmpts.uuid,\n fragment: cmpts.fragment,\n reference: cmpts.reference,\n resourceName: cmpts.resourceName,\n secure: cmpts.secure,\n error: ''\n }\n const options = Object.assign({}, opts)\n const uriTokens = []\n\n // find scheme handler\n const schemeHandler = SCHEMES[(options.scheme || components.scheme || '').toLowerCase()]\n\n // perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options)\n\n if (components.path !== undefined) {\n if (!options.skipEscape) {\n components.path = escape(components.path)\n\n if (components.scheme !== undefined) {\n components.path = components.path.split('%3A').join(':')\n }\n } else {\n components.path = unescape(components.path)\n }\n }\n\n if (options.reference !== 'suffix' && components.scheme) {\n uriTokens.push(components.scheme)\n uriTokens.push(':')\n }\n\n const authority = recomposeAuthority(components, options)\n if (authority !== undefined) {\n if (options.reference !== 'suffix') {\n uriTokens.push('//')\n }\n\n uriTokens.push(authority)\n\n if (components.path && components.path.charAt(0) !== '/') {\n uriTokens.push('/')\n }\n }\n if (components.path !== undefined) {\n let s = components.path\n\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s)\n }\n\n if (authority === undefined) {\n s = s.replace(/^\\/\\//u, '/%2F') // don't allow the path to start with \"//\"\n }\n\n uriTokens.push(s)\n }\n\n if (components.query !== undefined) {\n uriTokens.push('?')\n uriTokens.push(components.query)\n }\n\n if (components.fragment !== undefined) {\n uriTokens.push('#')\n uriTokens.push(components.fragment)\n }\n return uriTokens.join('')\n}\n\nconst hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!\"$&'()*+,\\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)))\n\nfunction nonSimpleDomain (value) {\n let code = 0\n for (let i = 0, len = value.length; i < len; ++i) {\n code = value.charCodeAt(i)\n if (code > 126 || hexLookUp[code]) {\n return true\n }\n }\n return false\n}\n\nconst URI_PARSE = /^(?:([^#/:?]+):)?(?:\\/\\/((?:([^#/?@]*)@)?(\\[[^#/?\\]]+\\]|[^#/:?]*)(?::(\\d*))?))?([^#?]*)(?:\\?([^#]*))?(?:#((?:.|[\\n\\r])*))?/u\n\nfunction parse (uri, opts) {\n const options = Object.assign({}, opts)\n const parsed = {\n scheme: undefined,\n userinfo: undefined,\n host: '',\n port: undefined,\n path: '',\n query: undefined,\n fragment: undefined\n }\n const gotEncoding = uri.indexOf('%') !== -1\n let isIP = false\n if (options.reference === 'suffix') uri = (options.scheme ? options.scheme + ':' : '') + '//' + uri\n\n const matches = uri.match(URI_PARSE)\n\n if (matches) {\n // store each component\n parsed.scheme = matches[1]\n parsed.userinfo = matches[3]\n parsed.host = matches[4]\n parsed.port = parseInt(matches[5], 10)\n parsed.path = matches[6] || ''\n parsed.query = matches[7]\n parsed.fragment = matches[8]\n\n // fix port number\n if (isNaN(parsed.port)) {\n parsed.port = matches[5]\n }\n if (parsed.host) {\n const ipv4result = normalizeIPv4(parsed.host)\n if (ipv4result.isIPV4 === false) {\n const ipv6result = normalizeIPv6(ipv4result.host, { isIPV4: false })\n parsed.host = ipv6result.host.toLowerCase()\n isIP = ipv6result.isIPV6\n } else {\n parsed.host = ipv4result.host\n isIP = true\n }\n }\n if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && !parsed.path && parsed.query === undefined) {\n parsed.reference = 'same-document'\n } else if (parsed.scheme === undefined) {\n parsed.reference = 'relative'\n } else if (parsed.fragment === undefined) {\n parsed.reference = 'absolute'\n } else {\n parsed.reference = 'uri'\n }\n\n // check for reference errors\n if (options.reference && options.reference !== 'suffix' && options.reference !== parsed.reference) {\n parsed.error = parsed.error || 'URI is not a ' + options.reference + ' reference.'\n }\n\n // find scheme handler\n const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || '').toLowerCase()]\n\n // check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n // if host component is a domain name\n if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {\n // convert Unicode IDN -> ASCII IDN\n try {\n parsed.host = URL.domainToASCII(parsed.host.toLowerCase())\n } catch (e) {\n parsed.error = parsed.error || \"Host's domain name can not be converted to ASCII: \" + e\n }\n }\n // convert IRI -> URI\n }\n\n if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {\n if (gotEncoding && parsed.scheme !== undefined) {\n parsed.scheme = unescape(parsed.scheme)\n }\n if (gotEncoding && parsed.userinfo !== undefined) {\n parsed.userinfo = unescape(parsed.userinfo)\n }\n if (gotEncoding && parsed.host !== undefined) {\n parsed.host = unescape(parsed.host)\n }\n if (parsed.path !== undefined && parsed.path.length) {\n parsed.path = escape(unescape(parsed.path))\n }\n if (parsed.fragment !== undefined && parsed.fragment.length) {\n parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment))\n }\n }\n\n // perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(parsed, options)\n }\n } else {\n parsed.error = parsed.error || 'URI can not be parsed.'\n }\n return parsed\n}\n\nconst fastUri = {\n SCHEMES,\n normalize,\n resolve,\n resolveComponents,\n equal,\n serialize,\n parse\n}\n\nmodule.exports = fastUri\nmodule.exports.default = fastUri\nmodule.exports.fastUri = fastUri\n"],"names":["require$$0","require$$1","fastUri","fastUriModule"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/fast-uri/index.js"],"sourcesContent":["'use strict'\n\nconst { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require('./lib/utils')\nconst { SCHEMES, getSchemeHandler } = require('./lib/schemes')\n\n/**\n * @template {import('./types/index').URIComponent|string} T\n * @param {T} uri\n * @param {import('./types/index').Options} [options]\n * @returns {T}\n */\nfunction normalize (uri, options) {\n if (typeof uri === 'string') {\n uri = /** @type {T} */ (normalizeString(uri, options))\n } else if (typeof uri === 'object') {\n uri = /** @type {T} */ (parse(serialize(uri, options), options))\n }\n return uri\n}\n\n/**\n * @param {string} baseURI\n * @param {string} relativeURI\n * @param {import('./types/index').Options} [options]\n * @returns {string}\n */\nfunction resolve (baseURI, relativeURI, options) {\n const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' }\n const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true)\n schemelessOptions.skipEscape = true\n return serialize(resolved, schemelessOptions)\n}\n\n/**\n * @param {import ('./types/index').URIComponent} base\n * @param {import ('./types/index').URIComponent} relative\n * @param {import('./types/index').Options} [options]\n * @param {boolean} [skipNormalization=false]\n * @returns {import ('./types/index').URIComponent}\n */\nfunction resolveComponent (base, relative, options, skipNormalization) {\n /** @type {import('./types/index').URIComponent} */\n const target = {}\n if (!skipNormalization) {\n base = parse(serialize(base, options), options) // normalize base component\n relative = parse(serialize(relative, options), options) // normalize relative component\n }\n options = options || {}\n\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (!relative.path) {\n target.path = base.path\n if (relative.query !== undefined) {\n target.query = relative.query\n } else {\n target.query = base.query\n }\n } else {\n if (relative.path[0] === '/') {\n target.path = removeDotSegments(relative.path)\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = '/' + relative.path\n } else if (!base.path) {\n target.path = relative.path\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf('/') + 1) + relative.path\n }\n target.path = removeDotSegments(target.path)\n }\n target.query = relative.query\n }\n // target.authority = base.authority;\n target.userinfo = base.userinfo\n target.host = base.host\n target.port = base.port\n }\n target.scheme = base.scheme\n }\n\n target.fragment = relative.fragment\n\n return target\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uriA\n * @param {import ('./types/index').URIComponent|string} uriB\n * @param {import ('./types/index').Options} options\n * @returns {boolean}\n */\nfunction equal (uriA, uriB, options) {\n const normalizedA = normalizeComparableURI(uriA, options)\n const normalizedB = normalizeComparableURI(uriB, options)\n\n return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase()\n}\n\n/**\n * @param {Readonly<import('./types/index').URIComponent>} cmpts\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction serialize (cmpts, opts) {\n const component = {\n host: cmpts.host,\n scheme: cmpts.scheme,\n userinfo: cmpts.userinfo,\n port: cmpts.port,\n path: cmpts.path,\n query: cmpts.query,\n nid: cmpts.nid,\n nss: cmpts.nss,\n uuid: cmpts.uuid,\n fragment: cmpts.fragment,\n reference: cmpts.reference,\n resourceName: cmpts.resourceName,\n secure: cmpts.secure,\n error: ''\n }\n const options = Object.assign({}, opts)\n const uriTokens = []\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || component.scheme)\n\n // perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options)\n\n if (component.path !== undefined) {\n if (!options.skipEscape) {\n component.path = escapePreservingEscapes(component.path)\n\n if (component.scheme !== undefined) {\n component.path = component.path.split('%3A').join(':')\n }\n } else {\n component.path = normalizePercentEncoding(component.path)\n }\n }\n\n if (options.reference !== 'suffix' && component.scheme) {\n uriTokens.push(component.scheme, ':')\n }\n\n const authority = recomposeAuthority(component)\n if (authority !== undefined) {\n if (options.reference !== 'suffix') {\n uriTokens.push('//')\n }\n\n uriTokens.push(authority)\n\n if (component.path && component.path[0] !== '/') {\n uriTokens.push('/')\n }\n }\n if (component.path !== undefined) {\n let s = component.path\n\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s)\n }\n\n if (\n authority === undefined &&\n s[0] === '/' &&\n s[1] === '/'\n ) {\n // don't allow the path to start with \"//\"\n s = '/%2F' + s.slice(2)\n }\n\n uriTokens.push(s)\n }\n\n if (component.query !== undefined) {\n uriTokens.push('?', component.query)\n }\n\n if (component.fragment !== undefined) {\n uriTokens.push('#', component.fragment)\n }\n return uriTokens.join('')\n}\n\nconst URI_PARSE = /^(?:([^#/:?]+):)?(?:\\/\\/((?:([^#/?@]*)@)?(\\[[^#/?\\]]+\\]|[^#/:?]*)(?::(\\d*))?))?([^#?]*)(?:\\?([^#]*))?(?:#((?:.|[\\n\\r])*))?/u\n\n/**\n * @param {import('./types/index').URIComponent} parsed\n * @param {RegExpMatchArray} matches\n * @returns {string|undefined}\n */\nfunction getParseError (parsed, matches) {\n if (matches[2] !== undefined && parsed.path && parsed.path[0] !== '/') {\n return 'URI path must start with \"/\" when authority is present.'\n }\n\n if (typeof parsed.port === 'number' && (parsed.port < 0 || parsed.port > 65535)) {\n return 'URI port is malformed.'\n }\n\n return undefined\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}\n */\nfunction parseWithStatus (uri, opts) {\n const options = Object.assign({}, opts)\n /** @type {import('./types/index').URIComponent} */\n const parsed = {\n scheme: undefined,\n userinfo: undefined,\n host: '',\n port: undefined,\n path: '',\n query: undefined,\n fragment: undefined\n }\n\n let malformedAuthorityOrPort = false\n\n let isIP = false\n if (options.reference === 'suffix') {\n if (options.scheme) {\n uri = options.scheme + ':' + uri\n } else {\n uri = '//' + uri\n }\n }\n\n const matches = uri.match(URI_PARSE)\n\n if (matches) {\n // store each component\n parsed.scheme = matches[1]\n parsed.userinfo = matches[3]\n parsed.host = matches[4]\n parsed.port = parseInt(matches[5], 10)\n parsed.path = matches[6] || ''\n parsed.query = matches[7]\n parsed.fragment = matches[8]\n\n // fix port number\n if (isNaN(parsed.port)) {\n parsed.port = matches[5]\n }\n\n const parseError = getParseError(parsed, matches)\n if (parseError !== undefined) {\n parsed.error = parsed.error || parseError\n malformedAuthorityOrPort = true\n }\n\n if (parsed.host) {\n const ipv4result = isIPv4(parsed.host)\n if (ipv4result === false) {\n const ipv6result = normalizeIPv6(parsed.host)\n parsed.host = ipv6result.host.toLowerCase()\n isIP = ipv6result.isIPV6\n } else {\n isIP = true\n }\n }\n if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {\n parsed.reference = 'same-document'\n } else if (parsed.scheme === undefined) {\n parsed.reference = 'relative'\n } else if (parsed.fragment === undefined) {\n parsed.reference = 'absolute'\n } else {\n parsed.reference = 'uri'\n }\n\n // check for reference errors\n if (options.reference && options.reference !== 'suffix' && options.reference !== parsed.reference) {\n parsed.error = parsed.error || 'URI is not a ' + options.reference + ' reference.'\n }\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme)\n\n // check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n // if host component is a domain name\n if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {\n // convert Unicode IDN -> ASCII IDN\n try {\n parsed.host = URL.domainToASCII(parsed.host.toLowerCase())\n } catch (e) {\n parsed.error = parsed.error || \"Host's domain name can not be converted to ASCII: \" + e\n }\n }\n // convert IRI -> URI\n }\n\n if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {\n if (uri.indexOf('%') !== -1) {\n if (parsed.scheme !== undefined) {\n parsed.scheme = unescape(parsed.scheme)\n }\n if (parsed.host !== undefined) {\n parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP)\n }\n }\n if (parsed.path) {\n parsed.path = normalizePathEncoding(parsed.path)\n }\n if (parsed.fragment) {\n try {\n parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment))\n } catch {\n parsed.error = parsed.error || 'URI malformed'\n }\n }\n }\n\n // perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(parsed, options)\n }\n } else {\n parsed.error = parsed.error || 'URI can not be parsed.'\n }\n return { parsed, malformedAuthorityOrPort }\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns\n */\nfunction parse (uri, opts) {\n return parseWithStatus(uri, opts).parsed\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction normalizeString (uri, opts) {\n return normalizeStringWithStatus(uri, opts).normalized\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}\n */\nfunction normalizeStringWithStatus (uri, opts) {\n const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts)\n return {\n normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),\n malformedAuthorityOrPort\n }\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string|undefined}\n */\nfunction normalizeComparableURI (uri, opts) {\n if (typeof uri === 'string') {\n const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts)\n return malformedAuthorityOrPort ? undefined : normalized\n }\n\n if (typeof uri === 'object') {\n return serialize(uri, opts)\n }\n}\n\nconst fastUri = {\n SCHEMES,\n normalize,\n resolve,\n resolveComponent,\n equal,\n serialize,\n parse\n}\n\nmodule.exports = fastUri\nmodule.exports.default = fastUri\nmodule.exports.fastUri = fastUri\n"],"names":["require$$0","require$$1","fastUri","fastUriModule"],"mappings":";;;;;;;;;;AAEA,CAAA,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAGA,YAAA;AAC5L,CAAA,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAGC,cAAA;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;AAClC,GAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B,KAAI,GAAG,qBAAqB,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC;AACzD,GAAA,CAAG,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACtC,KAAI,GAAG,qBAAqB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AACnE,GAAA;AACA,GAAE,OAAO;AACT,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;GAC/C,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;GACjG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,IAAI;GACnI,iBAAiB,CAAC,UAAU,GAAG;AACjC,GAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,iBAAiB;AAC9C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;CACA,SAAS,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE;AACvE;GACE,MAAM,MAAM,GAAG;GACf,IAAI,CAAC,iBAAiB,EAAE;AAC1B,KAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,EAAC;AACnD,KAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,EAAC;AAC3D,GAAA;GACE,OAAO,GAAG,OAAO,IAAI;;GAErB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC5C,KAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;AAC7B;AACA,KAAI,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,KAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;AAC3B,KAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;KACvB,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;AACvD,KAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC5B,GAAA,CAAG,MAAM;AACT,KAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;AACvG;AACA,OAAM,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,OAAM,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;AAC7B,OAAM,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;OACvB,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;AACzD,OAAM,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC9B,KAAA,CAAK,MAAM;AACX,OAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC1B,SAAQ,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AAC3B,SAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1C,WAAU,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAClC,SAAA,CAAS,MAAM;AACf,WAAU,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9B,SAAA;AACA,OAAA,CAAO,MAAM;SACL,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;WAC5B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI;AACvD,SAAA,CAAS,MAAM;WACL,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;AACjH,aAAY,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC;AACzC,WAAA,CAAW,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACjC,aAAY,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;AACnC,WAAA,CAAW,MAAM;aACL,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AACxF,WAAA;WACU,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI;AACrD,SAAA;AACA,SAAQ,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAChC,OAAA;AACA;AACA,OAAM,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC7B,OAAM,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,OAAM,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,KAAA;AACA,KAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACzB,GAAA;;AAEA,GAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;;AAE7B,GAAE,OAAO;AACT,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACrC,GAAE,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO;AAC1D,GAAE,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO;;AAE1D,GAAE,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW;AACxH,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;GAC/B,MAAM,SAAS,GAAG;AACpB,KAAI,IAAI,EAAE,KAAK,CAAC,IAAI;AACpB,KAAI,MAAM,EAAE,KAAK,CAAC,MAAM;AACxB,KAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B,KAAI,IAAI,EAAE,KAAK,CAAC,IAAI;AACpB,KAAI,IAAI,EAAE,KAAK,CAAC,IAAI;AACpB,KAAI,KAAK,EAAE,KAAK,CAAC,KAAK;AACtB,KAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,KAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,KAAI,IAAI,EAAE,KAAK,CAAC,IAAI;AACpB,KAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B,KAAI,SAAS,EAAE,KAAK,CAAC,SAAS;AAC9B,KAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,KAAI,MAAM,EAAE,KAAK,CAAC,MAAM;AACxB,KAAI,KAAK,EAAE;AACX;GACE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI;GACtC,MAAM,SAAS,GAAG;;AAEpB;GACE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM;;AAE3E;AACA,GAAE,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO;;AAE1F,GAAE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;AACpC,KAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;OACvB,SAAS,CAAC,IAAI,GAAG,uBAAuB,CAAC,SAAS,CAAC,IAAI;;AAE7D,OAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE;AAC1C,SAAQ,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG;AAC7D,OAAA;AACA,KAAA,CAAK,MAAM;OACL,SAAS,CAAC,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI;AAC9D,KAAA;AACA,GAAA;;GAEE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE;KACtD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG;AACxC,GAAA;;AAEA,GAAE,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS;AAChD,GAAE,IAAI,SAAS,KAAK,SAAS,EAAE;AAC/B,KAAI,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;AACxC,OAAM,SAAS,CAAC,IAAI,CAAC,IAAI;AACzB,KAAA;;AAEA,KAAI,SAAS,CAAC,IAAI,CAAC,SAAS;;AAE5B,KAAI,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACrD,OAAM,SAAS,CAAC,IAAI,CAAC,GAAG;AACxB,KAAA;AACA,GAAA;AACA,GAAE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;AACpC,KAAI,IAAI,CAAC,GAAG,SAAS,CAAC;;AAEtB,KAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;AAClF,OAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC;AAC7B,KAAA;;KAEI;OACE,SAAS,KAAK,SAAS;AAC7B,OAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;AAClB,OAAM,CAAC,CAAC,CAAC,CAAC,KAAK;OACT;AACN;OACM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5B,KAAA;;AAEA,KAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,GAAA;;AAEA,GAAE,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;KACjC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK;AACvC,GAAA;;AAEA,GAAE,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE;KACpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ;AAC1C,GAAA;AACA,GAAE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE;AAC1B,CAAA;;AAEA,CAAA,MAAM,SAAS,GAAG;;AAElB;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE;GACvC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACzE,KAAI,OAAO;AACX,GAAA;;GAEE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;AACnF,KAAI,OAAO;AACX,GAAA;;AAEA,GAAE,OAAO;AACT,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE;GACnC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI;AACxC;GACE,MAAM,MAAM,GAAG;KACb,MAAM,EAAE,SAAS;KACjB,QAAQ,EAAE,SAAS;KACnB,IAAI,EAAE,EAAE;KACR,IAAI,EAAE,SAAS;KACf,IAAI,EAAE,EAAE;KACR,KAAK,EAAE,SAAS;AACpB,KAAI,QAAQ,EAAE;AACd;;GAEE,IAAI,wBAAwB,GAAG;;GAE/B,IAAI,IAAI,GAAG;AACb,GAAE,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;AACtC,KAAI,IAAI,OAAO,CAAC,MAAM,EAAE;AACxB,OAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG;AACnC,KAAA,CAAK,MAAM;OACL,GAAG,GAAG,IAAI,GAAG;AACnB,KAAA;AACA,GAAA;;AAEA,GAAE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS;;GAEnC,IAAI,OAAO,EAAE;AACf;AACA,KAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;AAC7B,KAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;AAC/B,KAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;KACvB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;KACrC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI;AAChC,KAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;AAC5B,KAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;;AAE/B;AACA,KAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC5B,OAAM,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAC7B,KAAA;;AAEA,KAAI,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO;AACpD,KAAI,IAAI,UAAU,KAAK,SAAS,EAAE;AAClC,OAAM,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI;AACrC,OAAM,wBAAwB,GAAG;AACjC,KAAA;;AAEA,KAAI,IAAI,MAAM,CAAC,IAAI,EAAE;AACrB,OAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI;AAC3C,OAAM,IAAI,UAAU,KAAK,KAAK,EAAE;AAChC,SAAQ,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI;SAC5C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW;SACzC,IAAI,GAAG,UAAU,CAAC;AAC1B,OAAA,CAAO,MAAM;AACb,SAAQ,IAAI,GAAG;AACf,OAAA;AACA,KAAA;AACA,KAAI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;OACxK,MAAM,CAAC,SAAS,GAAG;AACzB,KAAA,CAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;OACtC,MAAM,CAAC,SAAS,GAAG;AACzB,KAAA,CAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;OACxC,MAAM,CAAC,SAAS,GAAG;AACzB,KAAA,CAAK,MAAM;OACL,MAAM,CAAC,SAAS,GAAG;AACzB,KAAA;;AAEA;AACA,KAAI,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;AACvG,OAAM,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,GAAG,OAAO,CAAC,SAAS,GAAG;AAC3E,KAAA;;AAEA;KACI,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;;AAE1E;AACA,KAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;AACtF;OACM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,KAAK,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAChJ;AACA,SAAQ,IAAI;AACZ,WAAU,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;SACnE,CAAS,CAAC,OAAO,CAAC,EAAE;WACV,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,oDAAoD,GAAG;AAChG,SAAA;AACA,OAAA;AACA;AACA,KAAA;;KAEI,IAAI,CAAC,aAAa,KAAK,aAAa,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;OACrE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;AACnC,SAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;WAC/B,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM;AAChD,SAAA;AACA,SAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACvC,WAAU,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI;AAC1E,SAAA;AACA,OAAA;AACA,OAAM,IAAI,MAAM,CAAC,IAAI,EAAE;SACf,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI;AACvD,OAAA;AACA,OAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;AAC3B,SAAQ,IAAI;WACF,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzE,SAAA,CAAS,CAAC,MAAM;AAChB,WAAU,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI;AACzC,SAAA;AACA,OAAA;AACA,KAAA;;AAEA;AACA,KAAI,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,EAAE;AAC9C,OAAM,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;AACzC,KAAA;AACA,GAAA,CAAG,MAAM;AACT,KAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI;AACnC,GAAA;AACA,GAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAC3C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC3B,GAAE,OAAO,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACpC,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE;AACrC,GAAE,OAAO,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,yBAAyB,EAAE,GAAG,EAAE,IAAI,EAAE;GAC7C,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI;AACxE,GAAE,OAAO;KACL,UAAU,EAAE,wBAAwB,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;KACpE;AACJ;AACA,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAA,SAAS,sBAAsB,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5C,GAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;KAC3B,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,yBAAyB,CAAC,GAAG,EAAE,IAAI;AACxF,KAAI,OAAO,wBAAwB,GAAG,SAAS,GAAG;AAClD,GAAA;;AAEA,GAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B,KAAI,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI;AAC9B,GAAA;AACA,CAAA;;AAEA,CAAA,MAAMC,SAAO,GAAG;AAChB,GAAE,OAAO;AACT,GAAE,SAAS;AACX,GAAE,OAAO;AACT,GAAE,gBAAgB;AAClB,GAAE,KAAK;AACP,GAAE,SAAS;GACT;AACF;;AAEA,CAAAC,OAAA,CAAA,OAAc,GAAGD;AACjB,CAAAC,OAAA,CAAA,OAAA,CAAA,OAAsB,GAAGD;AACzB,CAAAC,OAAA,CAAA,OAAA,CAAA,OAAsB,GAAGD;;;;;;","x_google_ignoreList":[0]}