@lightdash/common 0.2867.0 → 0.2869.0

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 (40) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/authorization/parseAccount.d.ts +1 -1
  3. package/dist/cjs/types/api.d.ts +2 -2
  4. package/dist/cjs/types/api.d.ts.map +1 -1
  5. package/dist/cjs/types/api.js.map +1 -1
  6. package/dist/cjs/types/organization.d.ts +42 -0
  7. package/dist/cjs/types/organization.d.ts.map +1 -1
  8. package/dist/cjs/utils/timeFrames.d.ts +9 -1
  9. package/dist/cjs/utils/timeFrames.d.ts.map +1 -1
  10. package/dist/cjs/utils/timeFrames.js +113 -32
  11. package/dist/cjs/utils/timeFrames.js.map +1 -1
  12. package/dist/cjs/utils/timeFrames.test.js +190 -0
  13. package/dist/cjs/utils/timeFrames.test.js.map +1 -1
  14. package/dist/esm/.tsbuildinfo +1 -1
  15. package/dist/esm/authorization/parseAccount.d.ts +1 -1
  16. package/dist/esm/types/api.d.ts +2 -2
  17. package/dist/esm/types/api.d.ts.map +1 -1
  18. package/dist/esm/types/api.js.map +1 -1
  19. package/dist/esm/types/organization.d.ts +42 -0
  20. package/dist/esm/types/organization.d.ts.map +1 -1
  21. package/dist/esm/utils/timeFrames.d.ts +9 -1
  22. package/dist/esm/utils/timeFrames.d.ts.map +1 -1
  23. package/dist/esm/utils/timeFrames.js +98 -19
  24. package/dist/esm/utils/timeFrames.js.map +1 -1
  25. package/dist/esm/utils/timeFrames.test.js +191 -1
  26. package/dist/esm/utils/timeFrames.test.js.map +1 -1
  27. package/dist/types/.tsbuildinfo +1 -1
  28. package/dist/types/authorization/parseAccount.d.ts +1 -1
  29. package/dist/types/types/api.d.ts +2 -2
  30. package/dist/types/types/api.d.ts.map +1 -1
  31. package/dist/types/types/api.js.map +1 -1
  32. package/dist/types/types/organization.d.ts +42 -0
  33. package/dist/types/types/organization.d.ts.map +1 -1
  34. package/dist/types/utils/timeFrames.d.ts +9 -1
  35. package/dist/types/utils/timeFrames.d.ts.map +1 -1
  36. package/dist/types/utils/timeFrames.js +98 -19
  37. package/dist/types/utils/timeFrames.js.map +1 -1
  38. package/dist/types/utils/timeFrames.test.js +191 -1
  39. package/dist/types/utils/timeFrames.test.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { SupportedDbtAdapter } from '../types/dbt';
2
2
  import { DimensionType } from '../types/field';
3
3
  import { DateGranularity, TimeFrames } from '../types/timeFrames';
