@cosmocoder/mcp-web-docs 2.0.8 → 2.0.10

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 (46) hide show
  1. package/build/crawler/auth.js +117 -7
  2. package/build/crawler/auth.js.map +1 -1
  3. package/build/crawler/auth.test.js +333 -83
  4. package/build/crawler/auth.test.js.map +1 -1
  5. package/build/crawler/browser-config.d.ts +1 -1
  6. package/build/crawler/browser-config.js +7 -1
  7. package/build/crawler/browser-config.js.map +1 -1
  8. package/build/crawler/browser-config.test.js +21 -25
  9. package/build/crawler/browser-config.test.js.map +1 -1
  10. package/build/crawler/crawlee-crawler.d.ts +3 -0
  11. package/build/crawler/crawlee-crawler.js +155 -12
  12. package/build/crawler/crawlee-crawler.js.map +1 -1
  13. package/build/crawler/crawlee-crawler.test.js +190 -143
  14. package/build/crawler/crawlee-crawler.test.js.map +1 -1
  15. package/build/crawler/github.js +3 -2
  16. package/build/crawler/github.js.map +1 -1
  17. package/build/crawler/llms-txt.js +2 -1
  18. package/build/crawler/llms-txt.js.map +1 -1
  19. package/build/index.js +21 -24
  20. package/build/index.js.map +1 -1
  21. package/build/setupTests.js +44 -0
  22. package/build/setupTests.js.map +1 -1
  23. package/build/storage/storage.d.ts +30 -10
  24. package/build/storage/storage.js +567 -170
  25. package/build/storage/storage.js.map +1 -1
  26. package/build/storage/storage.test.js +721 -2
  27. package/build/storage/storage.test.js.map +1 -1
  28. package/build/types.d.ts +6 -1
  29. package/build/util/favicon.js +2 -1
  30. package/build/util/favicon.js.map +1 -1
  31. package/build/util/favicon.test.js +27 -37
  32. package/build/util/favicon.test.js.map +1 -1
  33. package/build/util/outbound-request.d.ts +33 -0
  34. package/build/util/outbound-request.integration.test.d.ts +1 -0
  35. package/build/util/outbound-request.integration.test.js +149 -0
  36. package/build/util/outbound-request.integration.test.js.map +1 -0
  37. package/build/util/outbound-request.js +367 -0
  38. package/build/util/outbound-request.js.map +1 -0
  39. package/build/util/outbound-request.test.d.ts +1 -0
  40. package/build/util/outbound-request.test.js +224 -0
  41. package/build/util/outbound-request.test.js.map +1 -0
  42. package/build/util/security.js +1 -1
  43. package/build/util/security.js.map +1 -1
  44. package/build/util/security.test.js +1 -0
  45. package/build/util/security.test.js.map +1 -1
  46. package/package.json +8 -6
@@ -3,7 +3,63 @@ import { mkdir, readFile, writeFile, access, chmod } from 'node:fs/promises';
3
3
  import { join, resolve } from 'node:path';
4
4
  import defaultBrowser from 'default-browser';
5
5
  import { logger } from '../util/logger.js';
