gcb-host 0.0.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/lib/broker.d.ts +9 -2
  3. package/lib/broker.d.ts.map +1 -1
  4. package/lib/broker.js +63 -28
  5. package/lib/broker.js.map +1 -1
  6. package/lib/commands/compose.d.ts.map +1 -1
  7. package/lib/commands/compose.js +42 -15
  8. package/lib/commands/compose.js.map +1 -1
  9. package/lib/commands/config.d.ts +1 -1
  10. package/lib/commands/config.d.ts.map +1 -1
  11. package/lib/commands/config.js +27 -5
  12. package/lib/commands/config.js.map +1 -1
  13. package/lib/commands/host-opener.d.ts +11 -1
  14. package/lib/commands/host-opener.d.ts.map +1 -1
  15. package/lib/commands/host-opener.js +137 -38
  16. package/lib/commands/host-opener.js.map +1 -1
  17. package/lib/config.d.ts +5 -1
  18. package/lib/config.d.ts.map +1 -1
  19. package/lib/config.js +14 -8
  20. package/lib/config.js.map +1 -1
  21. package/lib/daemon.d.ts +0 -9
  22. package/lib/daemon.d.ts.map +1 -1
  23. package/lib/daemon.js +57 -7
  24. package/lib/daemon.js.map +1 -1
  25. package/lib/device-flow.d.ts +1 -0
  26. package/lib/device-flow.d.ts.map +1 -1
  27. package/lib/device-flow.js +1 -0
  28. package/lib/device-flow.js.map +1 -1
  29. package/lib/index.d.ts +1 -1
  30. package/lib/index.d.ts.map +1 -1
  31. package/lib/index.js +1 -1
  32. package/lib/policy.d.ts.map +1 -1
  33. package/lib/policy.js +5 -3
  34. package/lib/policy.js.map +1 -1
  35. package/lib/providers/github-app.d.ts.map +1 -1
  36. package/lib/providers/github-app.js +233 -165
  37. package/lib/providers/github-app.js.map +1 -1
  38. package/lib/reload.d.ts +45 -0
  39. package/lib/reload.d.ts.map +1 -0
  40. package/lib/reload.js +149 -0
  41. package/lib/reload.js.map +1 -0
  42. package/package.json +2 -2