4
- import { dateTruncTimezoneConversions, getDateDimension, getSqlForTruncatedDate, isSubDayGranularity, SUB_DAY_GRANULARITIES, timeFrameConfigs, WeekDay, } from './timeFrames';
4
+ import { dateExtractsTimezoneConversions, dateTruncTimezoneConversions, extractableTimeFrames, getDateDimension, getSqlForDatePart, getSqlForDatePartName, getSqlForTruncatedDate, isSubDayGranularity, SUB_DAY_GRANULARITIES, timeFrameConfigs, WeekDay, } from './timeFrames';
5
5
  describe('TimeFrames', () => {
6
6
  describe('getSqlForTruncatedDate', () => {
7
7
  test('should get sql where stat of the week is Wednesday', async () => {
@@ -240,5 +240,195 @@ describe('TimeFrames', () => {
240
240
  expect(getSqlForTruncatedDate(SupportedDbtAdapter.SNOWFLAKE, TimeFrames.DAY, col, DimensionType.TIMESTAMP, null, tz)).toEqual(`CONVERT_TIMEZONE('${tz}', 'UTC', DATE_TRUNC('DAY', CONVERT_TIMEZONE('UTC', '${tz}', ${col})))`);
241
241
  });
242
242
  });
243
+ describe('extractableTimeFrames', () => {
244
+ test('contains numeric and Name EXTRACT-style intervals, not truncatable ones', () => {
245
+ expect(extractableTimeFrames.has(TimeFrames.DAY_OF_WEEK_INDEX)).toBe(true);
246
+ expect(extractableTimeFrames.has(TimeFrames.MONTH_NUM)).toBe(true);
247
+ expect(extractableTimeFrames.has(TimeFrames.HOUR_OF_DAY_NUM)).toBe(true);
248
+ expect(extractableTimeFrames.has(TimeFrames.DAY_OF_WEEK_NAME)).toBe(true);
249
+ expect(extractableTimeFrames.has(TimeFrames.MONTH_NAME)).toBe(true);
250
+ expect(extractableTimeFrames.has(TimeFrames.QUARTER_NAME)).toBe(true);
251
+ expect(extractableTimeFrames.has(TimeFrames.DAY)).toBe(false);
252
+ expect(extractableTimeFrames.has(TimeFrames.WEEK)).toBe(false);
253
+ expect(extractableTimeFrames.has(TimeFrames.RAW)).toBe(false);
254
+ });
255
+ });
256
+ describe('dateExtractsTimezoneConversions', () => {
257
+ test('BigQuery coerces to TIMESTAMP and emits AT TIME ZONE inside the EXTRACT input', () => {
258
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.BIGQUERY].toExtractInputTz('col', 'America/New_York')).toEqual(`TIMESTAMP(col) AT TIME ZONE 'America/New_York'`);
259
+ });
260
+ test('Snowflake uses CONVERT_TIMEZONE', () => {
261
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.SNOWFLAKE].toExtractInputTz('col', 'America/New_York')).toEqual(`CONVERT_TIMEZONE('UTC', 'America/New_York', col)`);
262
+ });
263
+ test('Postgres / Redshift / DuckDB share the timestamptz cast form', () => {
264
+ const expected = `(col)::timestamptz AT TIME ZONE 'America/New_York'`;
265
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.POSTGRES].toExtractInputTz('col', 'America/New_York')).toEqual(expected);
266
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.REDSHIFT].toExtractInputTz('col', 'America/New_York')).toEqual(expected);
267
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.DUCKDB].toExtractInputTz('col', 'America/New_York')).toEqual(expected);
268
+ });
269
+ test('Trino / Athena cast back to naive timestamp', () => {
270
+ const expected = `CAST(col AT TIME ZONE 'America/New_York' AS timestamp)`;
271
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.TRINO].toExtractInputTz('col', 'America/New_York')).toEqual(expected);
272
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.ATHENA].toExtractInputTz('col', 'America/New_York')).toEqual(expected);
273
+ });
274
+ test('Databricks composes from_utc/to_utc with current_timezone', () => {
275
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.DATABRICKS].toExtractInputTz('col', 'America/New_York')).toEqual(`from_utc_timestamp(to_utc_timestamp(col, current_timezone()), 'America/New_York')`);
276
+ });
277
+ test('ClickHouse wraps with toTimeZone (mirrors DATE_TRUNC pattern)', () => {
278
+ expect(dateExtractsTimezoneConversions[SupportedDbtAdapter.CLICKHOUSE].toExtractInputTz('col', 'America/New_York')).toEqual(`toTimeZone(col, 'America/New_York')`);
279
+ });
280
+ });
281
+ describe('getSqlForDatePart with timezone', () => {
282
+ const tz = 'America/New_York';
283
+ const col = 'event_ts';
284
+ // DAY_OF_WEEK_INDEX (no startOfWeek) — exercises the bare extract path.
285
+ test.each([
286
+ [
287
+ SupportedDbtAdapter.BIGQUERY,
288
+ `EXTRACT(DAYOFWEEK FROM TIMESTAMP(${col}) AT TIME ZONE '${tz}')`,
289
+ ],
290
+ [
291
+ SupportedDbtAdapter.SNOWFLAKE,
292
+ `DATE_PART('DOW', CONVERT_TIMEZONE('UTC', '${tz}', ${col}))`,
293
+ ],
294
+ [
295
+ SupportedDbtAdapter.POSTGRES,
296
+ `DATE_PART('DOW', (${col})::timestamptz AT TIME ZONE '${tz}')`,
297
+ ],
298
+ [
299
+ SupportedDbtAdapter.REDSHIFT,
300
+ `DATE_PART('DOW', (${col})::timestamptz AT TIME ZONE '${tz}')`,
301
+ ],
302
+ [
303
+ SupportedDbtAdapter.DUCKDB,
304
+ `DATE_PART('DOW', (${col})::timestamptz AT TIME ZONE '${tz}')`,
305
+ ],
306
+ [
307
+ SupportedDbtAdapter.DATABRICKS,
308
+ `DATE_PART('DOW', from_utc_timestamp(to_utc_timestamp(${col}, current_timezone()), '${tz}'))`,
309
+ ],
310
+ [
311
+ SupportedDbtAdapter.TRINO,
312
+ `EXTRACT(DOW FROM CAST(${col} AT TIME ZONE '${tz}' AS timestamp))`,
313
+ ],
314
+ [
315
+ SupportedDbtAdapter.ATHENA,
316
+ `EXTRACT(DOW FROM CAST(${col} AT TIME ZONE '${tz}' AS timestamp))`,
317
+ ],
318
+ [
319
+ SupportedDbtAdapter.CLICKHOUSE,
320
+ `toDayOfWeek(toTimeZone(${col}, '${tz}'))`,
321
+ ],
322
+ ])('%s: DAY_OF_WEEK_INDEX wraps input in tz', (adapter, expected) => {
323
+ expect(getSqlForDatePart(adapter, TimeFrames.DAY_OF_WEEK_INDEX, col, DimensionType.TIMESTAMP, null, tz)).toEqual(expected);
324
+ });
325
+ // MONTH_NUM — exercises the standard EXTRACT(part FROM ...) path.
326
+ test.each([
327
+ [
328
+ SupportedDbtAdapter.BIGQUERY,
329
+ `EXTRACT(MONTH FROM TIMESTAMP(${col}) AT TIME ZONE '${tz}')`,
330
+ ],
331
+ [
332
+ SupportedDbtAdapter.SNOWFLAKE,
333
+ `DATE_PART('MONTH', CONVERT_TIMEZONE('UTC', '${tz}', ${col}))`,
334
+ ],
335
+ [
336
+ SupportedDbtAdapter.POSTGRES,
337
+ `DATE_PART('MONTH', (${col})::timestamptz AT TIME ZONE '${tz}')`,
338
+ ],
339
+ [
340
+ SupportedDbtAdapter.REDSHIFT,
341
+ `DATE_PART('MONTH', (${col})::timestamptz AT TIME ZONE '${tz}')`,
342
+ ],
343
+ [
344
+ SupportedDbtAdapter.DUCKDB,
345
+ `DATE_PART('MONTH', (${col})::timestamptz AT TIME ZONE '${tz}')`,
346
+ ],
347
+ [
348
+ SupportedDbtAdapter.DATABRICKS,
349
+ `DATE_PART('MONTH', from_utc_timestamp(to_utc_timestamp(${col}, current_timezone()), '${tz}'))`,
350
+ ],
351
+ [
352
+ SupportedDbtAdapter.TRINO,
353
+ `EXTRACT(MONTH FROM CAST(${col} AT TIME ZONE '${tz}' AS timestamp))`,
354
+ ],
355
+ [
356
+ SupportedDbtAdapter.ATHENA,
357
+ `EXTRACT(MONTH FROM CAST(${col} AT TIME ZONE '${tz}' AS timestamp))`,
358
+ ],
359
+ [
360
+ SupportedDbtAdapter.CLICKHOUSE,
361
+ `toMonth(toTimeZone(${col}, '${tz}'))`,
362
+ ],
363
+ ])('%s: MONTH_NUM wraps input in tz', (adapter, expected) => {
364
+ expect(getSqlForDatePart(adapter, TimeFrames.MONTH_NUM, col, DimensionType.TIMESTAMP, null, tz)).toEqual(expected);
365
+ });
366
+ test('flag-off (no timezone arg): byte-identical to bare EXTRACT', () => {
367
+ expect(getSqlForDatePart(SupportedDbtAdapter.POSTGRES, TimeFrames.DAY_OF_WEEK_INDEX, col, DimensionType.TIMESTAMP)).toEqual(`DATE_PART('DOW', ${col})`);
368
+ expect(getSqlForDatePart(SupportedDbtAdapter.BIGQUERY, TimeFrames.MONTH_NUM, col, DimensionType.TIMESTAMP)).toEqual(`EXTRACT(MONTH FROM ${col})`);
369
+ });
370
+ test('DATE base dimension with timezone short-circuits (no wrap)', () => {
371
+ expect(getSqlForDatePart(SupportedDbtAdapter.POSTGRES, TimeFrames.DAY_OF_WEEK_INDEX, col, DimensionType.DATE, null, tz)).toEqual(`DATE_PART('DOW', ${col})`);
372
+ expect(getSqlForDatePart(SupportedDbtAdapter.BIGQUERY, TimeFrames.MONTH_NUM, col, DimensionType.DATE, null, tz)).toEqual(`EXTRACT(MONTH FROM ${col})`);
373
+ });
374
+ test('WEEK_NUM with non-default startOfWeek composes with the tz wrap (Postgres)', () => {
375
+ expect(getSqlForDatePart(SupportedDbtAdapter.POSTGRES, TimeFrames.WEEK_NUM, col, DimensionType.TIMESTAMP, WeekDay.WEDNESDAY, tz)).toEqual(`DATE_PART('WEEK', ((${col})::timestamptz AT TIME ZONE '${tz}' - interval '2 days'))`);
376
+ });
377
+ test('WEEK_NUM with non-default startOfWeek composes with the tz wrap (BigQuery)', () => {
378
+ expect(getSqlForDatePart(SupportedDbtAdapter.BIGQUERY, TimeFrames.WEEK_NUM, col, DimensionType.TIMESTAMP, WeekDay.WEDNESDAY, tz)).toEqual(`EXTRACT(WEEK(WEDNESDAY) FROM TIMESTAMP(${col}) AT TIME ZONE '${tz}')`);
379
+ });
380
+ test('DAY_OF_WEEK_INDEX with startOfWeek composes mod arithmetic with tz wrap (Postgres)', () => {
381
+ expect(getSqlForDatePart(SupportedDbtAdapter.POSTGRES, TimeFrames.DAY_OF_WEEK_INDEX, col, DimensionType.TIMESTAMP, WeekDay.MONDAY, tz)).toEqual(`MOD(CAST(DATE_PART('DOW', (${col})::timestamptz AT TIME ZONE '${tz}') AS INT) - 1 + 7, 7) + 1`);
382
+ });
383
+ test('DAY_OF_WEEK_INDEX with startOfWeek composes mod arithmetic with tz wrap (BigQuery)', () => {
384
+ expect(getSqlForDatePart(SupportedDbtAdapter.BIGQUERY, TimeFrames.DAY_OF_WEEK_INDEX, col, DimensionType.TIMESTAMP, WeekDay.MONDAY, tz)).toEqual(`MOD(EXTRACT(DAYOFWEEK FROM TIMESTAMP(${col}) AT TIME ZONE '${tz}') - 2 + 7, 7) + 1`);
385
+ });
386
+ });
387
+ describe('getSqlForDatePartName with timezone (Name variants)', () => {
388
+ const tz = 'America/New_York';
389
+ const col = 'event_ts';
390
+ test.each([
391
+ [
392
+ SupportedDbtAdapter.BIGQUERY,
393
+ `FORMAT_TIMESTAMP('%A', TIMESTAMP(${col}), '${tz}')`,
394
+ ],
395
+ [
396
+ SupportedDbtAdapter.POSTGRES,
397
+ `TO_CHAR((${col})::timestamptz AT TIME ZONE '${tz}', 'FMDay')`,
398
+ ],
399
+ [
400
+ SupportedDbtAdapter.SNOWFLAKE,
401
+ `DECODE(TO_CHAR(CONVERT_TIMEZONE('UTC', '${tz}', ${col}), 'DY'), 'Mon', 'Monday', 'Tue', 'Tuesday', 'Wed', 'Wednesday', 'Thu', 'Thursday', 'Fri', 'Friday', 'Sat', 'Saturday', 'Sun', 'Sunday')`,
402
+ ],
403
+ [
404
+ SupportedDbtAdapter.DATABRICKS,
405
+ `DATE_FORMAT(from_utc_timestamp(to_utc_timestamp(${col}, current_timezone()), '${tz}'), 'EEEE')`,
406
+ ],
407
+ [
408
+ SupportedDbtAdapter.CLICKHOUSE,
409
+ `dateName('weekday', toTimeZone(${col}, '${tz}'))`,
410
+ ],
411
+ [
412
+ SupportedDbtAdapter.TRINO,
413
+ `date_format(CAST(${col} AT TIME ZONE '${tz}' AS timestamp), '%W')`,
414
+ ],
415
+ ])('%s: DAY_OF_WEEK_NAME wraps input in tz', (adapter, expected) => {
416
+ expect(getSqlForDatePartName(adapter, TimeFrames.DAY_OF_WEEK_NAME, col, DimensionType.TIMESTAMP, null, tz)).toEqual(expected);
417
+ });
418
+ test('DATE base dimension with timezone short-circuits (Postgres)', () => {
419
+ expect(getSqlForDatePartName(SupportedDbtAdapter.POSTGRES, TimeFrames.MONTH_NAME, col, DimensionType.DATE, null, tz)).toEqual(`TO_CHAR(${col}, 'FMMonth')`);
420
+ });
421
+ test('flag-off: byte-identical to bare format', () => {
422
+ expect(getSqlForDatePartName(SupportedDbtAdapter.POSTGRES, TimeFrames.MONTH_NAME, col, DimensionType.TIMESTAMP)).toEqual(`TO_CHAR(${col}, 'FMMonth')`);
423
+ expect(getSqlForDatePartName(SupportedDbtAdapter.BIGQUERY, TimeFrames.MONTH_NAME, col, DimensionType.TIMESTAMP)).toEqual(`FORMAT_DATETIME('%B', ${col})`);
424
+ });
425
+ test.each([
426
+ [TimeFrames.DAY_OF_WEEK_NAME, '%A'],
427
+ [TimeFrames.MONTH_NAME, '%B'],
428
+ [TimeFrames.QUARTER_NAME, 'Q%Q'],
429
+ ])('BigQuery %s: native FORMAT_TIMESTAMP with tz arg (no AT TIME ZONE)', (timeFrame, format) => {
430
+ expect(getSqlForDatePartName(SupportedDbtAdapter.BIGQUERY, timeFrame, col, DimensionType.TIMESTAMP, null, tz)).toEqual(`FORMAT_TIMESTAMP('${format}', TIMESTAMP(${col}), '${tz}')`);
431
+ });
432
+ });
243
433
  });
