@tagma/sdk 0.7.38 → 0.7.40

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 (62) hide show
  1. package/README.md +47 -27
  2. package/dist/compatibility.d.ts +46 -0
  3. package/dist/compatibility.d.ts.map +1 -0
  4. package/dist/compatibility.js +317 -0
  5. package/dist/compatibility.js.map +1 -0
  6. package/dist/completions/file-exists.d.ts.map +1 -1
  7. package/dist/completions/file-exists.js +3 -5
  8. package/dist/completions/file-exists.js.map +1 -1
  9. package/dist/completions/output-check.js +1 -1
  10. package/dist/completions/output-check.js.map +1 -1
  11. package/dist/config-ops.d.ts +11 -7
  12. package/dist/config-ops.d.ts.map +1 -1
  13. package/dist/config-ops.js +128 -13
  14. package/dist/config-ops.js.map +1 -1
  15. package/dist/drivers/opencode.d.ts.map +1 -1
  16. package/dist/drivers/opencode.js +23 -18
  17. package/dist/drivers/opencode.js.map +1 -1
  18. package/dist/index.d.ts +4 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/middlewares/static-context.d.ts.map +1 -1
  23. package/dist/middlewares/static-context.js +6 -6
  24. package/dist/middlewares/static-context.js.map +1 -1
  25. package/dist/pipeline-runner.d.ts.map +1 -1
  26. package/dist/pipeline-runner.js +36 -6
  27. package/dist/pipeline-runner.js.map +1 -1
  28. package/dist/plugin-config.d.ts +6 -0
  29. package/dist/plugin-config.d.ts.map +1 -0
  30. package/dist/plugin-config.js +26 -0
  31. package/dist/plugin-config.js.map +1 -0
  32. package/dist/schema.d.ts.map +1 -1
  33. package/dist/schema.js +51 -17
  34. package/dist/schema.js.map +1 -1
  35. package/dist/tagma.d.ts +4 -1
  36. package/dist/tagma.d.ts.map +1 -1
  37. package/dist/tagma.js +13 -3
  38. package/dist/tagma.js.map +1 -1
  39. package/dist/triggers/directory.d.ts.map +1 -1
  40. package/dist/triggers/directory.js +4 -6
  41. package/dist/triggers/directory.js.map +1 -1
  42. package/dist/triggers/file.d.ts.map +1 -1
  43. package/dist/triggers/file.js +3 -4
  44. package/dist/triggers/file.js.map +1 -1
  45. package/dist/triggers/manual.d.ts.map +1 -1
  46. package/dist/triggers/manual.js +6 -2
  47. package/dist/triggers/manual.js.map +1 -1
  48. package/dist/validate-raw.d.ts.map +1 -1
  49. package/dist/validate-raw.js +187 -21
  50. package/dist/validate-raw.js.map +1 -1
  51. package/dist/workdir.d.ts +3 -0
  52. package/dist/workdir.d.ts.map +1 -0
  53. package/dist/workdir.js +12 -0
  54. package/dist/workdir.js.map +1 -0
  55. package/dist/workflow.d.ts.map +1 -1
  56. package/dist/workflow.js +150 -35
  57. package/dist/workflow.js.map +1 -1
  58. package/dist/yaml.d.ts +2 -0
  59. package/dist/yaml.d.ts.map +1 -1
  60. package/dist/yaml.js +1 -0
  61. package/dist/yaml.js.map +1 -1
  62. package/package.json +9 -4
@@ -8,6 +8,7 @@
8
8
  import { isCommandTaskConfig, isPromptTaskConfig } from '@tagma/types';
9
9
  import { INVALID_TASK_ID_REASON, isValidTaskId, qualifyTaskId, buildTaskIndex, resolveTaskRef, validatePluginConfig, } from '@tagma/core';
10
10
  import { extractInputReferences } from '@tagma/core';
11
+ import { validateDeclaredSdkRequirement } from './compatibility';
11
12
  /** qid ->{track, task} lookup built once per validation pass. */