@@ -390,6 +390,90 @@ export function createGithubAppProvider(options) {
390
390
  // the exchange even when the commands selected different proxy routes, then let the waiter re-read
391
391
  // the cache the winner wrote. Each exchange still uses its own command's fetch.
392
392
  let renewingPersonToken;
393
+ /**
394
+ * The token of the person this deployment authorized, when there is one.
395
+ *
396
+ * Only person-relevant actions may use it; GitHub will not author a pull request as a person for
397
+ * an app, refuses to resolve a review thread for one, and a reply must be attributable to the
398
+ * person answering.
399
+ * The refresh token lives beside the private key, and GitHub rotates it on every use, so the new
400
+ * one is written back — keeping the old would work once and then stop.
401
+ *
402
+ * @returns the user token, or `undefined` when nobody has authorized one.
403
+ */
404
+ async function personalToken() {
405
+ while (renewingPersonToken !== undefined) {
406
+ try {
407
+ await renewingPersonToken;
408
+ }
409
+ catch {
410
+ // The winner failed; this command retries after the lock is released.
411
+ }
412
+ }
413
+ const pending = renewPersonToken();
414
+ renewingPersonToken = pending;
415
+ try {
416
+ return await pending;
417
+ }
418
+ finally {
419
+ if (renewingPersonToken === pending)
420
+ renewingPersonToken = undefined;
421
+ }
422
+ }
423
+ /** The authorized person's token, falling back to the per-owner token for this owner. */
424
+ async function personTokenFor(owner) {
425
+ const personal = await personalToken();
426
+ if (personal !== undefined)
427
+ return personal;
428
+ const file = cfg.userTokens?.[owner];
429
+ if (file === undefined)
430
+ return undefined;
431
+ const token = readFileSync(file, 'utf8').trim();
432
+ return token === '' ? undefined : token;
433
+ }
434
+ async function renewPersonToken() {
435
+ if (cfg.clientId === undefined || cfg.privateKeyPath === undefined)
436
+ return undefined;
437
+ const path = userTokenPath(cfg.privateKeyPath);
438
+ if (!existsSync(path))
439
+ return undefined;
440
+ const now = Date.now();
441
+ // The file is the only thing that says who the broker may act as, so it is read before the cache is
442
+ // trusted: running `authorize` again — the documented way to change that person, and the only one —
443
+ // has to take effect now rather than when the cached token happens to expire.
444
+ const held = readFileSync(path, 'utf8').trim();
445
+ if (cachedPersonToken !== undefined &&
446
+ cachedPersonToken.until > now + 60_000 &&
447
+ cachedPersonToken.source === held) {
448
+ return cachedPersonToken.token;
449
+ }
450
+ let next;
451
+ try {
452
+ next = await refreshUserToken(cfg.clientId, held, (url, init) => fetchImpl(url, init));
453
+ }
454
+ catch (error) {
455
+ // This is the one place a renewal failure is explained: the caller is an action that failed,
456
+ // and "fetch failed" on its own names neither the host nor the reason.
457
+ throw new Error(`could not renew the authorized token from ${path}: ${error.message}${describeCause(error)}`);
458
+ }
459
+ if (next.refreshToken !== undefined) {
460
+ try {
461
+ writeFileSync(path, `${next.refreshToken}\n`, { mode: 0o600 });
462
+ }
463
+ catch (error) {
464
+ // GitHub invalidated the token on disk the moment it answered, so this is not transient and not
465
+ // recoverable: the next renewal reads a dead token. Nothing else in the log would say so.
466
+ throw new Error(`could not store the new refresh token in ${path}: ${error.message}; the previous ` +
467
+ 'one is no longer valid, so run authorize again');
468
+ }
469
+ }
470
+ cachedPersonToken = {
471
+ token: next.token,
472
+ until: now + (next.expiresInSeconds ?? 28_800) * 1_000,
473
+ source: next.refreshToken ?? held,
474
+ };
475
+ return cachedPersonToken.token;
476
+ }
393
477
  /**
394
478
  * One more sentence about a failure, when there is one worth having.
395
479
  *
@@ -426,16 +510,30 @@ export function createGithubAppProvider(options) {
426
510
  name: 'github-app',
427
511
  async runAction(request) {
428
512
  const spec = getGhAction(request.action);
429
- const wanted = { ...spec.permissions };
430
- await ensurePermissions(request.owner, wanted);
431
- const installationId = await resolveInstallationId(request.owner);
432
- const { json } = await call('POST', `${api}/app/installations/${installationId}/access_tokens`, {
433
- repositories: [request.repo],
434
- permissions: wanted,
435
- });
436
- const token = json?.token;
437
- if (typeof token !== 'string' || !token) {
438
- throw new ProviderConfigError('GitHub returned no installation token for the action');
513
+ const identity = request.identity ?? 'app';
514
+ let token;
515
+ let minted = false;
516
+ if (identity === 'user') {
517
+ const person = await personTokenFor(request.owner);
518
+ if (person === undefined) {
519
+ throw new ProviderConfigError('no authorized user token for this action; run gcb authorize or configure userTokens');
520
+ }
521
+ token = person;
522
+ }
523
+ else {
524
+ const wanted = { ...spec.permissions };
525
+ await ensurePermissions(request.owner, wanted);
526
+ const installationId = await resolveInstallationId(request.owner);
527
+ const { json } = await call('POST', `${api}/app/installations/${installationId}/access_tokens`, {
528
+ repositories: [request.repo],
529
+ permissions: wanted,
530
+ });
531
+ const mintedToken = json?.token;
532
+ if (typeof mintedToken !== 'string' || !mintedToken) {
533
+ throw new ProviderConfigError('GitHub returned no installation token for the action');
534
+ }
535
+ token = mintedToken;
536
+ minted = true;
439
537
  }
440
538
  let result;
441
539
  let warning;
@@ -455,32 +553,34 @@ export function createGithubAppProvider(options) {
455
553
  result = { ...NO_RUN, error: error instanceof Error ? error.message : String(error) };
456
554
  }
457
555
  finally {
458
- try {
459
- const response = await fetchImpl(`${api}/installation/token`, {
460
- method: 'DELETE',
461
- headers: {
462
- accept: 'application/vnd.github+json',
463
- authorization: `Bearer ${token}`,
464
- 'x-github-api-version': apiVersion,
465
- 'user-agent': 'gcb',
466
- },
467
- });
468
- if (!response.ok) {
469
- let detail = '';
470
- try {
471
- detail = (await response.text()).replace(/\s+/g, ' ').trim().slice(0, 200);
472
- }
473
- catch {
474
- // The status is enough; a body that cannot be read is still not a successful revoke.
556
+ if (minted) {
557
+ try {
558
+ const response = await fetchImpl(`${api}/installation/token`, {
559
+ method: 'DELETE',
560
+ headers: {
561
+ accept: 'application/vnd.github+json',
562
+ authorization: `Bearer ${token}`,
563
+ 'x-github-api-version': apiVersion,
564
+ 'user-agent': 'gcb',
565
+ },
566
+ });
567
+ if (!response.ok) {
568
+ let detail = '';
569
+ try {
570
+ detail = (await response.text()).replace(/\s+/g, ' ').trim().slice(0, 200);
571
+ }
572
+ catch {
573
+ // The status is enough; a body that cannot be read is still not a successful revoke.
574
+ }
575
+ log(`could not revoke the action token: GitHub answered ${response.status}${detail ? ` ${detail}` : ''}`);
576
+ warning = REVOKE_WARNING;
475
577
  }
476
- log(`could not revoke the action token: GitHub answered ${response.status}${detail ? ` ${detail}` : ''}`);
578
+ }
579
+ catch (error) {
580
+ log(`could not revoke the action token: ${String(error.message ?? error)}`);
477
581
  warning = REVOKE_WARNING;
478
582
  }
479
583
  }
480
- catch (error) {
481
- log(`could not revoke the action token: ${String(error.message ?? error)}`);
482
- warning = REVOKE_WARNING;
483
- }
484
584
  }
485
585
  return { ...result, tokenFingerprint: tokenFingerprint(token), ...(warning === undefined ? {} : { warning }) };
486
586
  },
@@ -558,25 +658,45 @@ export function createGithubAppProvider(options) {
558
658
  * @returns the number and the URL GitHub answered with.
559
659
  */
560
660
  async pullRequest(request) {
561
- // The two actions a person may perform are decided first: when somebody has authorized this
562
- // deployment, their token is the whole authority for them, and requiring an installation as well
563
- // would refuse a repository the app was never installed on — the fork-to-upstream case the allowlist
564
- // exists to permit. Everything else still acts as the app, and only ever could.
565
- const personalForThis = request.action === 'open' || request.action === 'resolve';
566
- const personToken = personalForThis ? await personalToken() : undefined;
661
+ if (request.action === 'fork') {
662
+ const token = await personTokenFor(request.owner);
663
+ if (token === undefined) {
664
+ throw new ProviderConfigError('no user token for fork; run gcb authorize or configure userTokens');
665
+ }
666
+ const { text } = await callWithToken('POST', `${api}/repos/${request.owner}/${request.repo}/forks`, token);
667
+ let payload = null;
668
+ try {
669
+ payload = JSON.parse(text);
670
+ }
671
+ catch {
672
+ payload = null;
673
+ }
674
+ const forked = (payload ?? {});
675
+ if (typeof forked.full_name !== 'string' || typeof forked.html_url !== 'string') {
676
+ throw new ProviderConfigError('GitHub did not answer with a fork');
677
+ }
678
+ return { number: 0, url: forked.html_url };
679
+ }
680
+ // The person is selected explicitly, and by default for the two operations an installation token
681
+ // cannot perform (open/resolve): requiring an installation as well would refuse a repository the
682
+ // app was never installed on — the fork-to-upstream case the allowlist exists to permit. Reply,
683
+ // edit and comment stay on the app unless identity is explicitly 'user'.
684
+ const wantsApp = request.identity === 'app';
685
+ const personalForThis = request.identity === 'user' ||
686
+ (!wantsApp && (request.action === 'open' || request.action === 'resolve'));
687
+ const actingToken = personalForThis ? await personTokenFor(request.owner) : undefined;
688
+ // Resolving has no app route: the thread mutation is refused for an installation token, so a
689
+ // missing person token is a configuration error, not a reason to mint the wrong credential.
690
+ const personRequired = request.identity === 'user' || request.action === 'resolve';
691
+ if (personRequired && actingToken === undefined) {
692
+ throw new ProviderConfigError(`no authorized user token for ${request.action === 'resolve' ? 'resolving this thread' : 'this request'}; run gcb authorize or configure userTokens`);
693
+ }
567
694
  // `--status` also reads /actions/runs, which is checked against actions: read. Pre-flighting
568
695
  // pull_requests alone passed a grant that could not make that call, which is the opposite of what a
569
696
  // pre-flight is for.
570
697
  const wanted = request.action === 'status' ? { ...PULL_REQUEST_PERMISSIONS, actions: 'read' } : PULL_REQUEST_PERMISSIONS;
571
698
  // One variable, so every branch below holds a token without having to ask which kind it is.
572
699
  let token;
573
- // A token per owner is the other way a person acts. It counts exactly as the authorized token does:
574
- // whoever is acting, requiring an installation as well would refuse a repository the app was never
575
- // installed on — the fork-to-upstream case the allowlist exists to permit.
576
- const fileToken = request.action === 'open' || request.action === 'resolve'
577
- ? cfg.userTokens?.[request.owner]
578
- : undefined;
579
- const actingToken = personToken ?? (fileToken === undefined ? undefined : readFileSync(fileToken, 'utf8').trim());
580
700
  if (actingToken === undefined) {
581
701
  await ensurePermissions(request.owner, wanted);
582
702
  const installationId = await resolveInstallationId(request.owner);
@@ -594,84 +714,12 @@ export function createGithubAppProvider(options) {
594
714
  token = actingToken;
595
715
  }
596
716
  const collection = `${api}/repos/${request.owner}/${request.repo}/pulls`;
597
- /**
598
- * The token of the person this deployment authorized, when there is one.
599
-
600
- * Only two actions may use it, and both because an installation token cannot: GitHub will not
601
- * author a pull request as a person for an app, and refuses to resolve a review thread for one.
602
- * The refresh token lives beside the private key, and GitHub rotates it on every use, so the new
603
- * one is written back — keeping the old would work once and then stop.
604
- *
605
- * @returns the user token, or `undefined` when nobody has authorized one.
606
- */
607
- async function personalToken() {
608
- while (renewingPersonToken !== undefined) {
609
- try {
610
- await renewingPersonToken;
611
- }
612
- catch {
613
- // The winner failed; this command retries after the lock is released.
614
- }
615
- }
616
- const pending = renewPersonToken();
617
- renewingPersonToken = pending;
618
- try {
619
- return await pending;
620
- }
621
- finally {
622
- if (renewingPersonToken === pending)
623
- renewingPersonToken = undefined;
624
- }
625
- }
626
- async function renewPersonToken() {
627
- if (cfg.clientId === undefined || cfg.privateKeyPath === undefined)
628
- return undefined;
629
- const path = userTokenPath(cfg.privateKeyPath);
630
- if (!existsSync(path))
631
- return undefined;
632
- const now = Date.now();
633
- // The file is the only thing that says who the broker may act as, so it is read before the cache is
634
- // trusted: running `authorize` again — the documented way to change that person, and the only one —
635
- // has to take effect now rather than when the cached token happens to expire.
636
- const held = readFileSync(path, 'utf8').trim();
637
- if (cachedPersonToken !== undefined &&
638
- cachedPersonToken.until > now + 60_000 &&
639
- cachedPersonToken.source === held) {
640
- return cachedPersonToken.token;
641
- }
642
- let next;
643
- try {
644
- next = await refreshUserToken(cfg.clientId, held, (url, init) => fetchImpl(url, init));
645
- }
646
- catch (error) {
647
- // This is the one place a renewal failure is explained: the caller is an action that failed,
648
- // and "fetch failed" on its own names neither the host nor the reason.
649
- throw new Error(`could not renew the authorized token from ${path}: ${error.message}${describeCause(error)}`);
650
- }
651
- if (next.refreshToken !== undefined) {
652
- try {
653
- writeFileSync(path, `${next.refreshToken}\n`, { mode: 0o600 });
654
- }
655
- catch (error) {
656
- // GitHub invalidated the token on disk the moment it answered, so this is not transient and not
657
- // recoverable: the next renewal reads a dead token. Nothing else in the log would say so.
658
- throw new Error(`could not store the new refresh token in ${path}: ${error.message}; the previous ` +
659
- 'one is no longer valid, so run authorize again');
660
- }
661
- }
662
- cachedPersonToken = {
663
- token: next.token,
664
- until: now + (next.expiresInSeconds ?? 28_800) * 1_000,
665
- source: next.refreshToken ?? held,
666
- };
667
- return cachedPersonToken.token;
668
- }
669
717
  if (request.action === 'resolve') {
670
718
  // Resolving has no REST endpoint either. The thread id is the one `--threads` prints.
671
719
  // The thread id is a global node id, and the person token is not narrowed to a repository the way
672
720
  // an installation token is. Ask whose thread it is before changing it: the allowlist decided which
673
721
  // repositories this broker may touch, and a mutation is the wrong place to discover it did not.
674
- const { text: scoped } = await callWithToken('POST', `${api}/graphql`, personToken ?? token, {
722
+ const { text: scoped } = await callWithToken('POST', `${api}/graphql`, token, {
675
723
  query: 'query($threadId:ID!){node(id:$threadId){... on PullRequestReviewThread{pullRequest{repository{nameWithOwner}}}}}',
676
724
  variables: { threadId: request.threadId },
677
725
  });
@@ -689,7 +737,7 @@ export function createGithubAppProvider(options) {
689
737
  throw new Error(`refusing to resolve ${request.threadId}: it is not a review thread of ${request.owner}/${request.repo}` +
690
738
  (typeof belongsTo === 'string' ? ` (it belongs to ${belongsTo})` : ' (or it could not be read)'));
691
739
  }
692
- const { text: raw } = await callWithToken('POST', `${api}/graphql`, personToken ?? token, {
740
+ const { text: raw } = await callWithToken('POST', `${api}/graphql`, token, {
693
741
  query: 'mutation($threadId:ID!){resolveReviewThread(input:{threadId:$threadId}){thread{isResolved}}}',
694
742
  variables: { threadId: request.threadId ?? '' },
695
743
  });
@@ -747,66 +795,86 @@ export function createGithubAppProvider(options) {
747
795
  query: 'query($owner:String!,$name:String!,$number:Int!){repository(owner:$owner,name:$name){pullRequest(number:$number){reviewThreads(first:50){totalCount nodes{id isResolved path line comments(first:10){nodes{databaseId author{login} body}}}}}}}',
748
796
  variables: { owner: request.owner, name: request.repo, number: request.number },
749
797
  });
750
- let listed = null;
798
+ let listed;
751
799
  try {
752
800
  listed = JSON.parse(raw);
753
801
  }
754
802
  catch {
755
- listed = null;
803
+ throw new Error('GitHub did not answer with review-thread JSON');
756
804
  }
757
- // Nothing from a response body reaches the container — the broker answers with a generic
758
- // message for an ordinary Error — but the host log is where a reason belongs, and a refusal
759
- // that reads as "no threads" is worse than one that reads as a refusal.
760
- const refused = (listed ?? {});
805
+ // A refusal that reads as "no threads" is worse than one that reads as a refusal: malformed
806
+ // JSON, a GraphQL error, and a missing reviewThreads shape are all failures, not an empty list.
807
+ if (listed === null || typeof listed !== 'object') {
808
+ throw new Error('GitHub did not answer with review-thread JSON');
809
+ }
810
+ const refused = listed;
761
811
  if (Array.isArray(refused.errors) && refused.errors.length > 0) {
762
812
  throw new Error(`GitHub refused to list the review threads: ${JSON.stringify(refused.errors).slice(0, 300)}`);
763
813
  }
764
- const data = (listed ?? {});
765
- const nodes = data.data?.repository?.pullRequest?.reviewThreads?.nodes;
814
+ const data = listed;
815
+ const threads = data.data?.repository?.pullRequest?.reviewThreads;
816
+ if (threads === undefined || threads === null) {
817
+ throw new Error('GitHub did not answer with reviewThreads');
818
+ }
819
+ if (!Array.isArray(threads.nodes)) {
820
+ throw new Error('GitHub did not answer with reviewThreads.nodes');
821
+ }
822
+ if (typeof threads.totalCount !== 'number' || !Number.isInteger(threads.totalCount) || threads.totalCount < 0) {
823
+ throw new Error('GitHub did not answer with reviewThreads.totalCount');
824
+ }
825
+ if (threads.totalCount > 0 && threads.nodes.length === 0) {
826
+ throw new Error('GitHub answered with a thread count but no threads');
827
+ }
828
+ const nodes = threads.nodes;
766
829
  const report = [];
767
- if (Array.isArray(nodes)) {
768
- for (const node of nodes) {
769
- report.push(`${node.isResolved === true ? 'resolved' : 'open '} ${String(node.id ?? '')} ${String(node.path ?? '')}:${String(node.line ?? '')}`);
770
- const comments = node.comments?.nodes;
771
- if (!Array.isArray(comments))
772
- continue;
773
- for (const comment of comments) {
774
- // The whole comment, not its first line and not 120 characters of it: a review bot puts the finding
775
- // in the lines below the header, and a report that drops them sends the reader to the web UI for the
776
- // one thing this command exists to show.
777
- const body = String(comment.body ?? '');
778
- // The prose, not the first twelve lines of the comment: a review bot prefixes its finding with the
779
- // commands it ran and a fence of their output, so counting raw lines reads the preamble and never
780
- // reaches the claim. Fences and the bot's own metadata lines are dropped, and the cap then applies to
781
- // what is left, which is what the reader wants and what the writer meant.
782
- const bodyLines = body.split('\n');
783
- const kept = [];
784
- let inFence = false;
785
- for (const raw of bodyLines) {
786
- const line = raw.trim();
787
- if (line.startsWith('```')) {
788
- inFence = !inFence;
789
- continue;
790
- }
791
- if (inFence)
792
- continue;
793
- if (/^(🏁|🔎|⚙️|🌐|💡|💬|🔗|Repository:|Length of output:|Proposed fix$|---$|_?\s*[🔒📐🎯🩺🟡🟠])/u.test(line))
794
- continue;
795
- kept.push(line.replace(/<\/?[a-z][^>]*>/gi, '').trim());
830
+ for (const node of nodes) {
831
+ if (typeof node.id !== 'string' || node.id === '') {
832
+ throw new Error('GitHub did not answer with a review-thread id');
833
+ }
834
+ // The id is the handle `--resolve` needs; the body is the finding. Both are required.
835
+ report.push(`${node.isResolved === true ? 'resolved' : 'open '} ${node.id} ${String(node.path ?? '')}:${String(node.line ?? '')}`);
836
+ const comments = node.comments?.nodes;
837
+ if (!Array.isArray(comments)) {
838
+ throw new Error('GitHub did not answer with review-thread comments');
839
+ }
840
+ for (const comment of comments) {
841
+ // The whole comment, not its first line and not 120 characters of it: a review bot puts the finding
842
+ // in the lines below the header, and a report that drops them sends the reader to the web UI for the
843
+ // one thing this command exists to show.
844
+ if (typeof comment.body !== 'string') {
845
+ throw new Error('GitHub did not answer with a review-comment body');
846
+ }
847
+ const body = comment.body;
848
+ // The prose, not the first twelve lines of the comment: a review bot prefixes its finding with the
849
+ // commands it ran and a fence of their output, so counting raw lines reads the preamble and never
850
+ // reaches the claim. Fences and the bot's own metadata lines are dropped, and the cap then applies to
851
+ // what is left, which is what the reader wants and what the writer meant.
852
+ const bodyLines = body.split('\n');
853
+ const kept = [];
854
+ let inFence = false;
855
+ for (const raw of bodyLines) {
856
+ const line = raw.trim();
857
+ if (line.startsWith('```')) {
858
+ inFence = !inFence;
859
+ continue;
796
860
  }
797
- const shown = kept.filter((line) => line !== '').slice(0, 14);
798
- const more = kept.length > shown.length ? ` (+${kept.length - shown.length} more lines)` : '';
799
- report.push(` ${String(comment.databaseId ?? '')} @${String(comment.author?.login ?? '?')}:${more}`);
800
- for (const line of shown)
801
- report.push(` ${line.slice(0, 300)}`);
861
+ if (inFence)
862
+ continue;
863
+ if (/^(🏁|🔎|⚙️|🌐|💡|💬|🔗|Repository:|Length of output:|Proposed fix$|---$|_?\s*[🔒📐🎯🩺🟡🟠])/u.test(line))
864
+ continue;
865
+ kept.push(line.replace(/<\/?[a-z][^>]*>/gi, '').trim());
802
866
  }
867
+ const visible = kept.filter((line) => line !== '');
868
+ const shown = visible.slice(0, 14);
869
+ const more = visible.length > shown.length ? ` (+${visible.length - shown.length} more lines)` : '';
870
+ report.push(` ${String(comment.databaseId ?? '')} @${String(comment.author?.login ?? '?')}:${more}`);
871
+ for (const line of shown)
872
+ report.push(` ${line.slice(0, 300)}`);
803
873
  }
804
874
  }
805
875
  // A page is not the whole list. Saying which it is is the difference between a report and a guess.
806
- const shown = Array.isArray(nodes) ? nodes.length : 0;
807
- const counted = data.data?.repository?.pullRequest?.reviewThreads
808
- ?.totalCount;
809
- const total = typeof counted === 'number' ? counted : shown;
876
+ const shown = nodes.length;
877
+ const total = threads.totalCount;
810
878
  if (total > shown) {
811
879
  report.push(`... and ${total - shown} more: this asks for the first 50 threads, and the first 10 comments of each`);
812
880
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMrD,0DAA0D;AAC1D,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,4FAA4F;AAC5F,MAAM,aAAa,GAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAkC9E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,wBAAwB,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAC5G,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7E,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,mCAAmC,wBAAwB,qDAAqD,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,UAAU,GAAG,WAAW;QAC7B,GAAG,EAAE,UAAU,GAAG,eAAe;QACjC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;KACjB,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAyB;IAChD,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,WAAW,GAAG,GAAG,EACjB,SAAS,GAAG,UAAU,EACtB,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,MAAM,EACN,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa;QACrC,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,CAAC,CAAC,GAAG,CAAC,cAAc;YAClB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,iDAAiD,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAW,aAAa,CAAC;IAErC,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,MAAM,GAAgC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC;IACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,6CAA6C,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,GAAG,GAAoB,MAAM,CAAC;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAC5D,MAAM,iBAAiB,GACrB,CAAC,OAAO,GAAG,CAAC,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEjG;;;;;;;OAOG;IACH,MAAM,eAAe,GAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAEpE,6FAA6F;IAC7F,MAAM,eAAe,GAAG,OAAO,CAAC;IAEhC;;;;OAIG;IACH,MAAM,wBAAwB,GAA2B,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACtG,+DAA+D;IAC/D,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvG,MAAM,cAAc,GAAG,8DAA8D,CAAC;IAEtF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D;;;;;;;OAOG;IACH,SAAS,kBAAkB,CACzB,iBAAmD,EACnD,OAA+B,EAC/B,IAAY,EACZ,MAAc;QAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,MAAM,SAAS,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,UAAU,IAAI,CACjB,MAAc,EACd,GAAW,EACX,IAA8B;QAE9B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAsB,MAAM,SAAS,CAAC,GAAG,EAAE;YACvD,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI;gBAC5D,CAAC,CAAC,MAAM,CAAE,IAA6B,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzB,iFAAiF;YACjF,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,GAAW,EACX,KAAa,EACb,IAA8B;QAE9B,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,6BAA6B;YACrC,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,sBAAsB,EAAE,UAAU;YAClC,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,sGAAsG;YACtG,kGAAkG;YAClG,sGAAsG;YACtG,iGAAiG;YACjG,uGAAuG;YACvG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,cAAc,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,QAAQ,CAAC,MAAM,mBAAmB,CAC5F,CAAC;YACF,IAAI,MAAM,KAAK,EAAE;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,qBAAqB,CAAC,KAAa;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;QAEzD,IAAI,GAAG,GAAkB,GAAG,GAAG,iCAAiC,CAAC;QACjE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,KAAwD,CAAC;oBAC9E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACpG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;wBACtF,OAAO,YAAY,CAAC,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,iBAAiB,CACxB,KAAa,EACb,iBAAiB,GAAqC,WAAW;QAEjE,IAAI,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,mFAAmF;QACnF,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,eAAe,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAmB,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAI,IAAwD,EAAE,WAAW,IAAI,EAAE,CAAC;YAChG,MAAM,QAAQ,GAAG,kBAAkB,CACjC,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,+CAA+C,CAChD,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,sBAAsB,cAAc,EAAE,CAAC,CAAC;YAC/F,MAAM,mBAAmB,GACtB,YAAgE,EAAE,WAAW,IAAI,EAAE,CAAC;YACvF,QAAQ,CAAC,IAAI,CACX,GAAG,kBAAkB,CACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,uCAAuC,CACxC,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAmB,CAC3B,kCAAkC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACnF,wFAAwF;oBACxF,+EAA+E,CAClF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,qBAAqB,CAClC,OAA2B,EAC3B,KAAa,EACb,UAAkB;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAQ5B,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5I,OAAO,CAAC,QAAQ;SACjB,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC1C,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,0BAA0B,GAAG,cAAc,EACxF,KAAK,CACN,CAAC;YACF,IAAI,IAAI,GAAY,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAI,CAAC,IAAI,IAAI,EAAE,CAAiC,CAAC,aAAa,CAAC;YAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,KAAK,MAAM,GAAG,IAAI,KAA0E,EAAE,CAAC;oBAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;YAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,iBAA+E,CAAC;IACpF,mGAAmG;IACnG,uGAAuG;IACvG,+FAA+F;IAC/F,6FAA6F;IAC7F,kGAAkG;IAClG,mGAAmG;IACnG,gFAAgF;IAChF,IAAI,mBAA4D,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,KAAK,UAAU,aAAa;QAC1B,OAAO,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,mBAAmB,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,mBAAmB,KAAK,OAAO;gBAAE,mBAAmB,GAAG,SAAS,CAAC;QACvE,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,cAAc,CAAC,KAAa;QACzC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,KAAK,UAAU,gBAAgB;QAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACrF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,oGAAoG;QACpG,oGAAoG;QACpG,8EAA8E;QAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IACE,iBAAiB,KAAK,SAAS;YAC/B,iBAAiB,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM;YACtC,iBAAiB,CAAC,MAAM,KAAK,IAAI,EACjC,CAAC;YACD,OAAO,iBAAiB,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,uEAAuE;YACvE,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,KAAM,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gGAAgG;gBAChG,0FAA0F;gBAC1F,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,KAAM,KAAe,CAAC,OAAO,iBAAiB;oBAC5F,gDAAgD,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,iBAAiB,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,GAAG,KAAK;YACtD,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SAClC,CAAC;QACF,OAAO,iBAAiB,CAAC,KAAK,CAAC;IACjC,CAAC;IAEH;;;;;;;;OAQG;IACH,SAAS,aAAa,CAAC,KAAc;QACnC,MAAM,KAAK,GAAI,KAAkD,EAAE,KAAK,EAAE,OAAO,CAAC;QAClF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,iBAAiB,CAAC,KAAc;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEC,OAAO;QACL,IAAI,EAAE,YAAY;QAElB,KAAK,CAAC,SAAS,CAAC,OAAO;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;YAC3C,IAAI,KAAa,CAAC;YAClB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,mBAAmB,CAC3B,qFAAqF,CACtF,CAAC;gBACJ,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAA2B,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/D,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;oBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAI,IAAmC,EAAE,KAAK,CAAC;gBAChE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,sDAAsD,CAAC,CAAC;gBACxF,CAAC;gBACD,KAAK,GAAG,WAAW,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,MAAuB,CAAC;YAC5B,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,CAAC;oBAAS,CAAC;gBACT,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,GAAG,qBAAqB,EAAE;4BAC5D,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE;gCACP,MAAM,EAAE,6BAA6B;gCACrC,aAAa,EAAE,UAAU,KAAK,EAAE;gCAChC,sBAAsB,EAAE,UAAU;gCAClC,YAAY,EAAE,KAAK;6BACpB;yBACF,CAAC,CAAC;wBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,IAAI,MAAM,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC;gCACH,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;4BAC7E,CAAC;4BAAC,MAAM,CAAC;gCACP,qFAAqF;4BACvF,CAAC;4BACD,GAAG,CAAC,sDAAsD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1G,OAAO,GAAG,cAAc,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,sCAAsC,MAAM,CAAE,KAAe,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;wBACvF,OAAO,GAAG,cAAc,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAO;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;gBAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAA8C,CAAC;YAC1E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE9F,MAAM,UAAU,GAAe;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACvB,SAAS;aACV,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrC,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QACD;;;;;;;;;;WAUG;QACH,KAAK,CAAC,SAAS,CAAC,OAAsB;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;gBAC9F,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,MAAM,KAAK,GAAI,IAAmC,EAAE,KAAK,CAAC;YAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,mBAAmB,CAAC,2DAA2D,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,KAAK,EACL,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,KAAK,OAAO,EAClF,KAAK,CACN,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4FAA4F;gBAC5F,4FAA4F;gBAC5F,gCAAgC;gBAChC,MAAM,IAAI,mBAAmB,CAC3B,GAAI,KAAe,CAAC,OAAO,+FAA+F,CAC3H,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtE,OAAO;gBACL,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,wBAAwB,eAAe,eAAe;gBAC7F,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED;;;;;;;;WAQG;QACH,KAAK,CAAC,WAAW,CAAC,OAA2B;YAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,mBAAmB,CAAC,mEAAmE,CAAC,CAAC;gBACrG,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3G,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,EAAE,CAAgD,CAAC;gBAC9E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,CAAC;YAED,iGAAiG;YACjG,iGAAiG;YACjG,gGAAgG;YAChG,yEAAyE;YACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;YAC5C,MAAM,eAAe,GACnB,OAAO,CAAC,QAAQ,KAAK,MAAM;gBAC3B,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,6FAA6F;YAC7F,4FAA4F;YAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;YACnF,IAAI,cAAc,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,IAAI,mBAAmB,CAC3B,gCAAgC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,6CAA6C,CACrJ,CAAC;YACJ,CAAC;YAED,6FAA6F;YAC7F,oGAAoG;YACpG,qBAAqB;YACrB,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAE5G,4FAA4F;YAC5F,IAAI,KAAyB,CAAC;YAC9B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,cAAc,gBAAgB,EAAE;oBACtG,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5B,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAI,MAAqC,EAAE,KAAK,CAAC;gBAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAC;gBAC9F,CAAC;gBACD,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;YAED,MAAM,UAAU,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC;YAGzE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,sFAAsF;gBACtF,kGAAkG;gBAClG,mGAAmG;gBACnG,gGAAgG;gBAChG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBAC5E,KAAK,EACH,kHAAkH;oBACpH,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC1C,CAAC,CAAC;gBACH,IAAI,SAAkB,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAE/B,CAAC;oBACF,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC;gBACxE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;gBACD,IACE,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAC5E,CAAC;oBACD,kFAAkF;oBAClF,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,QAAQ,kCAAkC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;wBACtG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CACnG,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBACzE,KAAK,EACH,8FAA8F;oBAChG,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE;iBAChD,CAAC,CAAC;gBACH,IAAI,MAAM,GAAY,IAAI,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAG1B,CAAC;gBACF,0FAA0F;gBAC1F,mCAAmC;gBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,4FAA4F;oBAC5F,yFAAyF;oBACzF,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjH,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;iBACjG,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC/B,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,aAAa,CACjB,MAAM,EACN,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EACpF,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAC7B,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,gGAAgG;gBAChG,gGAAgG;gBAChG,4FAA4F;gBAC5F,+FAA+F;gBAC/F,MAAM,QAAQ,GAAG,GAAG,GAAG,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,mBAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrG,IAAI,OAAO,GAAY,IAAI,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAuD,CAAC;gBACnF,OAAO;oBACL,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;oBACvE,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,EAAE;oBACzE,KAAK,EACH,iPAAiP;oBACnP,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;iBAChF,CAAC,CAAC;gBACH,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,4FAA4F;gBAC5F,gGAAgG;gBAChG,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,OAAO,GAAG,MAA8B,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM,IAAI,GAAG,MAEZ,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;gBAClE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC9G,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,KAMjB,EAAE,CAAC;oBACH,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;wBAClD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBACnE,CAAC;oBACD,sFAAsF;oBACtF,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAC1H,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACvE,CAAC;oBACD,KAAK,MAAM,OAAO,IAAI,QAIpB,EAAE,CAAC;wBACH,oGAAoG;wBACpG,qGAAqG;wBACrG,yCAAyC;wBACzC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACtE,CAAC;wBACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC1B,mGAAmG;wBACnG,kGAAkG;wBAClG,sGAAsG;wBACtG,0EAA0E;wBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAa,EAAE,CAAC;wBAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;wBACpB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;4BAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;4BACxB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAAC,OAAO,GAAG,CAAC,OAAO,CAAC;gCAAC,SAAS;4BAAC,CAAC;4BAC7D,IAAI,OAAO;gCAAE,SAAS;4BACtB,IAAI,+FAA+F,CAAC,IAAI,CAAC,IAAI,CAAC;gCAAE,SAAS;4BACzH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1D,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;wBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpG,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACxG,KAAK,MAAM,IAAI,IAAI,KAAK;4BAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBACD,mGAAmG;gBACnG,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;gBACjC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,KAAK,8EAA8E,CAAC,CAAC;gBACtH,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wCAAwC;iBACzF,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,2FAA2F;gBAC3F,8FAA8F;gBAC9F,4DAA4D;gBAC5D,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,KAAK,EAAE;oBAC5E,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;oBACxB,KAAK,EAAE,SAAS;oBAChB,0FAA0F;oBAC1F,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;wBAC9D,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,QAAQ,EAAE;gCACR;oCACE,IAAI,EAAE,OAAO,CAAC,QAAQ;oCACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,iFAAiF;oCACjF,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE;oCAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;iCACzB;6BACF;yBACF,CAAC;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7F,IAAI,IAAI,GAAY,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAA2B,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;oBAC3B,GAAG,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;iBAC5D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,GAAG,GAAG,UAAU,CAAC;YACvB,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAE1J,IAAI,CAAC;gBACH,uGAAuG;gBACvG,mGAAmG;gBACnG,iGAAiG;gBACjG,wFAAwF;gBACxF,+FAA+F;gBAC/F,gFAAgF;gBAClF,gFAAgF;gBAC9E,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gGAAgG;gBAChG,6FAA6F;gBAC7F,MAAM,OAAO,GAAG,IAAI,mBAAmB,CACrC,GAAI,KAAe,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,wFAAwF,CAC3I,CAAC;gBACF,MAAM,MAAM,GAAI,KAAiC,CAAC,UAAU,CAAC;gBAC7D,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,MAAM,OAAO,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,GAAY,IAAI,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAgF,CAAC;YAC9G,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/E,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,QAAQ;gBACrB,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC;QACJ,CAAC;KAEF,CAAC;AACJ,CAAC"}