244
434
  //# sourceMappingURL=timeFrames.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeFrames.test.js","sourceRoot":"","sources":["../../../src/utils/timeFrames.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeFrames.test.js","sourceRoot":"","sources":["../../../src/utils/timeFrames.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,GACV,MAAM,cAAc,CAAC;AAEtB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,kFAAkF,CACrF,CAAC;YACF,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,kFAAkF,CACrF,CAAC;YACF,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,MAAM,EAC1B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,kFAAkF,CACrF,CAAC;YACF,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAChE,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,yEAAyE,CAC5E,CAAC;YACF,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,SAAS,EAC7B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,sCAAsC,CACzC,CAAC;YACF,qGAAqG;YACrG,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CACL,6DAA6D,CAChE,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0FAA0F,EAAE,GAAG,EAAE;YAClG,MAAM,CACF,sBAAsB,CAClB,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,GAAG,EACd,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,SAAS,EACT,KAAK,CACR,CACJ,CAAC,OAAO,CACL,0DAA0D,CAC7D,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gGAAgG,EAAE,GAAG,EAAE;YACxG,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CACnC,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,GAAG,EACd,kBAAkB,EAClB,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,8FAA8F;YAC9F,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,IAAI,EACf,kBAAkB,EAClB,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CACL,6DAA6D,CAChE,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2FAA2F,EAAE,GAAG,EAAE;YACnG,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CACtC,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,MAAM,EACjB,kBAAkB,EAClB,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qGAAqG,EAAE,GAAG,EAAE;YAC7G,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAC3C,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,WAAW,EACtB,kBAAkB,EAClB,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CACL,yDAAyD,CAC5D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACxC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,iEAAiE;YACjE,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,8BAA8B,GAAG,mBAAmB,CAAC,CAAC;YAEhE,6DAA6D;YAC7D,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CACL,6BAA6B,GAAG,2BAA2B,CAC9D,CAAC;YAEF,0CAA0C;YAC1C,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CACL,6BAA6B,GAAG,2BAA2B,CAC9D,CAAC;YAEF,6DAA6D;YAC7D,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CACL,6BAA6B,GAAG,2BAA2B,CAC9D,CAAC;YAEF,8DAA8D;YAC9D,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,KAAK,EACzB,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;YAE1D,2BAA2B;YAC3B,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,MAAM,EAC1B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;YAE1D,2EAA2E;YAC3E,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,oDAAoD;YACpD,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,8BAA8B,GAAG,mBAAmB,CAAC,CAAC;YAEhE,8CAA8C;YAC9C,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CACL,6BAA6B,GAAG,2BAA2B,CAC9D,CAAC;YAEF,qCAAqC;YACrC,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,KAAK,EACzB,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;YAE1D,0CAA0C;YAC1C,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,oDAAoD;YACpD,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;YAE5C,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,QAAQ,EAC5B,EAAE,EACF,GAAG,EACH,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YACtC,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,MAAM,EAC1B,EAAE,EACF,GAAG,EACH,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YAEtC,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,KAAK,EACzB,EAAE,EACF,GAAG,EACH,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YAEtC,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;YAEjC,yDAAyD;YACzD,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,SAAS,EAC7B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACtE,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC/B,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,+FAA+F,EAAE,GAAG,EAAE;YACvG,kEAAkE;YAClE,kEAAkE;YAClE,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,kBAAkB,GAAG,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,CACF,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CACvB,mBAAmB,CAAC,UAAU,EAC9B,EAAE,EACF,GAAG,EACH,EAAE,EACF,OAAO,CAAC,SAAS,CACpB,CACJ,CAAC,OAAO,CAAC,kBAAkB,GAAG,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,6FAA6F,EAAE,GAAG,EAAE;YACrG,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAChD,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,gBAAgB,EAC3B,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACnF,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAC1C,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,UAAU,EACrB,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CACF,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,CAC5C,mBAAmB,CAAC,UAAU,EAC9B,UAAU,CAAC,YAAY,EACvB,GAAG,EACH,EAAE,EACF,OAAO,CAAC,MAAM,CACjB,CACJ,CAAC,OAAO,CAAC,kCAAkC,GAAG,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,8DAA8D;YAC9D,MAAM,gBAAgB,GAA+B;gBACjD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM;gBAC3C,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM;gBAC3C,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI;aAC1C,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,CACjD,aAAa,CAAC,IAAI,CACrB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,WAAW,GAGZ;gBACD;oBACI,WAAW,EAAE,eAAe,CAAC,GAAG;oBAChC,SAAS,EAAE,UAAU,CAAC,GAAG;iBAC5B;gBACD;oBACI,WAAW,EAAE,eAAe,CAAC,IAAI;oBACjC,SAAS,EAAE,UAAU,CAAC,IAAI;iBAC7B;gBACD;oBACI,WAAW,EAAE,eAAe,CAAC,KAAK;oBAClC,SAAS,EAAE,UAAU,CAAC,KAAK;iBAC9B;gBACD;oBACI,WAAW,EAAE,eAAe,CAAC,OAAO;oBACpC,SAAS,EAAE,UAAU,CAAC,OAAO;iBAChC;gBACD;oBACI,WAAW,EAAE,eAAe,CAAC,IAAI;oBACjC,SAAS,EAAE,UAAU,CAAC,IAAI;iBAC7B;aACJ,CAAC;YACF,KAAK,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC;gBACnD,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,gBAAgB,CACxD,aAAa,CAAC,IAAI,CACrB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,6BAA6B;YAC7B,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEtD,2BAA2B;YAC3B,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjD,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,MAAM;aAClC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjD,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,MAAM;aAClC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/C,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC9C,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,GAAG;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvD,eAAe,EAAE,oBAAoB;gBACrC,YAAY,EAAE,UAAU,CAAC,GAAG;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/C,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChD,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,KAAK;aACjC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,OAAO;aACnC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/C,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,UAAU,CAAC,IAAI;aAChC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC1C,0DAA0D;QAC1D,oEAAoE;QACpE,sEAAsE;QACtE,SAAS;QACT,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,EAAE,KAAK,EAAE,GACX,4BAA4B,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAClD,oFAAoF,CACvF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,EAAE,WAAW,EAAE,GACjB,4BAA4B,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CACrD,2DAA2D,CAC9D,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,KAAK,GACP,4BAA4B,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,MAAM,GACR,4BAA4B,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAC1C,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAChC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACtF,MAAM,EAAE,KAAK,EAAE,GACX,4BAA4B,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAC5C,wDAAwD,CAC3D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,GAAG,CAAC;YAC3D,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,GAAG,CAAC;YAC3D,CAAC,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG,CAAC;YACzD,CAAC,mBAAmB,CAAC,SAAS,EAAE,qBAAqB,GAAG,GAAG,CAAC;YAC5D,CAAC,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,GAAG,GAAG,CAAC;YAC7D,CAAC,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,GAAG,CAAC;YACxD,CAAC,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG,CAAC;YACzD,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,GAAG,CAAC;SAC3D,CAAC,CACE,sDAAsD,EACtD,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAClB,MAAM,CACF,sBAAsB,CAClB,OAAO,EACP,UAAU,CAAC,GAAG,EACd,GAAG,EACH,aAAa,CAAC,IAAI,EAClB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CACJ,CAAC;QAEF,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,CACF,sBAAsB,CAClB,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,GAAG,EACd,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CACL,uBAAuB,GAAG,gCAAgC,EAAE,qBAAqB,EAAE,GAAG,CACzF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,CACF,sBAAsB,CAClB,mBAAmB,CAAC,SAAS,EAC7B,UAAU,CAAC,GAAG,EACd,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CACL,qBAAqB,EAAE,wDAAwD,EAAE,MAAM,GAAG,KAAK,CAClG,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACjF,MAAM,CACF,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAC9D,IAAI,CACP,CAAC;YACF,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/D,IAAI,CACP,CAAC;YACF,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAC3D,IAAI,CACP,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACvF,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,QAAQ,CAC/B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,SAAS,CAChC,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,QAAQ,GAAG,oDAAoD,CAAC;YACtE,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,QAAQ,CAC/B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,QAAQ,CAC/B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,MAAM,CAC7B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,QAAQ,GAAG,wDAAwD,CAAC;YAC1E,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,KAAK,CAC5B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,MAAM,CAC7B,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,UAAU,CACjC,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CACL,mFAAmF,CACtF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,CACF,+BAA+B,CAC3B,mBAAmB,CAAC,UAAU,CACjC,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC;QAEvB,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC;YACN;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,oCAAoC,GAAG,mBAAmB,EAAE,IAAI;aACnE;YACD;gBACI,mBAAmB,CAAC,SAAS;gBAC7B,6CAA6C,EAAE,MAAM,GAAG,IAAI;aAC/D;YACD;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,qBAAqB,GAAG,gCAAgC,EAAE,IAAI;aACjE;YACD;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,qBAAqB,GAAG,gCAAgC,EAAE,IAAI;aACjE;YACD;gBACI,mBAAmB,CAAC,MAAM;gBAC1B,qBAAqB,GAAG,gCAAgC,EAAE,IAAI;aACjE;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,wDAAwD,GAAG,2BAA2B,EAAE,KAAK;aAChG;YACD;gBACI,mBAAmB,CAAC,KAAK;gBACzB,yBAAyB,GAAG,kBAAkB,EAAE,kBAAkB;aACrE;YACD;gBACI,mBAAmB,CAAC,MAAM;gBAC1B,yBAAyB,GAAG,kBAAkB,EAAE,kBAAkB;aACrE;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,0BAA0B,GAAG,MAAM,EAAE,KAAK;aAC7C;SACJ,CAAC,CAAC,yCAAyC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAChE,MAAM,CACF,iBAAiB,CACb,OAAO,EACP,UAAU,CAAC,iBAAiB,EAC5B,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC;YACN;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,gCAAgC,GAAG,mBAAmB,EAAE,IAAI;aAC/D;YACD;gBACI,mBAAmB,CAAC,SAAS;gBAC7B,+CAA+C,EAAE,MAAM,GAAG,IAAI;aACjE;YACD;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,uBAAuB,GAAG,gCAAgC,EAAE,IAAI;aACnE;YACD;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,uBAAuB,GAAG,gCAAgC,EAAE,IAAI;aACnE;YACD;gBACI,mBAAmB,CAAC,MAAM;gBAC1B,uBAAuB,GAAG,gCAAgC,EAAE,IAAI;aACnE;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,0DAA0D,GAAG,2BAA2B,EAAE,KAAK;aAClG;YACD;gBACI,mBAAmB,CAAC,KAAK;gBACzB,2BAA2B,GAAG,kBAAkB,EAAE,kBAAkB;aACvE;YACD;gBACI,mBAAmB,CAAC,MAAM;gBAC1B,2BAA2B,GAAG,kBAAkB,EAAE,kBAAkB;aACvE;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,sBAAsB,GAAG,MAAM,EAAE,KAAK;aACzC;SACJ,CAAC,CAAC,iCAAiC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACxD,MAAM,CACF,iBAAiB,CACb,OAAO,EACP,UAAU,CAAC,SAAS,EACpB,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,iBAAiB,EAC5B,GAAG,EACH,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YACtC,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,SAAS,EACpB,GAAG,EACH,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,iBAAiB,EAC5B,GAAG,EACH,aAAa,CAAC,IAAI,EAClB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;YACtC,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,SAAS,EACpB,GAAG,EACH,aAAa,CAAC,IAAI,EAClB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,QAAQ,EACnB,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,EACjB,EAAE,CACL,CACJ,CAAC,OAAO,CACL,uBAAuB,GAAG,gCAAgC,EAAE,yBAAyB,CACxF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,QAAQ,EACnB,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,SAAS,EACjB,EAAE,CACL,CACJ,CAAC,OAAO,CACL,0CAA0C,GAAG,mBAAmB,EAAE,IAAI,CACzE,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;YAC5F,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,iBAAiB,EAC5B,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,MAAM,EACd,EAAE,CACL,CACJ,CAAC,OAAO,CACL,8BAA8B,GAAG,gCAAgC,EAAE,4BAA4B,CAClG,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;YAC5F,MAAM,CACF,iBAAiB,CACb,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,iBAAiB,EAC5B,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,OAAO,CAAC,MAAM,EACd,EAAE,CACL,CACJ,CAAC,OAAO,CACL,wCAAwC,GAAG,mBAAmB,EAAE,oBAAoB,CACvF,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC;YACN;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,oCAAoC,GAAG,OAAO,EAAE,IAAI;aACvD;YACD;gBACI,mBAAmB,CAAC,QAAQ;gBAC5B,YAAY,GAAG,gCAAgC,EAAE,aAAa;aACjE;YACD;gBACI,mBAAmB,CAAC,SAAS;gBAC7B,2CAA2C,EAAE,MAAM,GAAG,0IAA0I;aACnM;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,mDAAmD,GAAG,2BAA2B,EAAE,aAAa;aACnG;YACD;gBACI,mBAAmB,CAAC,UAAU;gBAC9B,kCAAkC,GAAG,MAAM,EAAE,KAAK;aACrD;YACD;gBACI,mBAAmB,CAAC,KAAK;gBACzB,oBAAoB,GAAG,kBAAkB,EAAE,wBAAwB;aACtE;SACJ,CAAC,CAAC,wCAAwC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAC/D,MAAM,CACF,qBAAqB,CACjB,OAAO,EACP,UAAU,CAAC,gBAAgB,EAC3B,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,CACF,qBAAqB,CACjB,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,UAAU,EACrB,GAAG,EACH,aAAa,CAAC,IAAI,EAClB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,CACF,qBAAqB,CACjB,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,UAAU,EACrB,GAAG,EACH,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC;YACxC,MAAM,CACF,qBAAqB,CACjB,mBAAmB,CAAC,QAAQ,EAC5B,UAAU,CAAC,UAAU,EACrB,GAAG,EACH,aAAa,CAAC,SAAS,CAC1B,CACJ,CAAC,OAAO,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;YACnC,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;YAC7B,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC;SACnC,CAAC,CACE,oEAAoE,EACpE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;YAClB,MAAM,CACF,qBAAqB,CACjB,mBAAmB,CAAC,QAAQ,EAC5B,SAAS,EACT,GAAG,EACH,aAAa,CAAC,SAAS,EACvB,IAAI,EACJ,EAAE,CACL,CACJ,CAAC,OAAO,CACL,qBAAqB,MAAM,gBAAgB,GAAG,OAAO,EAAE,IAAI,CAC9D,CAAC;QACN,CAAC,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}