12
13
  function buildQidIndex(config) {
13
14
  const idx = new Map();
@@ -74,7 +75,80 @@ const isValidId = isValidTaskId;
74
75
  const VALID_ON_FAILURE = new Set(['skip_downstream', 'stop_all', 'ignore']);
75
76
  const VALID_PIPELINE_MODES = new Set(['trusted', 'safe']);
76
77
  const PERMISSION_FIELDS = ['read', 'write', 'execute'];
78
+ const PERMISSION_FIELD_SET = new Set(PERMISSION_FIELDS);
77
79
  const ENV_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
80
+ const PIPELINE_FIELDS = new Set([
81
+ 'requires',
82
+ 'name',
83
+ 'mode',
84
+ 'secrets',
85
+ 'driver',
86
+ 'model',
87
+ 'reasoning_effort',
88
+ 'permissions',
89
+ 'timeout',
90
+ 'max_concurrency',
91
+ 'plugins',
92
+ 'hooks',
93
+ 'tracks',
94
+ ]);
95
+ const TRACK_FIELDS = new Set([
96
+ 'id',
97
+ 'name',
98
+ 'color',
99
+ 'secrets',
100
+ 'agent_profile',
101
+ 'model',
102
+ 'reasoning_effort',
103
+ 'permissions',
104
+ 'driver',
105
+ 'cwd',
106
+ 'middlewares',
107
+ 'on_failure',
108
+ 'tasks',
109
+ ]);
110
+ const TASK_FIELDS = new Set([
111
+ 'id',
112
+ 'name',
113
+ 'prompt',
114
+ 'command',
115
+ 'secrets',
116
+ 'depends_on',
117
+ 'trigger',
118
+ 'continue_from',
119
+ 'model',
120
+ 'reasoning_effort',
121
+ 'permissions',
122
+ 'driver',
123
+ 'timeout',
124
+ 'middlewares',
125
+ 'completion',
126
+ 'agent_profile',
127
+ 'cwd',
128
+ 'inputs',
129
+ 'outputs',
130
+ // Legacy public field with a dedicated diagnostic below.
131
+ 'ports',
132
+ ]);
133
+ const COMMAND_SHELL_FIELDS = new Set(['shell']);
134
+ const COMMAND_ARGV_FIELDS = new Set(['argv']);
135
+ const INPUT_BINDING_FIELDS = new Set([
136
+ 'value',
137
+ 'from',
138
+ 'default',
139
+ 'required',
140
+ 'type',
141
+ 'enum',
142
+ 'description',
143
+ ]);
144
+ const OUTPUT_BINDING_FIELDS = new Set([
145
+ 'value',
146
+ 'from',
147
+ 'default',
148
+ 'type',
149
+ 'enum',
150
+ 'description',
151
+ ]);
78
152
  // Built-in plugin types always known to the SDK core, regardless of which
79
153
  // external plugin packages are installed. These MUST stay in sync with the
80
154
  // types that `bootstrapBuiltins()` registers, otherwise the editor will
@@ -119,14 +193,17 @@ function validateCommandConfig(value, path, label, errors) {
119
193
  }
120
194
  return true;
121
195
  }
196
+ const rawRecord = value;
122
197
  const raw = value;
123
198
  if (kind === 'shell') {
199
+ validateUnknownFields(rawRecord, COMMAND_SHELL_FIELDS, path, label, errors);
124
200
  if (!raw.shell || raw.shell.trim().length === 0) {
125
201
  errors.push({ path: `${path}.shell`, message: `${label}.shell must not be empty` });
126
202
  return false;
127
203
  }
128
204
  return true;
129
205
  }