6
- import { encryptData, decryptData, createSafeRegex, isSafeRegex, StorageStateSchema, StoredSessionSchema, safeJsonParse, detectLoginPage, isLoginPageUrl, SessionExpiredError, } from '../util/security.js';
6
+ import { encryptData, decryptData, createSafeRegex, isSafeRegex, StorageStateSchema, StoredSessionSchema, safeJsonParse, detectLoginPage, isLoginPageUrl, SessionExpiredError, validatePublicUrl, } from '../util/security.js';
7
+ import { BlockedOutboundRequestError, classifyOutboundFailure, getOutboundResponseError, getOutboundProxyUrl, isNavigationCancellationError, OutboundRequestFailedError, } from '../util/outbound-request.js';
8
+ function monitorMainFrameNavigations(page) {
9
+ let navigationError;
10
+ const pendingChecks = new Set();
11
+ const stopPage = (error) => {
12
+ if (!navigationError) {
13
+ navigationError = error;
14
+ void page.close().catch(() => { });
15
+ }
16
+ };
17
+ const onResponse = (response) => {
18
+ const request = response.request();
19
+ if (!request.isNavigationRequest() || request.frame() !== page.mainFrame()) {
20
+ return;
21
+ }
22
+ const check = getOutboundResponseError(response)
23
+ .then((outboundError) => {
24
+ if (outboundError) {
25
+ stopPage(outboundError);
26
+ }
27
+ })
28
+ .catch((error) => {
29
+ stopPage(error instanceof OutboundRequestFailedError ? error : new OutboundRequestFailedError(String(error)));
30
+ })
31
+ .finally(() => pendingChecks.delete(check));
32
+ pendingChecks.add(check);
33
+ };
34
+ const onRequestFailed = (request) => {
35
+ if (request.isNavigationRequest() && request.frame() === page.mainFrame()) {
36
+ const errorText = request.failure()?.errorText ?? 'unknown network error';
37
+ if (!isNavigationCancellationError(errorText)) {
38
+ const check = classifyOutboundFailure(request.url())
39
+ .then(stopPage)
40
+ .catch(() => stopPage(new OutboundRequestFailedError(`Navigation failed: ${errorText}`)))
41
+ .finally(() => pendingChecks.delete(check));
42
+ pendingChecks.add(check);
43
+ }
44
+ }
45
+ };
46
+ page.on('response', onResponse);
47
+ page.on('requestfailed', onRequestFailed);
48
+ return {
49
+ throwIfError: async () => {
50
+ while (pendingChecks.size > 0) {
51
+ await Promise.all(pendingChecks);
52
+ }
53
+ if (navigationError) {
54
+ throw navigationError;
55
+ }
56
+ },
57
+ stop: () => {
58
+ page.off('response', onResponse);
59
+ page.off('requestfailed', onRequestFailed);
60
+ },
61
+ };
62
+ }
7
63
  /**
8
64
  * Detect the user's default browser from OS settings using the default-browser package
9
65
  * https://github.com/sindresorhus/default-browser
@@ -262,6 +318,7 @@ export class AuthManager {
262
318
  logger.debug(`[AuthManager] Cookie timestamps look valid, performing browser-based validation...`);
263
319
  let browser = null;
264
320
  let context = null;
321
+ let navigationMonitor;
265
322
  try {
266
323
  const launcher = this.getBrowserLauncher(browserType);
267
324
  const launchOptions = this.getLaunchOptions(browserType);
@@ -271,18 +328,27 @@ export class AuthManager {
271
328
  ...launchOptions,
272
329
  });
273
330
  const storageState = JSON.parse(storageStateJson);
274
- context = await browser.newContext({ storageState });
331
+ context = await browser.newContext({
332
+ storageState,
333
+ proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
334
+ });
275
335
  const page = await context.newPage();
336
+ navigationMonitor = monitorMainFrameNavigations(page);
276
337
  // Navigate to the protected URL and check the result
277
338
  logger.debug(`[AuthManager] Navigating to ${url} to validate session...`);
278
339
  const response = await page.goto(url, {
279
340
  waitUntil: 'domcontentloaded',
280
341
  timeout: 30000,
281
342
  });
343
+ const initialOutboundError = await getOutboundResponseError(response);
344
+ if (initialOutboundError) {
345
+ throw initialOutboundError;
346
+ }
282
347
  // Wait for potential JavaScript redirects
283
348
  await page.waitForLoadState('networkidle', { timeout: 10000 }).catch(() => { });
284
349
  // Additional wait for JS-based auth redirects (GitHub Pages, etc.)
285
350
  await page.waitForTimeout(2000);
351
+ await navigationMonitor.throwIfError();
286
352
  const finalUrl = page.url();
287
353
  logger.debug(`[AuthManager] Final URL after navigation: ${finalUrl}`);
288
354
  // Check 1: Were we redirected to a different domain (likely auth)?
@@ -292,6 +358,7 @@ export class AuthManager {
292
358
  // Redirected to a different domain - check if it's a login page
293
359
  if (isLoginPageUrl(finalUrl)) {
294
360
  logger.warn(`[AuthManager] Session appears expired - redirected to login page: ${finalUrl}`);
361
+ await navigationMonitor.throwIfError();
295
362
  return {
296
363
  isValid: false,
297
364
  reason: `Redirected to login page on different domain (${finalDomain})`,
@@ -304,6 +371,7 @@ export class AuthManager {
304
371
  const status = response?.status();
305
372
  if (status === 401 || status === 403) {
306
373
  logger.warn(`[AuthManager] Session appears expired - received HTTP ${status}`);
374
+ await navigationMonitor.throwIfError();
307
375
  return {
308
376
  isValid: false,
309
377
  reason: `Authentication failed with HTTP ${status}`,
@@ -317,6 +385,7 @@ export class AuthManager {
317
385
  if (loginDetection.isLoginPage && loginDetection.confidence >= 0.5) {
318
386
  logger.warn(`[AuthManager] Session appears expired - login page detected (confidence: ${loginDetection.confidence.toFixed(2)})`);
319
387
  logger.debug(`[AuthManager] Login detection reasons: ${loginDetection.reasons.join(', ')}`);
388
+ await navigationMonitor.throwIfError();
320
389
  return {
321
390
  isValid: false,
322
391
  reason: `Login page detected (confidence: ${Math.round(loginDetection.confidence * 100)}%)`,
@@ -325,10 +394,15 @@ export class AuthManager {
325
394
  };
326
395
  }
327
396
  // Session appears valid
397
+ await navigationMonitor.throwIfError();
328
398
  logger.info(`[AuthManager] ✓ Session for ${domain} is valid`);
329
399
  return { isValid: true, finalUrl };
330
400
  }
331
401
  catch (error) {
402
+ await navigationMonitor?.throwIfError();
403
+ if (error instanceof BlockedOutboundRequestError || error instanceof OutboundRequestFailedError) {
404
+ throw error;
405
+ }
332
406
  const errorMsg = error instanceof Error ? error.message : String(error);
333
407
  logger.error(`[AuthManager] Error validating session: ${errorMsg}`);
334
408
  // On error, we can't confirm validity - treat as potentially invalid
@@ -338,6 +412,7 @@ export class AuthManager {
338
412
  };
339
413
  }
340
414
  finally {
415
+ navigationMonitor?.stop();
341
416
  if (context) {
342
417
  await context.close().catch(() => { });
343
418
  }
@@ -415,6 +490,9 @@ export class AuthManager {
415
490
  const { browser: initialBrowserType, loginSuccessPattern, loginSuccessSelector, loginUrl, loginTimeoutSecs = 300, // 5 minutes default
416
491
  } = options;
417
492
  let browserType = initialBrowserType;
493
+ const targetUrl = loginUrl || url;
494
+ validatePublicUrl(url);
495
+ validatePublicUrl(targetUrl);
418
496
  logger.info(`[AuthManager] === Starting Interactive Login ===`);
419
497
  logger.info(`[AuthManager] Target URL: ${url}`);
420
498
  logger.info(`[AuthManager] Options: browser=${browserType || 'auto-detect'}, loginUrl=${loginUrl || 'same as target'}, timeout=${loginTimeoutSecs}s`);
@@ -425,7 +503,6 @@ export class AuthManager {
425
503
  }
426
504
  logger.info(`[AuthManager] Using browser type: ${browserType}`);
427
505
  const domain = new URL(url).hostname;
428
- const targetUrl = loginUrl || url;
429
506
  logger.info(`[AuthManager] Will open ${browserType} browser for authentication to ${domain}`);
430
507
  logger.info(`[AuthManager] Please login in the browser window. You have ${loginTimeoutSecs} seconds.`);
431
508
  logger.info(`[AuthManager] NOTE: This is a fresh browser - you will need to login manually.`);
@@ -444,6 +521,7 @@ export class AuthManager {
444
521
  const domain = new URL(url).hostname;
445
522
  const launcher = this.getBrowserLauncher(browserType);
446
523
  const launchOptions = this.getLaunchOptions(browserType);
524
+ let stopMonitoring;
447
525
  logger.info(`[AuthManager] Launching fresh ${browserType} browser...`);
448
526
  logger.debug(`[AuthManager] Launch options:`, launchOptions);
449
527
  try {
@@ -455,13 +533,28 @@ export class AuthManager {
455
533
  logger.info(`[AuthManager] ✓ Browser launched successfully`);
456
534
  this.activeContext = await this.activeBrowser.newContext({
457
535
  viewport: { width: 1280, height: 800 },
536
+ proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
458
537
  });
459
538
  logger.debug(`[AuthManager] ✓ Browser context created`);
460
539
  const page = await this.activeContext.newPage();
540
+ const navigationMonitor = monitorMainFrameNavigations(page);
541
+ stopMonitoring = navigationMonitor.stop;
461
542
  logger.debug(`[AuthManager] ✓ New page created`);
462
543
  // Navigate to login page
463
544
  logger.info(`[AuthManager] Navigating to: ${targetUrl}`);
464
- await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
545
+ let response;
546
+ try {
547
+ response = await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
548
+ }
549
+ catch (error) {
550
+ await navigationMonitor.throwIfError();
551
+ throw error;
552
+ }
553
+ const initialOutboundError = await getOutboundResponseError(response);
554
+ if (initialOutboundError) {
555
+ throw initialOutboundError;
556
+ }
557
+ await navigationMonitor.throwIfError();
465
558
  logger.info(`[AuthManager] ✓ Page loaded. Waiting for user to login...`);
466
559
  logger.info(`[AuthManager] ⏳ You have ${loginTimeoutSecs} seconds to complete login.`);
467
560
  // Wait for successful login
@@ -470,7 +563,7 @@ export class AuthManager {
470
563
  successPattern: loginSuccessPattern,
471
564
  successSelector: loginSuccessSelector,
472
565
  timeoutSecs: loginTimeoutSecs,
473
- });
566
+ }, navigationMonitor.throwIfError);
474
567
  if (!loginSuccess) {
475
568
  logger.error(`[AuthManager] ✗ Login timed out after ${loginTimeoutSecs} seconds`);
476
569
  throw new Error('Login timed out or was cancelled');
@@ -478,6 +571,9 @@ export class AuthManager {
478
571
  logger.info(`[AuthManager] ✓ Login detected!`);
479
572
  // Extract and save the storage state
480
573
  const storageState = await this.activeContext.storageState();
574
+ await navigationMonitor.throwIfError();
575
+ navigationMonitor.stop();
576
+ stopMonitoring = undefined;
481
577
  const storageStateJson = JSON.stringify(storageState);
482
578
  logger.debug(`[AuthManager] Storage state captured (${storageStateJson.length} bytes)`);
483
579
  await this.saveSession(url, storageStateJson, browserType);
@@ -485,6 +581,7 @@ export class AuthManager {
485
581
  return storageStateJson;
486
582
  }
487
583
  finally {
584
+ stopMonitoring?.();
488
585
  await this.cleanup();
489
586
  }
490
587
  }
@@ -499,7 +596,7 @@ export class AuthManager {
499
596
  * For multi-step OAuth flows (e.g., GitHub Pages → GitHub Login → Okta → back),
500
597
  * the method tracks when the user returns to the original target domain.
501
598
  */