206
+ validateUnknownFields(rawRecord, COMMAND_ARGV_FIELDS, path, label, errors);
130
207
  if (!raw.argv || raw.argv.length === 0) {
131
208
  errors.push({
132
209
  path: `${path}.argv`,
@@ -159,9 +236,33 @@ function commandInputReferences(command) {
159
236
  function isRecord(value) {
160
237
  return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
161
238
  }
239
+ function validateUnknownFields(value, allowed, basePath, label, errors) {
240
+ if (!isRecord(value))
241
+ return;
242
+ for (const field of Object.keys(value)) {
243
+ if (allowed.has(field))
244
+ continue;
245
+ errors.push({
246
+ path: basePath ? `${basePath}.${field}` : field,
247
+ message: `Unknown ${label} field "${field}"`,
248
+ });
249
+ }
250
+ }
162
251
  function isNonEmptyString(value) {
163
252
  return typeof value === 'string' && value.trim().length > 0;
164
253
  }
254
+ function validateOptionalString(value, path, label, errors) {
255
+ if (value === undefined)
256
+ return false;
257
+ if (!isNonEmptyString(value)) {
258
+ errors.push({
259
+ path,
260
+ message: `${label} must be a non-empty string`,
261
+ });
262
+ return false;
263
+ }
264
+ return true;
265
+ }
165
266
  function validateStringList(value, path, label, errors) {
166
267
  if (value === undefined)
167
268
  return [];
@@ -264,6 +365,7 @@ const HOOK_FIELDS = [
264
365
  'pipeline_complete',
265
366
  'pipeline_error',
266
367
  ];
368
+ const HOOK_FIELD_SET = new Set(HOOK_FIELDS);
267
369
  function validateHooks(value, errors) {
268
370
  if (value === undefined)
269
371
  return;
@@ -271,6 +373,11 @@ function validateHooks(value, errors) {
271
373
  errors.push({ path: 'hooks', message: 'hooks must be an object map' });
272
374
  return;
273
375
  }
376
+ for (const field of Object.keys(value)) {
377
+ if (!HOOK_FIELD_SET.has(field)) {
378
+ errors.push({ path: `hooks.${field}`, message: `Unknown hook event "${field}"` });
379
+ }
380
+ }
274
381
  for (const field of HOOK_FIELDS) {
275
382
  if (!(field in value))
276
383
  continue;
@@ -289,14 +396,7 @@ function validateHooks(value, errors) {
289
396
  }
290
397
  }
291
398
  function validateReasoningEffort(value, path, errors) {
292
- if (value === undefined)
293
- return;
294
- if (!isNonEmptyString(value)) {
295
- errors.push({
296
- path,
297
- message: 'reasoning_effort must be a non-empty string',
298
- });
299
- }
399
+ validateOptionalString(value, path, 'reasoning_effort', errors);
300
400
  }
301
401
  /**
302
402
  * Validate a raw pipeline config.
@@ -312,6 +412,10 @@ function validateReasoningEffort(value, path, errors) {
312
412
  */
313
413
  export function validateRaw(config, knownTypes) {
314
414
  const errors = [];
415
+ if (!isRecord(config)) {
416
+ errors.push({ path: 'pipeline', message: 'pipeline must be an object' });
417
+ return errors;
418
+ }
315
419
  const knownTriggers = knownTypes
316
420
  ? new Set([...BUILTIN_TRIGGER_TYPES, ...(knownTypes.triggers ?? [])])
317
421
  : null;
@@ -325,16 +429,20 @@ export function validateRaw(config, knownTypes) {
325
429
  ? new Set([...BUILTIN_MIDDLEWARE_TYPES, ...(knownTypes.middlewares ?? [])])
326
430
  : null;
327
431
  // Top level
432
+ validateUnknownFields(config, PIPELINE_FIELDS, '', 'pipeline', errors);
433
+ errors.push(...validateDeclaredSdkRequirement(config.requires, 'requires', 'pipeline'));
328
434
  if (!isNonEmptyString(config.name)) {
329
435
  errors.push({ path: 'name', message: 'Pipeline name is required' });
330
436
  }
331
- if (config.mode && !VALID_PIPELINE_MODES.has(config.mode)) {
437
+ if (config.mode !== undefined && !VALID_PIPELINE_MODES.has(config.mode)) {
332
438
  errors.push({
333
439
  path: 'mode',
334
440
  message: `Invalid mode "${config.mode}". Expected "trusted" or "safe".`,
335
441
  });
336
442
  }
337
443
  validateReasoningEffort(config.reasoning_effort, 'reasoning_effort', errors);
444
+ validateOptionalString(config.driver, 'driver', 'driver', errors);
445
+ validateOptionalString(config.model, 'model', 'model', errors);
338
446
  if (config.timeout !== undefined) {
339
447
  const validation = validateDuration(config.timeout);
340
448
  if (!validation.ok) {
@@ -355,7 +463,7 @@ export function validateRaw(config, knownTypes) {
355
463
  validateStringList(config.plugins, 'plugins', 'plugins', errors);
356
464
  validateSecretList(config.secrets, 'secrets', errors);
357
465
  validateHooks(config.hooks, errors);
358
- if (knownDrivers && config.driver && !knownDrivers.has(config.driver)) {
466
+ if (knownDrivers && isNonEmptyString(config.driver) && !knownDrivers.has(config.driver)) {
359
467
  errors.push({
360
468
  path: 'driver',
361
469
  message: `Unknown driver type "${config.driver}"`,
@@ -389,6 +497,7 @@ export function validateRaw(config, knownTypes) {
389
497
  continue;
390
498
  }
391
499
  const track = maybeTrack;
500
+ validateUnknownFields(track, TRACK_FIELDS, trackPath, 'track', errors);
392
501
  if (!isNonEmptyString(track.id)) {
393
502
  errors.push({ path: `${trackPath}.id`, message: 'Track id is required' });
394
503
  }
@@ -407,14 +516,19 @@ export function validateRaw(config, knownTypes) {
407
516
  if (!isNonEmptyString(track.name)) {
408
517
  errors.push({ path: `${trackPath}.name`, message: 'Track name is required' });
409
518
  }
410
- if (track.on_failure && !VALID_ON_FAILURE.has(track.on_failure)) {
519
+ if (track.on_failure !== undefined && !VALID_ON_FAILURE.has(track.on_failure)) {
411
520
  errors.push({
412
521
  path: `${trackPath}.on_failure`,
413
522
  message: `Invalid on_failure value "${track.on_failure}". Expected "skip_downstream", "stop_all", or "ignore".`,
414
523
  });
415
524
  }
525
+ validateOptionalString(track.color, `${trackPath}.color`, 'track.color', errors);
526
+ validateOptionalString(track.driver, `${trackPath}.driver`, 'track.driver', errors);
527
+ validateOptionalString(track.model, `${trackPath}.model`, 'track.model', errors);
528
+ validateOptionalString(track.agent_profile, `${trackPath}.agent_profile`, 'track.agent_profile', errors);
529
+ validateOptionalString(track.cwd, `${trackPath}.cwd`, 'track.cwd', errors);
416
530
  validateReasoningEffort(track.reasoning_effort, `${trackPath}.reasoning_effort`, errors);
417
- if (knownDrivers && track.driver && !knownDrivers.has(track.driver)) {
531
+ if (knownDrivers && isNonEmptyString(track.driver) && !knownDrivers.has(track.driver)) {
418
532
  errors.push({
419
533
  path: `${trackPath}.driver`,
420
534
  message: `Unknown driver type "${track.driver}"`,
@@ -468,6 +582,7 @@ export function validateRaw(config, knownTypes) {
468
582
  continue;
469
583
  }
470
584
  const task = maybeTask;
585
+ validateUnknownFields(maybeTask, TASK_FIELDS, taskPath, `task "${typeof task.id === 'string' ? task.id : ki}"`, errors);
471
586
  if (!isNonEmptyString(task.id)) {
472
587
  errors.push({ path: `${taskPath}.id`, message: 'Task id is required' });
473
588
  continue; // Can't check further without an id
@@ -491,6 +606,7 @@ export function validateRaw(config, knownTypes) {
491
606
  });
492
607
  }
493
608
  seenTaskIds.add(task.id);
609
+ const hasPromptField = task.prompt !== undefined;
494
610
  const hasPromptKey = typeof task.prompt === 'string';
495
611
  const hasCommandField = isCommandTaskConfig(task);
496
612
  const hasCommandKey = commandConfigKind(task.command) !== null;
@@ -518,14 +634,20 @@ export function validateRaw(config, knownTypes) {
518
634
  message: `Task "${task.id}": cannot have both "prompt" and "command"`,
519
635
  });
520
636
  }
521
- else if (!hasPromptKey && !hasCommandField) {
637
+ else if (!hasPromptField && !hasCommandField) {
522
638
  errors.push({
523
639
  path: taskPath,
524
640
  message: `Task "${task.id}": must have "prompt" or "command"`,
525
641
  });
526
642
  }
527
643
  else {
528
- if (hasPromptKey && task.prompt.trim().length === 0) {
644
+ if (hasPromptField && !hasPromptKey) {
645
+ errors.push({
646
+ path: `${taskPath}.prompt`,
647
+ message: 'task.prompt must be a non-empty string',
648
+ });
649
+ }
650
+ else if (hasPromptKey && task.prompt.trim().length === 0) {
529
651
  errors.push({
530
652
  path: taskPath,
531
653
  message: `Task "${task.id}": prompt content cannot be empty`,
@@ -545,8 +667,13 @@ export function validateRaw(config, knownTypes) {
545
667
  });
546
668
  }
547
669
  }
670
+ validateOptionalString(task.name, `${taskPath}.name`, 'task.name', errors);
671
+ validateOptionalString(task.driver, `${taskPath}.driver`, 'task.driver', errors);
672
+ validateOptionalString(task.model, `${taskPath}.model`, 'task.model', errors);
673
+ validateOptionalString(task.agent_profile, `${taskPath}.agent_profile`, 'task.agent_profile', errors);
674
+ validateOptionalString(task.cwd, `${taskPath}.cwd`, 'task.cwd', errors);
548
675
  validateReasoningEffort(task.reasoning_effort, `${taskPath}.reasoning_effort`, errors);
549
- if (knownDrivers && task.driver && !knownDrivers.has(task.driver)) {
676
+ if (knownDrivers && isNonEmptyString(task.driver) && !knownDrivers.has(task.driver)) {
550
677
  errors.push({
551
678
  path: `${taskPath}.driver`,
552
679
  message: `Unknown driver type "${task.driver}"`,
@@ -680,6 +807,7 @@ function validatePermissions(value, basePath, errors) {
680
807
  return;
681
808
  }
682
809
  const p = value;
810
+ validateUnknownFields(p, PERMISSION_FIELD_SET, basePath, 'permissions', errors);
683
811
  for (const field of PERMISSION_FIELDS) {
684
812
  const path = `${basePath}.${field}`;
685
813
  if (!(field in p)) {
@@ -727,6 +855,48 @@ const INPUT_TASK_STREAM_FIELDS = [
727
855
  ];
728
856
  const OUTPUT_BINDING_SOURCES = ['stdout', 'stderr', 'normalizedOutput'];
729
857
  const OUTPUT_BINDING_JSON_RE = /^json\.[A-Za-z_][A-Za-z0-9_]*$/;
858
+ function pushInvalidInputBindingSource(task, name, source, path, errors) {
859
+ errors.push({
860
+ path,
861
+ message: `Task "${task.id}": input binding "${name}" from "${source}" must reference an upstream output or stream ` +
862
+ '(use outputs.<name>, taskId.<name>, taskId.outputs.<name>, taskId.stdout, taskId.stderr, taskId.normalizedOutput, or taskId.exitCode)',
863
+ });
864
+ }
865
+ function validateInputBindingSourceShape(task, name, source, path, errors) {
866
+ if (source.startsWith('outputs.')) {
867
+ const outputName = source.slice('outputs.'.length);
868
+ if (PORT_NAME_RE.test(outputName))
869
+ return true;
870
+ pushInvalidInputBindingSource(task, name, source, path, errors);
871
+ return false;
872
+ }
873
+ if (!source.includes('.')) {
874
+ pushInvalidInputBindingSource(task, name, source, path, errors);
875
+ return false;
876
+ }
877
+ const outputMarker = '.outputs.';
878
+ const outputIdx = source.lastIndexOf(outputMarker);
879
+ if (outputIdx > 0) {
880
+ const outputName = source.slice(outputIdx + outputMarker.length);
881
+ if (PORT_NAME_RE.test(outputName))
882
+ return true;
883
+ pushInvalidInputBindingSource(task, name, source, path, errors);
884
+ return false;
885
+ }
886
+ for (const field of INPUT_TASK_STREAM_FIELDS) {
887
+ const suffix = `.${field}`;
888
+ if (source.endsWith(suffix) && source.length > suffix.length)
889
+ return true;
890
+ }
891
+ const dot = source.lastIndexOf('.');
892
+ if (dot > 0) {
893
+ const outputName = source.slice(dot + 1);
894
+ if (PORT_NAME_RE.test(outputName))
895
+ return true;
896
+ }
897
+ pushInvalidInputBindingSource(task, name, source, path, errors);
898
+ return false;
899
+ }
730
900
  function validateBindingMap(value, basePath, kind, errors) {
731
901
  if (value === undefined)
732
902
  return;
@@ -748,6 +918,7 @@ function validateBindingMap(value, basePath, kind, errors) {
748
918
  continue;
749
919
  }
750
920
  const binding = rawBinding;
921
+ validateUnknownFields(binding, kind === 'inputs' ? INPUT_BINDING_FIELDS : OUTPUT_BINDING_FIELDS, path, `task.${kind}.${name}`, errors);
751
922
  if ('from' in binding && typeof binding.from !== 'string') {
752
923
  errors.push({ path: `${path}.from`, message: `task.${kind}.${name}.from must be a string` });
753
924
  }
@@ -805,12 +976,7 @@ function validateInputBindingSources(task, trackId, taskPath, index, errors) {
805
976
  const source = rawBinding.from;
806
977
  if (typeof source !== 'string')
807
978
  continue;
808
- if (!source.startsWith('outputs.') && !source.includes('.')) {
809
- errors.push({
810
- path: `${taskPath}.inputs.${name}.from`,
811
- message: `Task "${task.id}": input binding "${name}" from "${source}" must reference an upstream output or stream ` +
812
- '(use outputs.<name>, taskId.<name>, taskId.outputs.<name>, taskId.stdout, taskId.stderr, taskId.normalizedOutput, or taskId.exitCode)',
813
- });
979
+ if (!validateInputBindingSourceShape(task, name, source, `${taskPath}.inputs.${name}.from`, errors)) {
814
980
  continue;
815
981
  }
816
982
  const upstreamRef = bindingSourceTaskRef(source);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-raw.js","sourceRoot":"","sources":["../src/validate-raw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-raw.js","sourceRoot":"","sources":["../src/validate-raw.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,2CAA2C;AAC3C,EAAE;AACF,8EAA8E;AAU9E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAOjE,iEAAiE;AACjE,SAAS,aAAa,CAAC,MAAyB;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YACtC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAChD,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAM5C,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACf,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,IAAI,CAAC;YACtB,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,MAAM,CAAC;YACxB,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,SAAS,CAAC;YAC3B,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,UAAU,CAAC;YAC5B;gBACE,OAAO,MAAM,CAAC,GAAG,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,qBAAqB,EAAE,CAAC;QACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,UAAqD;IAErD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,aAAa,KAAK,0CAA0C,qBAAqB,KAAK,CAAC;IAChG,CAAC;IACD,OAAO,4BAA4B,KAAK,qCAAqC,CAAC;AAChF,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,gEAAgE;AAChE,2EAA2E;AAC3E,iEAAiE;AACjE,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAChE,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7E,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,iBAAiB;IACjB,SAAS;IACT,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,IAAI;IACJ,MAAM;IACN,OAAO;IACP,SAAS;IACT,eAAe;IACf,OAAO;IACP,kBAAkB;IAClB,aAAa;IACb,QAAQ;IACR,KAAK;IACL,aAAa;IACb,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AACH,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,YAAY;IACZ,SAAS;IACT,eAAe;IACf,OAAO;IACP,kBAAkB;IAClB,aAAa;IACb,QAAQ;IACR,SAAS;IACT,aAAa;IACb,YAAY;IACZ,eAAe;IACf,KAAK;IACL,QAAQ;IACR,SAAS;IACT,yDAAyD;IACzD,OAAO;CACR,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACnE,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;IACN,aAAa;CACd,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,aAAa;CACd,CAAC,CAAC;AAEH,0EAA0E;AAC1E,2EAA2E;AAC3E,wEAAwE;AACxE,mEAAmE;AACnE,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5F,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,WAAW;IACX,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClF,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAExE,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,IAAI,GAAG,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,IAAI,GAAG,CAAC;IAC9B,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,QAAQ;QAAE,OAAO,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QAChF,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,IAAY,EACZ,KAAa,EACb,MAAyB;IAEzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,GAAG,KAAK,6EAA6E;SAC/F,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,iCAAiC,EAAE,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,MAAM,GAAG,GAAG,KAAqD,CAAC;IAClE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,0BAA0B,EAAE,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,IAAI,OAAO;YACpB,OAAO,EAAE,GAAG,KAAK,0CAA0C;SAC5D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI,SAAS,KAAK,GAAG;gBAC9B,OAAO,EAAE,GAAG,KAAK,iCAAiC;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAsB;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAqDD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,OAA4B,EAC5B,QAAgB,EAChB,KAAa,EACb,MAAyB;IAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK;YAC/C,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,GAAG;SAC7C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc,EACd,IAAY,EACZ,KAAa,EACb,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,GAAG,KAAK,6BAA6B;SAC/C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAc,EACd,IAAY,EACZ,KAAa,EACb,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,8BAA8B,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,oCAAoC,EAAE,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,IAAY,EAAE,MAAyB;IACjF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB,IAAI,sDAAsD;aACpF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAmB;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3F,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,IAAY,EACZ,KAAa,EACb,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,0CAA0C,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,kCAAkC,EAAE,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CACvB,MAAgC,EAChC,MAAe,EACf,QAAgB,EAChB,MAAyB;IAEzB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO;IAC3E,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAC,MAAM,EAAE,MAAiC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAChG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc,EACd,IAAY,EACZ,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAsC,EAAE,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,gBAAgB;CACR,CAAC;AACX,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;AAEjE,SAAS,aAAa,CAAC,KAAc,EAAE,MAAyB;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,uBAAuB,KAAK,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,qBAAqB,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,KAAK,oBAAoB,EAAE,CAAC,CAAC;YACrF,SAAS;QACX,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,qBAAqB,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,KAAK,GAAG,EAAE,SAAS,KAAK,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,IAAY,EAAE,MAAyB;IACtF,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,MAAyB,EACzB,UAA6B;IAE7B,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,IAAI,GAAG,CAAS,CAAC,GAAG,qBAAqB,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,IAAI,GAAG,CAAS,CAAC,GAAG,oBAAoB,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,IAAI,GAAG,CAAS,CAAC,GAAG,wBAAwB,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,IAAI,GAAG,CAAS,CAAC,GAAG,wBAAwB,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,IAAI,CAAC;IAET,aAAa;IACb,qBAAqB,CACnB,MAA4C,EAC5C,eAAe,EACf,EAAE,EACF,UAAU,EACV,MAAM,CACP,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iBAAiB,MAAM,CAAC,IAAI,kCAAkC;SACxE,CAAC,CAAC;IACL,CAAC;IACD,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC7E,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,4CAA4C;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtD,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,YAAY,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,GAAG;YACjD,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IACD,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,CAAC,wCAAwC;IACzD,CAAC;IAED,sDAAsD;IACtD,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,mEAAmE;IACnE,oEAAoE;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvC,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAY,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC;QAClC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,UAA4B,CAAC;QAC3C,qBAAqB,CACnB,KAA2C,EAC3C,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,CACP,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,SAAS,KAAK;gBACvB,OAAO,EAAE,aAAa,KAAK,CAAC,EAAE,iBAAiB,sBAAsB,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,KAAK,EAAE,OAAO,EAAE,uBAAuB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,SAAS,aAAa;gBAC/B,OAAO,EAAE,6BAA6B,KAAK,CAAC,UAAU,yDAAyD;aAChH,CAAC,CAAC;QACL,CAAC;QACD,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACjF,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACpF,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACjF,sBAAsB,CACpB,KAAK,CAAC,aAAa,EACnB,GAAG,SAAS,gBAAgB,EAC5B,qBAAqB,EACrB,MAAM,CACP,CAAC;QACF,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3E,uBAAuB,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACzF,IAAI,YAAY,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,SAAS,SAAS;gBAC3B,OAAO,EAAE,wBAAwB,KAAK,CAAC,MAAM,GAAG;gBAChD,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;QACD,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3E,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,UAAU,EAAE,MAAM,CAAC,CAAC;QAElE,sEAAsE;QACtE,sEAAsE;QACtE,sBAAsB;QACtB,MAAM,oBAAoB,GAAG,sBAAsB,CACjD,KAAK,CAAC,WAAW,EACjB,GAAG,SAAS,cAAc,EAC1B,MAAM,CACP,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,SAAS,gBAAgB,EAAE,QAAQ;wBAC5C,OAAO,EAAE,oBAAoB,IAAI,mEAAmE,IAAI,kEAAkE;wBAC1K,QAAQ,EAAE,SAAS;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;YACjD,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE,CAAC;gBACvD,gBAAgB,CACd,SAAS,CAAC,IAAI,CAAC,EACf,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EACrB,GAAG,SAAS,gBAAgB,EAAE,GAAG,EACjC,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,SAAS,QAAQ;gBAC1B,OAAO,EAAE,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,2BAA2B;aAC7D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,SAAS,QAAQ;gBAC1B,OAAO,EAAE,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,gCAAgC;aAClE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,SAAS,UAAU,EAAE,GAAG,CAAC;YAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAY,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,SAAqC,CAAC;YACnD,qBAAqB,CACnB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EACtD,MAAM,CACP,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBACxE,SAAS,CAAC,oCAAoC;YAChD,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,KAAK;oBACtB,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,iBAAiB,sBAAsB,EAAE;iBACtE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,IAAK,SAAqC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,QAAQ;oBACzB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,+CAA+C;iBACzE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,sBAAsB,IAAI,CAAC,EAAE,eAAe,KAAK,CAAC,EAAE,GAAG;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;YACjD,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;YACrD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;YAE/D,iEAAiE;YACjE,mEAAmE;YACnE,6DAA6D;YAC7D,0DAA0D;YAC1D,EAAE;YACF,4DAA4D;YAC5D,8DAA8D;YAC9D,0DAA0D;YAC1D,uCAAuC;YACvC,kEAAkE;YAClE,4DAA4D;YAC5D,2CAA2C;YAC3C,0DAA0D;YAC1D,gEAAgE;YAChE,iDAAiD;YACjD,+DAA+D;YAC/D,0DAA0D;YAC1D,oBAAoB;YACpB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,4CAA4C;iBACtE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,oCAAoC;iBAC9D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,QAAQ,SAAS;wBAC1B,OAAO,EAAE,wCAAwC;qBAClD,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,YAAY,IAAI,IAAI,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5D,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,mCAAmC;qBAC7D,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,qBAAqB,CACnB,IAAI,CAAC,OAAO,EACZ,GAAG,QAAQ,UAAU,EACrB,SAAS,IAAI,CAAC,EAAE,WAAW,EAC3B,MAAM,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,QAAQ,UAAU;wBAC3B,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC3E,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACjF,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAC9E,sBAAsB,CACpB,IAAI,CAAC,aAAa,EAClB,GAAG,QAAQ,gBAAgB,EAC3B,oBAAoB,EACpB,MAAM,CACP,CAAC;YACF,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACxE,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACvF,IAAI,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,SAAS;oBAC1B,OAAO,EAAE,wBAAwB,IAAI,CAAC,MAAM,GAAG;oBAC/C,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,cAAc,EAAE,MAAM,CAAC,CAAC;YACzE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,UAAU,EAAE,MAAM,CAAC,CAAC;YAEhE,6DAA6D;YAC7D,uEAAuE;YACvE,iEAAiE;YACjE,qDAAqD;YACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9F,MAAM,cAAc,GAAG,iBAAiB,CACtC,IAAI,CAAC,UAAU,EACf,GAAG,QAAQ,aAAa,EACxB,YAAY,EACZ,MAAM,CACP,CAAC;YACF,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,IAAI,CAAC,WAAW,EAChB,GAAG,QAAQ,cAAc,EACzB,MAAM,CACP,CAAC;YAEF,IAAI,aAAa,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,eAAe;oBAChC,OAAO,EAAE,iBAAiB,WAAW,gEAAgE,WAAW,sCAAsC;oBACtJ,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,gBAAgB,IAAI,cAAc,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,kBAAkB;oBACnC,OAAO,EAAE,oBAAoB,cAAc,mEAAmE,cAAc,sCAAsC;oBAClK,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC;oBACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,GAAG,QAAQ,gBAAgB,EAAE,QAAQ;4BAC3C,OAAO,EAAE,oBAAoB,IAAI,mEAAmE,IAAI,kEAAkE;4BAC1K,QAAQ,EAAE,SAAS;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,8DAA8D;YAC9D,8DAA8D;YAC9D,IAAI,WAAW,KAAK,IAAI,IAAI,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC1D,gBAAgB,CACd,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,OAAO,EACZ,GAAG,QAAQ,UAAU,EACrB,MAAM,CACP,CAAC;YACJ,CAAC;YACD,IAAI,cAAc,KAAK,IAAI,IAAI,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBAChE,gBAAgB,CACd,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,EAC9C,IAAI,CAAC,UAAU,EACf,GAAG,QAAQ,aAAa,EACxB,MAAM,CACP,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;gBACjD,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC;oBACtD,gBAAgB,CACd,SAAS,CAAC,IAAI,CAAC,EACf,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACpB,GAAG,QAAQ,gBAAgB,EAAE,GAAG,EAChC,MAAM,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,IAAI,GAAG,kBAAkB,CAC7B,IAAI,CAAC,UAAU,EACf,GAAG,QAAQ,aAAa,EACxB,iBAAiB,EACjB,MAAM,CACP,CAAC;YAEF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,QAAQ,gBAAgB;oBACjC,OAAO,EAAE,+CAA+C;iBACzD,CAAC,CAAC;YACL,CAAC;YAED,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAErE,+BAA+B;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAClC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,GAAG,QAAQ,aAAa;4BAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,kBAAkB,GAAG,yBAAyB;yBACxE,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,GAAG,QAAQ,aAAa;4BAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,kBAAkB,GAAG,qGAAqG,GAAG,IAAI;yBAC3J,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,QAAQ,gBAAgB;wBACjC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,CAAC,aAAa,yBAAyB;qBAC1F,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,QAAQ,gBAAgB;wBACjC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,CAAC,aAAa,qGAAqG,IAAI,CAAC,aAAa,IAAI;qBAC5L,CAAC,CAAC;gBACL,CAAC;qBAAM,IACL,IAAI,CAAC,MAAM,KAAK,CAAC;oBACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;wBACzB,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;wBACzD,OAAO,WAAW,CAAC,IAAI,KAAK,UAAU,IAAI,WAAW,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;oBAC7E,CAAC,CAAC,EACF,CAAC;oBACD,iEAAiE;oBACjE,kEAAkE;oBAClE,kEAAkE;oBAClE,8DAA8D;oBAC9D,mEAAmE;oBACnE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,QAAQ,gBAAgB;wBACjC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,CAAC,aAAa,yFAAyF;wBACzJ,QAAQ,EAAE,SAAS;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB,EAAE,MAAyB;IACtF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gEAAgE;SAC1E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAChF,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,KAAK,cAAc,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,KAAK,oBAAoB,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAA0B,IAAI,GAAG,CAAC;IACtD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,4EAA4E;AAC5E,yEAAyE;AACzE,oEAAoE;AACpE,gCAAgC;AAChC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,2EAA2E;AAC3E,4EAA4E;AAC5E,QAAQ;AACR,EAAE;AACF,6EAA6E;AAC7E,kEAAkE;AAClE,0EAA0E;AAC1E,uEAAuE;AACvE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,4BAA4B;AAC5B,MAAM,wBAAwB,GAAsB;IAClD,QAAQ;IACR,QAAQ;IACR,kBAAkB;IAClB,UAAU;CACX,CAAC;AACF,MAAM,sBAAsB,GAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC3F,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AAEhE,SAAS,6BAA6B,CACpC,IAAmB,EACnB,IAAY,EACZ,MAAc,EACd,IAAY,EACZ,MAAyB;IAEzB,MAAM,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,OAAO,EACL,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,WAAW,MAAM,gDAAgD;YAC1G,uIAAuI;KAC1I,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAmB,EACnB,IAAY,EACZ,MAAc,EACd,IAAY,EACZ,MAAyB;IAEzB,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;IACjD,CAAC;IAED,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAc,EACd,QAAgB,EAChB,IAA0B,EAC1B,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,OAAO,EAAE,iBAAiB,IAAI,sDAAsD;aACrF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,oBAAoB,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,UAAqC,CAAC;QACtD,qBAAqB,CACnB,OAAO,EACP,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,EAChE,IAAI,EACJ,QAAQ,IAAI,IAAI,IAAI,EAAE,EACtB,MAAM,CACP,CAAC;QACF,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI,WAAW;gBACxB,OAAO,EAAE,eAAe,IAAI,6BAA6B;aAC1D,CAAC,CAAC;QACL,CAAC;QACD,IACE,MAAM,IAAI,OAAO;YACjB,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAgB,CAAC,EAC/C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI,OAAO;gBACpB,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACxF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,IAAI,OAAO;oBACpB,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,0DAA0D;iBACxF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,IAAI,OAAO;oBACpB,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,kCAAkC;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAC5B,MAAM,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1F,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,IAAI,OAAO;oBACpB,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;iBACjG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,KAAgB,EAChB,MAAyB;IAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO;IAC1F,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,SAAS;QACzF,MAAM,MAAM,GAAI,UAAsC,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QACzC,IACE,CAAC,+BAA+B,CAC9B,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,GAAG,QAAQ,WAAW,IAAI,OAAO,EACjC,MAAM,CACP,EACD,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,MAAM,gBAAgB,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAErE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,gBAAgB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,QAAQ,WAAW,IAAI,OAAO;gBACvC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,WAAW,MAAM,sBAAsB,WAAW,GAAG;aACxG,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,QAAQ,WAAW,IAAI,OAAO;gBACvC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,WAAW,MAAM,0DAA0D,WAAW,4CAA4C,WAAW,IAAI;aACpM,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG,KAAK,UAAU,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,QAAQ,WAAW,IAAI,OAAO;gBACvC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qBAAqB,IAAI,WAAW,MAAM,sBAAsB,UAAU,mEAAmE;aACvK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,QAA+B,EAC/B,KAAgB,EAChB,MAAyB;IAEzB,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9C,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpE,iCAAiC;IACjC,sEAAsE;IACtE,2DAA2D;IAC3D,8CAA8C;IAC9C,iEAAiE;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAwB,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,eAA4B,CAAC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,eAAe,GAAG,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpF,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,oDAAoD;QACpD,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,YAAY;gBACvB,CAAC,CAAC,qDAAqD,IAAI,GAAG;gBAC9D,CAAC,CAAC,2BAA2B,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,2BAA2B,IAAI,WAAW,IAAI,EAAE;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,EAAE;IACF,qEAAqE;IACrE,kEAAkE;IAClE,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,mCAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iCAAiC,CACxC,IAAmB,EACnB,OAAe,EACf,QAA+B,EAC/B,KAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,oEAAoE;QACpE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAChF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,mCAAmC,CAC1C,IAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,QAA+B,EAC/B,KAAgB,EAChB,MAAyB;IAEzB,mBAAmB;IACnB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAChF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,kCAAkC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;gBAAE,SAAS;YACxE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,SAAS,IAAI,CAAC,EAAE,wBAAwB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;oBAC1E,IAAI,IAAI,0DAA0D;oBAClE,4DAA4D;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,EAAE;IACF,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,uBAAuB;IACvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAGhC,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC9C,IAAI,aAAa,KAAK,OAAO;YAAE,SAAS;QACxC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,sCAAsC;QACtF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC/C,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QAC7E,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChF,MAAM,UAAU,GAAG,wBAAwB,CACzC,SAAS,EACT,OAAsC,EACtC,OAAO,CACR,CAAC;YACF,IAAI,UAAU,KAAK,IAAI;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAwD,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,SAAS,IAAI,CAAC,EAAE,0BAA0B,KAAK,CAAC,aAAa,OAAO;wBACpE,GAAG,aAAa,8CAA8C,UAAU,OAAO;wBAC/E,gEAAgE;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CACzC,IAAmB,EACnB,UAAkB,EAClB,SAA4B;IAE5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACpF,MAAM,MAAM,GAAI,OAAuC,CAAC,IAAI,CAAC;QAC7D,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5F,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,UAAkB,EAAE,UAAkB;IACpF,IAAI,MAAM,KAAK,GAAG,UAAU,YAAY,UAAU,EAAE;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,CACL,MAAM,KAAK,GAAG,cAAc,YAAY,UAAU,EAAE;QACpD,MAAM,KAAK,GAAG,UAAU,IAAI,UAAU,EAAE;QACxC,MAAM,KAAK,GAAG,cAAc,IAAI,UAAU,EAAE,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAAiB,EACjB,OAAoC,EACpC,YAAoB;IAEpB,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB,EAAE,MAAc;IAClE,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,IAAmD;IAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,QAAQ,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,KAAgB;IAC/D,6DAA6D;IAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3E,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;oBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,mFAAmF;IACnF,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,8EAA8E;IAC9E,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,SAAS,GAAG,CAAC,EAAU;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,0EAA0E;YAC1E,wEAAwE;YACxE,6DAA6D;YAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,qCAAqC;gBAC3E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,iCAAiC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBAChE,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function workDirError(value: unknown, label?: string): string | null;
2
+ export declare function assertWorkDir(value: unknown, label?: string): asserts value is string;
3
+ //# sourceMappingURL=workdir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workdir.d.ts","sourceRoot":"","sources":["../src/workdir.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAY,GAAG,MAAM,GAAG,IAAI,CAK7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAY,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAGxF"}
@@ -0,0 +1,12 @@
1
+ export function workDirError(value, label = 'workDir') {
2
+ if (typeof value !== 'string' || value.trim().length === 0) {
3
+ return `${label} must be a non-empty string`;
4
+ }
5
+ return null;
6
+ }
7
+ export function assertWorkDir(value, label = 'workDir') {
8
+ const message = workDirError(value, label);
9
+ if (message)
10
+ throw new Error(message);
11
+ }
12
+ //# sourceMappingURL=workdir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workdir.js","sourceRoot":"","sources":["../src/workdir.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,KAAK,GAAG,SAAS;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,KAAK,6BAA6B,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,KAAK,GAAG,SAAS;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}