502
- async waitForLogin(page, options) {
599
+ async waitForLogin(page, options, throwIfNavigationFailed) {
503
600
  const { targetUrl, successPattern, successSelector, timeoutSecs } = options;
504
601
  const startTime = Date.now();
505
602
  const timeoutMs = timeoutSecs * 1000;
@@ -527,10 +624,12 @@ export class AuthManager {
527
624
  logger.info(`[AuthManager] Waiting for URL to match pattern: ${successPattern}`);
528
625
  try {
529
626
  await page.waitForURL(pattern, { timeout: timeoutMs });
627
+ await throwIfNavigationFailed();
530
628
  logger.info(`[AuthManager] ✓ URL matched success pattern`);
531
629
  return true;
532
630
  }
533
631
  catch {
632
+ await throwIfNavigationFailed();
534
633
  logger.debug(`[AuthManager] ✗ URL did not match pattern within timeout`);
535
634
  return false;
536
635
  }
@@ -539,10 +638,12 @@ export class AuthManager {
539
638
  logger.info(`[AuthManager] Waiting for element: ${successSelector}`);
540
639
  try {
541
640
  await page.waitForSelector(successSelector, { timeout: timeoutMs });
641
+ await throwIfNavigationFailed();
542
642
  logger.info(`[AuthManager] ✓ Success selector found`);
543
643
  return true;
544
644
  }
545
645
  catch {
646
+ await throwIfNavigationFailed();
546
647
  logger.debug(`[AuthManager] ✗ Selector not found within timeout`);
547
648
  return false;
548
649
  }
@@ -562,6 +663,7 @@ export class AuthManager {
562
663
  const loginPagePattern = /login|signin|sign-in|auth|sso|oauth|session|okta|oktapreview|auth0|onelogin|pingone|pingidentity|pingfederate|duosecurity|adfs|saml|idp/i;
563
664
  while (Date.now() - startTime < timeoutMs) {
564
665
  try {
666
+ await throwIfNavigationFailed();
565
667
  const currentUrl = page.url();
566
668
  const elapsed = Math.round((Date.now() - startTime) / 1000);
567
669
  // Extract current domain
@@ -604,8 +706,10 @@ export class AuthManager {
604
706
  const hasUserMenu = (await page.locator('[class*="user"], [class*="avatar"], [class*="profile"]').count()) > 0;
605
707
  // Success condition 1: Found logout button or user menu (and not on login page)
606
708
  if (!isLoginPage && (hasLogoutButton || hasUserMenu)) {
709
+ await throwIfNavigationFailed();
607
710
  logger.info(`[AuthManager] ✓ Login indicators found (logout button or user menu)`);
608
711
  await page.waitForTimeout(1000);
712
+ await throwIfNavigationFailed();
609
713
  return true;
610
714
  }
611
715
  // Success condition 2: Returned to target domain after visiting login page(s)
@@ -628,6 +732,7 @@ export class AuthManager {
628
732
  finalDomain = '';
629
733
  }
630
734
  if (finalDomain === targetDomain || finalDomain.endsWith('.' + targetDomain)) {
735
+ await throwIfNavigationFailed();
631
736
  logger.info(`[AuthManager] ✓ Confirmed on target domain: ${finalUrl}`);
632
737
  return true;
633
738
  }
@@ -640,6 +745,7 @@ export class AuthManager {
640
745
  await page.waitForTimeout(1000);
641
746
  }
642
747
  catch (error) {
748
+ await throwIfNavigationFailed();
643
749
  // Page might have navigated, which is fine
644
750
  logger.debug(`[AuthManager] Error during login check (may be normal during navigation):`, error);
645
751
  await page.waitForTimeout(1000);
@@ -657,6 +763,7 @@ export class AuthManager {
657
763
  if (!storageStateJson) {
658
764
  return null;
659
765
  }
766
+ validatePublicUrl(url);
660
767
  const launcher = this.getBrowserLauncher(browserType);
661
768
  const launchOptions = this.getLaunchOptions(browserType);
662
769
  const browser = await launcher.launch({
@@ -664,7 +771,10 @@ export class AuthManager {
664
771
  ...launchOptions,
665
772
  });
666
773
  const storageState = JSON.parse(storageStateJson);
667
- const context = await browser.newContext({ storageState });
774
+ const context = await browser.newContext({
775
+ storageState,
776
+ proxy: { server: await getOutboundProxyUrl(), bypass: '<-loopback>' },
777
+ });
668
778
  return { browser, context };
669
779
  }
670
780
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/crawler/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/crawler/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAiC,MAAM,YAAY,CAAC;AAEtF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EAGnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,SAAS,2BAA2B,CAAC,IAAU;IAC7C,IAAI,eAAkC,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,KAAK,CAAC;YACxB,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,QAA4B,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,wBAAwB,CAAC,QAAQ,CAAC;aAC7C,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACtB,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,QAAQ,CAAC,KAAK,YAAY,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,OAA0B,EAAE,EAAE;QACrD,IAAI,OAAO,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,uBAAuB,CAAC;YAC1E,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;qBACjD,IAAI,CAAC,QAAQ,CAAC;qBACd,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC,CAAC;qBACxF,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC1C,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC;AAKD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAE7F,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACtG,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC;AAuBD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACd,WAAW,CAAS;IACpB,aAAa,GAAmB,IAAI,CAAC;IACrC,aAAa,GAA0B,IAAI,CAAC;IAEpD,YAAY,OAAe;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAc;QACnC,mEAAmE;QACnE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM;aACtB,WAAW,EAAE;aACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,UAAU,OAAO,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAErD,2FAA2F;QAC3F,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAElD,iCAAiC;YACjC,MAAM,OAAO,GAA2B,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAEjF,4BAA4B;YAC5B,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEhE,iDAAiD;YACjD,aAAa,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;YAEzD,MAAM,CAAC,IAAI,CAAC,wDAAwD,MAAM,EAAE,CAAC,CAAC;YAC9E,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,MAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,YAAoB,EAAE,OAAoB;QAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEhD,qDAAqD;QACrD,aAAa,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAEhD,0CAA0C;QAC1C,MAAM,qBAAqB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG;YACd,MAAM;YACN,YAAY,EAAE,qBAAqB;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO;YACP,OAAO,EAAE,CAAU,EAAE,uCAAuC;SAC7D,CAAC;QAEF,6DAA6D;QAC7D,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhF,sEAAsE;QACtE,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEhC,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC;YACL,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAC3B,gBAAwB,EACxB,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oDAAoD;YAEnF,yCAAyC;YACzC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAA0B,EAAE,EAAE;gBACpE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;gBAC1F,OAAO,WAAW,KAAK,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YAEH,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,gDAAgD;gBAChD,mGAAmG;gBACnG,MAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,kBAAkB,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YAE9E,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,oDAAoD;gBACpD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClF,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;oBACzB,YAAY,EAAE,CAAC;oBACf,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;oBAC1E,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,aAAa,UAAU,OAAO,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,2BAA2B;YAC3B,MAAM,kBAAkB,GAAG,gEAAgE,CAAC;YAC5F,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAA0C,EAAE,EAAE;gBAC9F,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBACrE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,iBAAiB,EAAE,YAAY,GAAG,CAAC;gBACnC,YAAY;gBACZ,UAAU,EAAE,cAAc,CAAC,MAAM;gBACjC,OAAO,EACL,kBAAkB,CAAC,MAAM,GAAG,CAAC;oBAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7F,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;aAC5C,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,cAA2B,UAAU;QAErC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,KAAK,CAAC,CAAC;QAEjE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;QAC/D,CAAC;QAED,mDAAmD;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,+BAA+B,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,UAAU,UAAU,CAAC,CAAC;QAE1G,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,iCAAiC,WAAW,CAAC,YAAY,cAAc,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvH,MAAM,CAAC,IAAI,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;YACnF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,cAAc,EAAE;oBACd,WAAW,EAAE,KAAK;oBAClB,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,CAAC,4BAA4B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;iBACxE;aACF,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAEnG,IAAI,OAAO,GAAmB,IAAI,CAAC;QACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;QAC1C,IAAI,iBAA6E,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEzD,yCAAyC;YACzC,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,IAAI;gBACd,GAAG,aAAa;aACjB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClD,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACjC,YAAY;gBACZ,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;aACtE,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,iBAAiB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAEtD,qDAAqD;YACrD,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,yBAAyB,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpC,SAAS,EAAE,kBAAkB;gBAC7B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,oBAAoB,CAAC;YAC7B,CAAC;YAED,0CAA0C;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE/E,mEAAmE;YACnE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEhC,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;YAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;YAEtE,mEAAmE;YACnE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,WAAW,KAAK,cAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC;gBAClF,gEAAgE;gBAChE,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,qEAAqE,QAAQ,EAAE,CAAC,CAAC;oBAC7F,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;oBACvC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,iDAAiD,WAAW,GAAG;wBACvE,QAAQ;wBACR,cAAc,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,kCAAkC,CAAC,EAAE;qBACtG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC;YAClC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;gBAC/E,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACvC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,mCAAmC,MAAM,EAAE;oBACnD,QAAQ;iBACT,CAAC;YACJ,CAAC;YAED,yDAAyD;YACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YAC7E,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEzE,IAAI,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,4EAA4E,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjI,MAAM,CAAC,KAAK,CAAC,0CAA0C,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5F,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACvC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,oCAAoC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI;oBAC3F,QAAQ;oBACR,cAAc;iBACf,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,+BAA+B,MAAM,WAAW,CAAC,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,iBAAiB,EAAE,YAAY,EAAE,CAAC;YACxC,IAAI,KAAK,YAAY,2BAA2B,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;gBAChG,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAC;YACpE,qEAAqE;YACrE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,sBAAsB,QAAQ,EAAE;aACzC,CAAC;QACJ,CAAC;gBACO,CAAC;YACP,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC1B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,GAAW,EAAE,cAA2B,UAAU;QAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,4BAA4B;YAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,6CAA6C,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElF,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,MAAM,CAAC,MAAM,EAAE,EACtD,GAAG,EACH,MAAM,CAAC,QAAQ,IAAI,GAAG,EACtB,MAAM,CAAC,cAAc,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,WAAwB;QACjD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC;YAChB,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,WAAwB;QAC/C,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM;gBACT,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC/B,KAAK,SAAS;gBACZ,8FAA8F;gBAC9F,MAAM,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;gBACtG,OAAO,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,uBAAuB,CAAC,GAAW,EAAE,UAAuB,EAAE;QAClE,MAAM,EACJ,OAAO,EAAE,kBAAkB,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GAAG,GAAG,EAAE,oBAAoB;UAC7C,GAAG,OAAO,CAAC;QACZ,IAAI,WAAW,GAAG,kBAAkB,CAAC;QACrC,MAAM,SAAS,GAAG,QAAQ,IAAI,GAAG,CAAC;QAClC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CACT,kCAAkC,WAAW,IAAI,aAAa,cAAc,QAAQ,IAAI,gBAAgB,aAAa,gBAAgB,GAAG,CACzI,CAAC;QAEF,wEAAwE;QACxE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACrE,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,2BAA2B,WAAW,kCAAkC,MAAM,EAAE,CAAC,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,8DAA8D,gBAAgB,WAAW,CAAC,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAE9F,sDAAsD;QACtD,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE;YAC7D,mBAAmB;YACnB,oBAAoB;YACpB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,GAAW,EACX,SAAiB,EACjB,WAAwB,EACxB,OAIC;QAED,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,cAAwC,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,aAAa,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,CAAC,aAAa,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACzC,QAAQ,EAAE,KAAK,EAAE,uCAAuC;gBACxD,GAAG,aAAa;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBACvD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;gBACtC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;aACtE,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAExD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAC5D,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAEjD,yBAAyB;YACzB,MAAM,CAAC,IAAI,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;YACzD,IAAI,QAA+C,CAAC;YACpD,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,oBAAoB,CAAC;YAC7B,CAAC;YACD,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,4BAA4B,gBAAgB,6BAA6B,CAAC,CAAC;YAEvF,4BAA4B;YAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAC1C,IAAI,EACJ;gBACE,SAAS,EAAE,GAAG,EAAE,uCAAuC;gBACvD,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,oBAAoB;gBACrC,WAAW,EAAE,gBAAgB;aAC9B,EACD,iBAAiB,CAAC,YAAY,CAC/B,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,UAAU,CAAC,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAE/C,qCAAqC;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAC7D,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACvC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,cAAc,GAAG,SAAS,CAAC;YAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC;YAExF,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;YAE3D,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YAE3D,OAAO,gBAAgB,CAAC;QAC1B,CAAC;gBACO,CAAC;YACP,cAAc,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,YAAY,CACxB,IAAU,EACV,OAKC,EACD,uBAA4C;QAE5C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC;QAErC,4DAA4D;QAC5D,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,CAAC;YACL,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CACV,yCACE,cAAc;YACZ,CAAC,CAAC,gBAAgB,cAAc,EAAE;YAClC,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,iBAAiB,eAAe,EAAE;gBACpC,CAAC,CAAC,+BAA+B,YAAY,GACnD,EAAE,CACH,CAAC;QAEF,sDAAsD;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,sDAAsD;YACtD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,gDAAgD,cAAc,EAAE,CAAC,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,mDAAmD,cAAc,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvD,MAAM,uBAAuB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC;gBACL,MAAM,uBAAuB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,eAAe,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpE,MAAM,uBAAuB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC;gBACL,MAAM,uBAAuB,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,wFAAwF;QACxF,kDAAkD;QAClD,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,+DAA+D,WAAW,gBAAgB,CAAC,CAAC;QACxG,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAEzC,wDAAwD;QACxD,MAAM,gBAAgB,GACpB,0IAA0I,CAAC;QAE7I,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,uBAAuB,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAE5D,yBAAyB;gBACzB,IAAI,aAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7D,CAAC;gBACD,MAAM,CAAC;oBACL,aAAa,GAAG,EAAE,CAAC;gBACrB,CAAC;gBAED,sCAAsC;gBACtC,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAClC,MAAM,CAAC,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;gBACrE,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,OAAO,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,6CAA6C,OAAO,2BAA2B,UAAU,GAAG,CAAC,CAAC;oBAC1G,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEzD,qDAAqD;gBACrD,MAAM,WAAW,GAAG,gFAAgF,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEzH,MAAM,WAAW,GAAG,cAAc,IAAI,WAAW,CAAC;gBAElD,kFAAkF;gBAClF,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,yCAAyC;gBACzC,IAAI,UAAU,KAAK,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACnD,gBAAgB,GAAG,IAAI,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,sCAAsC,UAAU,MAAM,UAAU,EAAE,CAAC,CAAC;gBACnF,CAAC;gBAED,0EAA0E;gBAC1E,MAAM,oBAAoB,GAAG,YAAY,IAAI,CAAC,aAAa,KAAK,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC;gBAE5H,wCAAwC;gBACxC,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC3F,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;gBAE/G,gFAAgF;gBAChF,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC,EAAE,CAAC;oBACrD,MAAM,uBAAuB,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;oBACnF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,uBAAuB,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,8EAA8E;gBAC9E,4FAA4F;gBAC5F,IAAI,oBAAoB,IAAI,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3D,0EAA0E;oBAC1E,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;oBAClE,mCAAmC;oBACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC1F,MAAM,CAAC,IAAI,CACT,8CAA8C,aAAa,0BAA0B,cAAc,CAAC,IAAI,4BAA4B,CACrI,CAAC;wBACF,2DAA2D;wBAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBAEhC,0DAA0D;wBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC5B,IAAI,WAAmB,CAAC;wBACxB,IAAI,CAAC;4BACH,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;wBACzD,CAAC;wBACD,MAAM,CAAC;4BACL,WAAW,GAAG,EAAE,CAAC;wBACnB,CAAC;wBAED,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC;4BAC7E,MAAM,uBAAuB,EAAE,CAAC;4BAChC,MAAM,CAAC,IAAI,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;4BACvE,OAAO,IAAI,CAAC;wBACd,CAAC;6BACI,CAAC;4BACJ,MAAM,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;wBAChG,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,mCAAmC;gBACnC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,uBAAuB,EAAE,CAAC;gBAChC,2CAA2C;gBAC3C,MAAM,CAAC,KAAK,CAAC,2EAA2E,EAAE,KAAK,CAAC,CAAC;gBACjG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iDAAiD,WAAW,UAAU,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,yBAAyB,cAAc,CAAC,IAAI,2BAA2B,CAAC,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAC9B,GAAW,EACX,cAA2B,UAAU;QAErC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAErD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,IAAI;YACd,GAAG,aAAa;SACjB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACvC,YAAY;YACZ,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SACtE,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;CACF"}