@prenta/core 5.9.0 → 5.10.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 (102) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/actions.d.ts +5 -0
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +35 -3
  5. package/dist/actions.js.map +1 -1
  6. package/dist/ai/brand-voice-alignment.d.ts.map +1 -1
  7. package/dist/ai/brand-voice-alignment.js +2 -0
  8. package/dist/ai/brand-voice-alignment.js.map +1 -1
  9. package/dist/ai/brand-voice-analyze.d.ts.map +1 -1
  10. package/dist/ai/brand-voice-analyze.js +1 -0
  11. package/dist/ai/brand-voice-analyze.js.map +1 -1
  12. package/dist/ai/index.d.ts +1 -1
  13. package/dist/ai/index.d.ts.map +1 -1
  14. package/dist/ai/index.js +1 -1
  15. package/dist/ai/index.js.map +1 -1
  16. package/dist/ai/runtime.d.ts +40 -2
  17. package/dist/ai/runtime.d.ts.map +1 -1
  18. package/dist/ai/runtime.js +60 -0
  19. package/dist/ai/runtime.js.map +1 -1
  20. package/dist/api/route-helpers.d.ts +8 -13
  21. package/dist/api/route-helpers.d.ts.map +1 -1
  22. package/dist/api/route-helpers.js +19 -39
  23. package/dist/api/route-helpers.js.map +1 -1
  24. package/dist/api/routes/seo.d.ts.map +1 -1
  25. package/dist/api/routes/seo.js +49 -4
  26. package/dist/api/routes/seo.js.map +1 -1
  27. package/dist/config/collection-lookup.d.ts +21 -0
  28. package/dist/config/collection-lookup.d.ts.map +1 -0
  29. package/dist/config/collection-lookup.js +44 -0
  30. package/dist/config/collection-lookup.js.map +1 -0
  31. package/dist/seo/audit-engine.d.ts +5 -0
  32. package/dist/seo/audit-engine.d.ts.map +1 -1
  33. package/dist/seo/audit-engine.js +63 -0
  34. package/dist/seo/audit-engine.js.map +1 -1
  35. package/dist/seo/audit-runner.d.ts.map +1 -1
  36. package/dist/seo/audit-runner.js +23 -1
  37. package/dist/seo/audit-runner.js.map +1 -1
  38. package/dist/seo/autopilot-gate.d.ts.map +1 -1
  39. package/dist/seo/autopilot-gate.js +30 -2
  40. package/dist/seo/autopilot-gate.js.map +1 -1
  41. package/dist/seo/autopilot-policy.d.ts +2 -2
  42. package/dist/seo/autopilot-policy.d.ts.map +1 -1
  43. package/dist/seo/autopilot-policy.js +1 -0
  44. package/dist/seo/autopilot-policy.js.map +1 -1
  45. package/dist/seo/autopilot-revert.d.ts.map +1 -1
  46. package/dist/seo/autopilot-revert.js +5 -2
  47. package/dist/seo/autopilot-revert.js.map +1 -1
  48. package/dist/seo/autopilot.d.ts.map +1 -1
  49. package/dist/seo/autopilot.js +18 -11
  50. package/dist/seo/autopilot.js.map +1 -1
  51. package/dist/seo/faq-eligibility.d.ts +32 -0
  52. package/dist/seo/faq-eligibility.d.ts.map +1 -0
  53. package/dist/seo/faq-eligibility.js +61 -0
  54. package/dist/seo/faq-eligibility.js.map +1 -0
  55. package/dist/seo/faq-schema.d.ts +13 -0
  56. package/dist/seo/faq-schema.d.ts.map +1 -0
  57. package/dist/seo/faq-schema.js +41 -0
  58. package/dist/seo/faq-schema.js.map +1 -0
  59. package/dist/seo/faq-signals.d.ts +54 -0
  60. package/dist/seo/faq-signals.d.ts.map +1 -0
  61. package/dist/seo/faq-signals.js +176 -0
  62. package/dist/seo/faq-signals.js.map +1 -0
  63. package/dist/seo/index.d.ts +1 -1
  64. package/dist/seo/index.d.ts.map +1 -1
  65. package/dist/seo/index.js.map +1 -1
  66. package/dist/seo/issue-fix-ai.d.ts +34 -5
  67. package/dist/seo/issue-fix-ai.d.ts.map +1 -1
  68. package/dist/seo/issue-fix-ai.js +59 -23
  69. package/dist/seo/issue-fix-ai.js.map +1 -1
  70. package/dist/seo/issue-fix-apply.d.ts +32 -2
  71. package/dist/seo/issue-fix-apply.d.ts.map +1 -1
  72. package/dist/seo/issue-fix-apply.js +231 -3
  73. package/dist/seo/issue-fix-apply.js.map +1 -1
  74. package/dist/seo/issue-fix-faq.d.ts +131 -0
  75. package/dist/seo/issue-fix-faq.d.ts.map +1 -0
  76. package/dist/seo/issue-fix-faq.js +455 -0
  77. package/dist/seo/issue-fix-faq.js.map +1 -0
  78. package/dist/seo/issue-fix-verify.d.ts +9 -0
  79. package/dist/seo/issue-fix-verify.d.ts.map +1 -1
  80. package/dist/seo/issue-fix-verify.js +61 -0
  81. package/dist/seo/issue-fix-verify.js.map +1 -1
  82. package/dist/seo/issue-fix.d.ts +5 -2
  83. package/dist/seo/issue-fix.d.ts.map +1 -1
  84. package/dist/seo/issue-fix.js +35 -0
  85. package/dist/seo/issue-fix.js.map +1 -1
  86. package/dist/seo/page-meta.d.ts +8 -0
  87. package/dist/seo/page-meta.d.ts.map +1 -1
  88. package/dist/seo/page-meta.js +85 -12
  89. package/dist/seo/page-meta.js.map +1 -1
  90. package/dist/seo/proposals-bulk-apply.d.ts +6 -3
  91. package/dist/seo/proposals-bulk-apply.d.ts.map +1 -1
  92. package/dist/seo/proposals-bulk-apply.js +1 -0
  93. package/dist/seo/proposals-bulk-apply.js.map +1 -1
  94. package/dist/seo/proposals.d.ts +24 -0
  95. package/dist/seo/proposals.d.ts.map +1 -1
  96. package/dist/seo/proposals.js +35 -4
  97. package/dist/seo/proposals.js.map +1 -1
  98. package/dist/seo/seo-field-values.d.ts +18 -0
  99. package/dist/seo/seo-field-values.d.ts.map +1 -0
  100. package/dist/seo/seo-field-values.js +25 -0
  101. package/dist/seo/seo-field-values.js.map +1 -0
  102. package/package.json +1 -1
@@ -1,18 +1,34 @@
1
- import { updateDocumentSeoFields } from '../actions.js';
1
+ import { updateDocument, updateDocumentSeoFields } from '../actions.js';
2
2
  import { getPrentaConfig } from '../config/runtime.js';
3
3
  import { assertPlanFeature } from '../plan/features.js';
4
+ import { notifyPreviewUpdate } from '../preview/event-bus.js';
5
+ import { addSection, coerceSections, createSection } from '../sections/helpers.js';
6
+ import { readDocumentTemplate } from '../sections/registry.js';
7
+ import { validateSectionContent } from '../sections/validate.js';
4
8
  import { logEvent } from '../security/audit.js';
5
9
  import { documentToAuditEntity, frontEndContentCollectionTypes } from './audit-runner.js';
6
10
  import { applySeoOverrides, getSeoOverrides } from './config-store.js';
11
+ import { canAddFaqSection, hasFaqSection } from './faq-eligibility.js';
7
12
  import { buildFixFingerprint, suggestDeterministicFix, } from './issue-fix.js';
8
13
  import { pendingFixFromMetadata } from './issue-fix-ai.js';
14
+ import { FAQ_HEADING_MAX, readFaqSectionPatch } from './issue-fix-faq.js';
9
15
  import { INSERT_LINK_FIX_TYPES, applyAndVerifyInternalLinkInsert, buildInsertLinkFingerprint, } from './issue-fix-link-insert.js';
10
16
  import { REDIRECT_FIX_TYPES, applyBrokenLinkContentFix, applyBrokenLinkRedirectFix, } from './issue-fix-redirect.js';
11
17
  import { verifySeoIssueFix } from './issue-fix-verify.js';
12
18
  import { gatherNavigationLinkTargets } from './nav-link-targets.js';
19
+ import { composeStructuredDataForPublish } from './schema-sync.js';
13
20
  export const STALE_FIX_MESSAGE = 'This fix is stale — the page changed since the suggestion was loaded. Expand the row again.';
14
21
  export const NOT_FIXABLE_MESSAGE = 'This issue does not support an automatic fix.';
15
22
  export const VERIFY_FAILED_MESSAGE = 'Fix applied but verification failed.';
23
+ export const FAQ_ALREADY_PRESENT_MESSAGE = 'This page already has an FAQ section.';
24
+ /**
25
+ * Fewest questions an editor may keep when trimming a proposal. Generation
26
+ * demands `FAQ_MIN_ITEMS` (3) so the model has to ground enough material; the
27
+ * floor here is the `faq` section type's own `minRows` — the smallest FAQ the
28
+ * editor can save by hand.
29
+ */
30
+ export const FAQ_APPLY_MIN_ITEMS = 2;
31
+ export const FAQ_TOO_FEW_ITEMS_MESSAGE = `At least ${FAQ_APPLY_MIN_ITEMS} questions are required.`;
16
32
  function asRecord(value) {
17
33
  return value && typeof value === 'object' && !Array.isArray(value)
18
34
  ? value
@@ -60,6 +76,40 @@ export async function loadIssueFixContext(db, issue, opts = {}) {
60
76
  },
61
77
  };
62
78
  }
79
+ /** Distinct, in-range, ascending indices — `includeItems` is a selection, so proposal order wins. */
80
+ function selectFaqItemIndices(includeItems, total) {
81
+ if (!includeItems)
82
+ return Array.from({ length: total }, (_, i) => i);
83
+ const keep = new Set();
84
+ for (const i of includeItems) {
85
+ if (Number.isInteger(i) && i >= 0 && i < total)
86
+ keep.add(i);
87
+ }
88
+ return [...keep].sort((a, b) => a - b);
89
+ }
90
+ /** Human reason for an `add-section` refusal; shares the eligibility rules with the scanner. */
91
+ function faqIneligibleMessage(reason, collection) {
92
+ switch (reason) {
93
+ case 'no-sections-field':
94
+ return `Collection "${collection}" does not declare a "sections" JSON field, so it cannot store page sections.`;
95
+ case 'legacy-layout':
96
+ // The editor compiles the `_layout` tree on first open.
97
+ return 'This page still uses the legacy layout tree. Open it in the editor first.';
98
+ case 'unknown-type':
99
+ case 'not-addable':
100
+ case 'template-disallows':
101
+ return `An FAQ section cannot be added to this page (${reason}).`;
102
+ default: {
103
+ const _exhaustive = reason;
104
+ return _exhaustive;
105
+ }
106
+ }
107
+ }
108
+ /** Where a new FAQ lands: just above a trailing CTA band, otherwise at the end. */
109
+ function faqInsertIndex(sections) {
110
+ const last = sections[sections.length - 1];
111
+ return last && last.sectionType === 'cta' ? sections.length - 1 : sections.length;
112
+ }
63
113
  function mapInternalLinkInsertError(err) {
64
114
  const msg = err instanceof Error ? err.message : '';
65
115
  switch (msg) {
@@ -169,10 +219,13 @@ export async function applyIssueFix(db, input) {
169
219
  }
170
220
  const source = await db.document.findFirst({
171
221
  where: { id: sourceEntityId, deletedAt: null },
172
- select: { id: true, updatedAt: true },
222
+ select: { id: true, collection: true, updatedAt: true },
173
223
  });
174
224
  if (!source)
175
225
  return { status: 'not-found', reason: 'Source document not found' };
226
+ const denied = input.authorizeContentWrite?.(source.collection);
227
+ if (denied)
228
+ return { status: 'not-allowed', httpStatus: 403, reason: denied };
176
229
  const sourceUpdatedAt = staleAgainst ??
177
230
  (source.updatedAt instanceof Date ? source.updatedAt : new Date(source.updatedAt));
178
231
  const liveFingerprint = buildInsertLinkFingerprint(sourceEntityId, targetEntityId, anchorText, sourceUpdatedAt);
@@ -236,6 +289,11 @@ export async function applyIssueFix(db, input) {
236
289
  return { status: 'stale', reason: STALE_FIX_MESSAGE };
237
290
  }
238
291
  const fixStrategy = cached.patch.fixStrategy === 'fix-link' ? 'fix-link' : 'redirect';
292
+ if (fixStrategy === 'fix-link') {
293
+ const denied = input.authorizeContentWrite?.(collection);
294
+ if (denied)
295
+ return { status: 'not-allowed', httpStatus: 403, reason: denied };
296
+ }
239
297
  try {
240
298
  if (fixStrategy === 'fix-link') {
241
299
  await applyBrokenLinkContentFix(collection, entity.entityId, cached.patch, actionCtx);
@@ -291,7 +349,170 @@ export async function applyIssueFix(db, input) {
291
349
  });
292
350
  return { status: 'applied', issue: { ...resolved }, applied: cached.changes };
293
351
  }
294
- // ── Branch 3: metadata (deterministic first, cached AI otherwise) ──────
352
+ // ── Branch 3: add-section (missing-faq) ────────────────────────────────
353
+ // The cache drops the suggestion's top-level `fixStrategy`, so the strategy
354
+ // is read from the patch; the issue type is the fallback so a `missing-faq`
355
+ // issue never falls through to the metadata writer.
356
+ if (cachedPending?.patch.fixStrategy === 'add-section' || issue.type === 'missing-faq') {
357
+ const inlinePlanErr = assertPlanFeature('seo.inlineApply');
358
+ if (inlinePlanErr)
359
+ return { status: 'plan-required', denial: inlinePlanErr };
360
+ const sectionPatch = readFaqSectionPatch(cachedPending);
361
+ if (!cachedPending?.autoFixable || !sectionPatch) {
362
+ return { status: 'not-fixable', httpStatus: 422, reason: NOT_FIXABLE_MESSAGE };
363
+ }
364
+ if (input.fingerprint && input.fingerprint !== cachedPending.fingerprint) {
365
+ return { status: 'stale', reason: STALE_FIX_MESSAGE };
366
+ }
367
+ const liveFingerprint = buildFixFingerprint(entity.entityId, issue.type, staleAgainst ?? loaded.ctx.updatedAt);
368
+ if (cachedPending.fingerprint !== liveFingerprint) {
369
+ return { status: 'stale', reason: STALE_FIX_MESSAGE };
370
+ }
371
+ // Eligibility is re-checked here, not trusted from scan time: templates and
372
+ // type pins are registered per isolate, and an editor may have added an FAQ
373
+ // by hand since the proposal was generated.
374
+ const denied = input.authorizeContentWrite?.(collection);
375
+ if (denied)
376
+ return { status: 'not-allowed', httpStatus: 403, reason: denied };
377
+ const liveData = asRecord(entity.sourceData);
378
+ if (hasFaqSection(liveData))
379
+ return { status: 'stale', reason: FAQ_ALREADY_PRESENT_MESSAGE };
380
+ const eligible = canAddFaqSection(liveData, { collection });
381
+ if (!eligible.ok) {
382
+ return {
383
+ status: 'not-fixable',
384
+ httpStatus: 422,
385
+ reason: faqIneligibleMessage(eligible.reason, collection),
386
+ };
387
+ }
388
+ const allItems = sectionPatch.section.content.items;
389
+ const keepIndices = selectFaqItemIndices(input.includeItems, allItems.length);
390
+ const selected = keepIndices.map((i) => allItems[i]);
391
+ if (selected.length < FAQ_APPLY_MIN_ITEMS) {
392
+ return { status: 'not-fixable', httpStatus: 400, reason: FAQ_TOO_FEW_ITEMS_MESSAGE };
393
+ }
394
+ const heading = (input.headingOverride?.trim() || sectionPatch.section.content.heading).slice(0, FAQ_HEADING_MAX);
395
+ let section;
396
+ try {
397
+ section = createSection('faq', { template: readDocumentTemplate(liveData) });
398
+ }
399
+ catch (err) {
400
+ const msg = err instanceof Error ? err.message : 'Cannot create an FAQ section';
401
+ return { status: 'not-fixable', httpStatus: 422, reason: msg };
402
+ }
403
+ section.content = {
404
+ ...section.content,
405
+ heading,
406
+ // Only the two renderer fields — grounding quotes stay in the cache/audit trail.
407
+ items: selected.map(({ question, answer }) => ({ question, answer })),
408
+ };
409
+ const validation = validateSectionContent('faq', section.content, section.settings);
410
+ if (!validation.valid) {
411
+ return {
412
+ status: 'not-fixable',
413
+ httpStatus: 422,
414
+ reason: validation.errors[0]?.message ?? 'Invalid FAQ section',
415
+ };
416
+ }
417
+ // Preserve unregistered (seed/code-owned) sections verbatim, like the
418
+ // page-sections API does; drop the derived `unmanaged` marker on persist.
419
+ // (A legacy `_layout`-only page was already refused by `canAddFaqSection`.)
420
+ const existing = coerceSections(liveData.sections, { onUnknown: 'preserve' });
421
+ const sections = addSection(existing, section, faqInsertIndex(existing)).map(({ unmanaged: _unmanaged, ...rest }) => rest);
422
+ let written;
423
+ try {
424
+ written = await updateDocument(collection, entity.entityId, { sections }, actionCtx);
425
+ }
426
+ catch (err) {
427
+ const msg = err instanceof Error ? err.message : '';
428
+ if (msg.includes('Access denied')) {
429
+ return { status: 'not-allowed', httpStatus: 403, reason: 'Insufficient permissions' };
430
+ }
431
+ if (msg.includes('not found'))
432
+ return { status: 'not-found', reason: 'Document not found' };
433
+ if (msg.startsWith('Cannot publish')) {
434
+ return { status: 'not-fixable', httpStatus: 422, reason: msg };
435
+ }
436
+ throw err;
437
+ }
438
+ notifyPreviewUpdate(collection, entity.entityId, {
439
+ values: written.data,
440
+ status: written.status,
441
+ updatedAt: written.updatedAt instanceof Date ? written.updatedAt.toISOString() : undefined,
442
+ });
443
+ const afterDoc = await db.document.findFirst({
444
+ where: { id: entity.entityId, deletedAt: null },
445
+ select: { id: true, slug: true, data: true, publishedAt: true, updatedAt: true },
446
+ });
447
+ const afterData = asRecord(afterDoc?.data);
448
+ const appliedChanges = cachedPending.changes.filter((c) => c.field === 'sections.faq.heading' ||
449
+ keepIndices.some((i) => c.field === `sections.faq.items[${i}]`));
450
+ const appliedPatch = {
451
+ ...sectionPatch,
452
+ section: { sectionType: 'faq', content: { heading, items: selected } },
453
+ grounding: keepIndices.map((i) => sectionPatch.grounding[i] ?? { sourceQuote: '' }),
454
+ };
455
+ const verified = await verifySeoIssueFix({
456
+ issueType: issue.type,
457
+ suggestion: {
458
+ autoFixable: true,
459
+ source: 'ai',
460
+ fixStrategy: 'add-section',
461
+ fingerprint: cachedPending.fingerprint,
462
+ // FaqSectionPatch is a plain JSON object; the suggestion contract is Record<string, unknown>.
463
+ patch: appliedPatch,
464
+ changes: appliedChanges,
465
+ justification: cachedPending.justification,
466
+ },
467
+ entityId: entity.entityId,
468
+ live: {
469
+ data: afterData,
470
+ jsonLd: afterDoc
471
+ ? composeStructuredDataForPublish({
472
+ collection,
473
+ doc: {
474
+ id: afterDoc.id,
475
+ slug: afterDoc.slug,
476
+ data: afterData,
477
+ publishedAt: afterDoc.publishedAt,
478
+ updatedAt: afterDoc.updatedAt,
479
+ },
480
+ config: getPrentaConfig(),
481
+ })
482
+ : null,
483
+ },
484
+ db,
485
+ siteUrl,
486
+ navLinks: [],
487
+ });
488
+ if (!verified.ok)
489
+ return { status: 'verify-failed', reason: verified.reason };
490
+ const resolved = await db.seoIssue.update({
491
+ where: { id: issue.id },
492
+ data: {
493
+ status: 'resolved',
494
+ resolvedAt: new Date(),
495
+ resolvedById: actor.userId,
496
+ metadata: { ...existingMeta, pendingFix: null },
497
+ },
498
+ });
499
+ await audit(actor.userId, {
500
+ action: 'seo_issue_fix_applied',
501
+ seoFix: 'add-section',
502
+ issueId: issue.id,
503
+ issueType: issue.type,
504
+ entityId: entity.entityId,
505
+ sectionId: section.id,
506
+ items: selected.length,
507
+ });
508
+ return {
509
+ status: 'applied',
510
+ issue: { ...resolved },
511
+ applied: appliedChanges,
512
+ sectionId: section.id,
513
+ };
514
+ }
515
+ // ── Branch 4: metadata (deterministic first, cached AI otherwise) ──────
295
516
  const deterministic = suggestDeterministicFix(issueInput, fixCtx);
296
517
  let suggestion = deterministic;
297
518
  const liveFingerprint = buildFixFingerprint(entity.entityId, issue.type, staleAgainst ?? loaded.ctx.updatedAt);
@@ -330,6 +551,12 @@ export async function applyIssueFix(db, input) {
330
551
  if (!suggestion.autoFixable || Object.keys(suggestion.patch).length === 0) {
331
552
  return { status: 'not-fixable', httpStatus: 422, reason: NOT_FIXABLE_MESSAGE };
332
553
  }
554
+ // Invariant: Branch 3 returns for every `add-section` cache, so this is
555
+ // unreachable. Kept as a hard stop — a section patch must never be spilled
556
+ // into document data by updateDocumentSeoFields if the routing above changes.
557
+ if (suggestion.patch.fixStrategy === 'add-section') {
558
+ return { status: 'not-fixable', httpStatus: 422, reason: NOT_FIXABLE_MESSAGE };
559
+ }
333
560
  try {
334
561
  await updateDocumentSeoFields(collection, entity.entityId, suggestion.patch, actionCtx);
335
562
  }
@@ -376,6 +603,7 @@ export async function applyIssueFix(db, input) {
376
603
  canonical: liveEntity.canonicalUrl ?? null,
377
604
  noindex: liveEntity.noindex ?? null,
378
605
  structuredDataType: liveEntity.structuredDataType ?? null,
606
+ structuredData: afterDoc ? asRecord(afterDoc.structuredData) : null,
379
607
  status: afterDoc ? String(afterDoc.status) : undefined,
380
608
  },
381
609
  db,
@@ -1 +1 @@
1
- {"version":3,"file":"issue-fix-apply.js","sourceRoot":"","sources":["../../src/seo/issue-fix-apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-fix-apply.js","sourceRoot":"","sources":["../../src/seo/issue-fix-apply.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAsB,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAA2B,MAAM,mBAAmB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA+B,MAAM,sBAAsB,CAAA;AACnG,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAGxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAwB,MAAM,oBAAoB,CAAA;AAC/F,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,6FAA6F,CAAA;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,+CAA+C,CAAA;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sCAAsC,CAAA;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,uCAAuC,CAAA;AAClF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,mBAAmB,0BAA0B,CAAA;AAalG,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAWD,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAY,EACZ,KAA+D,EAC/D,OAAmC,EAAE;IAErC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAA;IAC3F,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC9C,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;SAChB;KACF,CAAC,CAAA;IACF,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAEzE,MAAM,eAAe,GAAG,8BAA8B,CAAC,eAAe,EAAE,CAAC,CAAA;IACzE,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC7F,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,EAAE,EAAE,SAAS,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;IAE7E,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,uDAAuD;SACjE,CAAA;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM;YACN,SAAS,EAAE,GAAG,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClF,OAAO,EAAE,YAAY,EAAE,GAAG;SAC3B;KACF,CAAA;AACH,CAAC;AA6DD,qGAAqG;AACrG,SAAS,oBAAoB,CAAC,YAAkC,EAAE,KAAa;IAC7E,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,gGAAgG;AAChG,SAAS,oBAAoB,CAAC,MAA8B,EAAE,UAAkB;IAC9E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,mBAAmB;YACtB,OAAO,eAAe,UAAU,+EAA+E,CAAA;QACjH,KAAK,eAAe;YAClB,wDAAwD;YACxD,OAAO,2EAA2E,CAAA;QACpF,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa,CAAC;QACnB,KAAK,oBAAoB;YACvB,OAAO,gDAAgD,MAAM,IAAI,CAAA;QACnE,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,MAAM,CAAA;YACjC,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,QAAuB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,OAAO,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAA;AACnF,CAAC;AAED,SAAS,0BAA0B,CACjC,GAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACnD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QACxF,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QACxF,KAAK,eAAe;YAClB,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,sDAAsD;aAC/D,CAAA;QACH,KAAK,gBAAgB;YACnB,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,sCAAsC;aAC/C,CAAA;QACH,KAAK,sBAAsB;YACzB,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,+CAA+C;aACxD,CAAA;QACH;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,MAAc,EAAE,OAAgC;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAY,EACZ,KAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IACrC,MAAM,SAAS,GAAkB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAElG,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC5E,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,0DAA0D;SACnE,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QACjF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;IAC3E,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,CAAA;IAClD,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAA;IACD,MAAM,MAAM,GAAG;QACb,MAAM;QACN,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS;QAC/B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;KACnC,CAAA;IACD,MAAM,OAAO,GAAG,eAAe,EAAE,EAAE,GAAG,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;IACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,MAAM,eAAe,GACnB,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,KAAK,EAAE,WAAW,KAAK,aAAa,CAAA;IAE9F,0EAA0E;IAC1E,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;QAC1D,IAAI,aAAa;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QAE5E,IACE,CAAC,aAAa,EAAE,WAAW;YAC3B,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,KAAK,aAAa,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC7F,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QACD,IACE,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACrC,aAAa,CAAC,KAAK,CAAC,WAAW;YAC/B,aAAa,CAAC,KAAK,CAAC,WAAW,KAAK,aAAa,EACjD,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,aAAa,CAAC,KAAK,CAAC,cAAc,KAAK,QAAQ;YACpD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc;YACpC,CAAC,CAAC,EAAE,CAAA;QACR,MAAM,cAAc,GAClB,OAAO,aAAa,CAAC,KAAK,CAAC,cAAc,KAAK,QAAQ;YACpD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc;YACpC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,UAAU,GACd,OAAO,aAAa,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ;YAChD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU;YAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;QAChB,MAAM,UAAU,GACd,OAAO,aAAa,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1F,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;SACxD,CAAC,CAAA;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QAChF,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAE7E,MAAM,eAAe,GACnB,YAAY;YACZ,CAAC,MAAM,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QACpF,MAAM,eAAe,GAAG,0BAA0B,CAChD,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,CAChB,CAAA;QACD,IAAI,aAAa,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QAED,IAAI,QAAsD,CAAA;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC;gBACpD,EAAE;gBACF,GAAG,EAAE,SAAS;gBACd,cAAc;gBACd,cAAc;gBACd,UAAU;gBACV,UAAU;gBACV,OAAO;gBACP,QAAQ,EAAE,MAAM,2BAA2B,CAAC,EAAE,CAAC;aAChD,CAAC,CAAA;YACF,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAA;YAC9C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YACzB,MAAM,GAAG,CAAA;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QAE7E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,gBAAgB,EAAE,CAAC,cAAc,CAAC;gBAClC,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;aAChD;SACF,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACxB,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,cAAc;YACd,cAAc;YACd,UAAU;SACX,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;IAED,0EAA0E;IAC1E,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,aAAa,CAAA;QAC5B,MAAM,eAAe,GAAG,mBAAmB,CACzC,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,IAAI,EACV,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CACrC,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;YAClE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;QACrF,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,UAAU,CAAC,CAAA;YACxD,IAAI,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC;YACH,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACvF,CAAC;iBAAM,CAAC;gBACN,MAAM,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAA;YACzE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB,CAAC,CAAA;QACF,MAAM,kBAAkB,GAA0B;YAChD,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW;YACX,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,kBAAkB;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACxC,EAAE;YACF,OAAO;YACP,QAAQ,EAAE,MAAM,2BAA2B,CAAC,EAAE,CAAC;SAChD,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QAE7E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;aAChD;SACF,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACxB,MAAM,EACJ,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B;YAC1F,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,GAAG,CAAC,WAAW,KAAK,UAAU;gBAC5B,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC9E,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;SACtF,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;IAC/E,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,aAAa,EAAE,KAAK,CAAC,WAAW,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACvF,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;QAC1D,IAAI,aAAa;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QAE5E,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACvD,IAAI,CAAC,aAAa,EAAE,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YACjD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QACD,MAAM,eAAe,GAAG,mBAAmB,CACzC,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,IAAI,EACV,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CACrC,CAAA;QACD,IAAI,aAAa,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,4CAA4C;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,UAAU,CAAC,CAAA;QACxD,IAAI,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAE7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,aAAa,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QAC5F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;aAC1D,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;QACnD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;QACtF,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAC3F,CAAC,EACD,eAAe,CAChB,CAAA;QAED,IAAI,OAAoB,CAAA;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAA;YAC/E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAChE,CAAC;QACD,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,OAAO;YACP,iFAAiF;YACjF,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;SACtE,CAAA;QACD,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,qBAAqB;aAC/D,CAAA;QACH,CAAC;QAED,sEAAsE;QACtE,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7E,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAC1E,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAC7C,CAAA;QAED,IAAI,OAAgC,CAAA;QACpC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAA;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;YACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;YACvF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;YAC3F,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;YAChE,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QACD,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC/C,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3F,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;SACjF,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,sBAAsB;YAClC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,sBAAsB,CAAC,GAAG,CAAC,CAClE,CAAA;QACD,MAAM,YAAY,GAAoB;YACpC,GAAG,YAAY;YACf,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACtE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;SACpF,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,8FAA8F;gBAC9F,KAAK,EAAE,YAAkD;gBACzD,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,aAAa,CAAC,aAAa;aAC3C;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC,+BAA+B,CAAC;wBAC9B,UAAU;wBACV,GAAG,EAAE;4BACH,EAAE,EAAE,QAAQ,CAAC,EAAE;4BACf,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,QAAQ,CAAC,WAAW;4BACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;yBAC9B;wBACD,MAAM,EAAE,eAAe,EAAE;qBAC1B,CAAC;oBACJ,CAAC,CAAC,IAAI;aACT;YACD,EAAE;YACF,OAAO;YACP,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QAE7E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;aAChD;SACF,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACxB,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,KAAK,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC,CAAA;QACF,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE;YACtB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,OAAO,CAAC,EAAE;SACtB,CAAA;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,aAAa,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjE,IAAI,UAAU,GAA0B,aAAa,CAAA;IACrD,MAAM,eAAe,GAAG,mBAAmB,CACzC,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,IAAI,EACV,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CACrC,CAAA;IACD,MAAM,mBAAmB,GACvB,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC1E,yFAAyF;IACzF,6EAA6E;IAC7E,MAAM,eAAe,GACnB,KAAK,CAAC,YAAY,KAAK,IAAI;QAC3B,aAAa,EAAE,WAAW,KAAK,IAAI;QACnC,aAAa,CAAC,WAAW,KAAK,eAAe,CAAA;IAE/C,IAAI,CAAC,mBAAmB,IAAI,eAAe,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;QAC1D,IAAI,aAAa;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QAE5E,MAAM,MAAM,GAAG,aAAa,CAAA;QAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;YAClE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACvD,CAAC;QACD,UAAU,GAAG;YACX,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAA;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAChF,CAAC;IACD,wEAAwE;IACxE,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAChF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACzF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;QACvF,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;QAC3F,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC/C,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;SACb;KACF,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,qBAAqB,CACnB,QAAQ,EACR,8BAA8B,CAAC,eAAe,EAAE,CAAC,EACjD,OAAO,IAAI,eAAe,EAAE,EAAE,GAAG,CAClC;QACH,CAAC,CAAC,MAAM,CAAA;IACV,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;QAC3E,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS;YACrB,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,UAAU;QACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC9B,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,IAAI;YACnD,SAAS,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;YAC1C,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI;YACnC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,IAAI;YACzD,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SACvD;QACD,EAAE;QACF,OAAO;QACP,QAAQ,EAAE,MAAM,2BAA2B,CAAC,EAAE,CAAC;KAChD,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;IAE7E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;QACvB,IAAI,EAAE;YACJ,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;SAChD;KACF,CAAC,CAAA;IACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,eAAe;KAC7C,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAA;AACnF,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * `missing-faq` AI fix: propose a visible `faq` section grounded in the page's
3
+ * own text. Every answer must carry a verbatim `sourceQuote`; the deterministic
4
+ * grounding gate ({@link groundFaqDraft}) drops anything the page does not
5
+ * support. Inbox-only — never autopilot.
6
+ *
7
+ * Cycle note: this module imports helpers from `./issue-fix-ai.js`, which
8
+ * imports {@link suggestFaqSectionFix} for its `suggestAiFix` switch. Both
9
+ * modules export only functions/consts and neither calls the other at
10
+ * module-evaluation time, so the ESM cycle is safe.
11
+ */
12
+ import { z } from 'zod';
13
+ import type { FaqSignals } from './faq-signals.js';
14
+ import { runSeoJson, type AiFixDeps, type AiFixResult, type PendingFixCache } from './issue-fix-ai.js';
15
+ import { type SeoIssueFixContext, type SeoIssueFixInput } from './issue-fix.js';
16
+ export declare const FAQ_MIN_ITEMS = 3;
17
+ export declare const FAQ_MAX_ITEMS = 6;
18
+ export declare const FAQ_ANSWER_MIN = 40;
19
+ export declare const FAQ_ANSWER_MAX = 300;
20
+ export declare const FAQ_QUESTION_MAX = 160;
21
+ export declare const FAQ_HEADING_MAX = 80;
22
+ export declare const FAQ_QUOTE_MAX = 300;
23
+ export declare const FAQ_EXTRACTIVENESS_MIN = 0.4;
24
+ /** Used when the model's heading fails the banned-term gate. */
25
+ export declare const FAQ_DEFAULT_HEADING = "Frequently asked questions";
26
+ export declare const FaqDraftSchema: z.ZodObject<{
27
+ heading: z.ZodString;
28
+ items: z.ZodArray<z.ZodObject<{
29
+ question: z.ZodString;
30
+ answer: z.ZodString;
31
+ sourceQuote: z.ZodString;
32
+ }, "strip", z.ZodTypeAny, {
33
+ question: string;
34
+ answer: string;
35
+ sourceQuote: string;
36
+ }, {
37
+ question: string;
38
+ answer: string;
39
+ sourceQuote: string;
40
+ }>, "many">;
41
+ }, "strip", z.ZodTypeAny, {
42
+ heading: string;
43
+ items: {
44
+ question: string;
45
+ answer: string;
46
+ sourceQuote: string;
47
+ }[];
48
+ }, {
49
+ heading: string;
50
+ items: {
51
+ question: string;
52
+ answer: string;
53
+ sourceQuote: string;
54
+ }[];
55
+ }>;
56
+ export type FaqDraft = z.infer<typeof FaqDraftSchema>;
57
+ export type FaqDraftItem = FaqDraft['items'][number];
58
+ /** Lowercase, whitespace-collapsed — the comparison form for quotes and banned terms. */
59
+ export declare function normalizeForMatch(text: string): string;
60
+ /** Share (0..1) of the answer's content words that appear anywhere in the page text. */
61
+ export declare function extractiveness(answer: string, pageText: string): number;
62
+ export type FaqDropReason = 'quote-missing' | 'not-extractive' | 'unsupported-number' | 'duplicate-question' | 'matches-heading' | 'banned-term' | 'answer-length';
63
+ export interface FaqGroundingInput {
64
+ draft: FaqDraft;
65
+ pageText: string;
66
+ existingHeadings: string[];
67
+ bannedTerms: string[];
68
+ }
69
+ export interface FaqGroundingResult {
70
+ heading: string;
71
+ items: FaqDraftItem[];
72
+ dropped: Array<{
73
+ question: string;
74
+ reason: FaqDropReason;
75
+ }>;
76
+ }
77
+ /**
78
+ * Deterministic grounding gate. Checks run in order and the first failure is
79
+ * the recorded reason: the quote must appear verbatim (case/whitespace-
80
+ * insensitive) in the page text, the answer length must be in range, the
81
+ * answer must be mostly built from words on the page, every number in the
82
+ * answer must appear on the page, questions must be unique and not echo an
83
+ * existing heading, and no banned brand term may appear. A heading that
84
+ * contains a banned term is replaced with {@link FAQ_DEFAULT_HEADING}.
85
+ */
86
+ export declare function groundFaqDraft(input: FaqGroundingInput): FaqGroundingResult;
87
+ export interface FaqSectionPatch {
88
+ fixStrategy: 'add-section';
89
+ section: {
90
+ sectionType: 'faq';
91
+ content: {
92
+ heading: string;
93
+ items: Array<{
94
+ question: string;
95
+ answer: string;
96
+ }>;
97
+ };
98
+ };
99
+ /** One entry per item, same order — the verbatim page excerpt each answer rests on. */
100
+ grounding: Array<{
101
+ sourceQuote: string;
102
+ }>;
103
+ }
104
+ /**
105
+ * Read the cached `add-section` patch. The cache round-trips through JSON
106
+ * (and is editable as issue metadata), so neither its shape nor its prose is
107
+ * trusted: heading and every row are re-checked against the same limits
108
+ * generation enforced (`FaqDraftSchema`), so a blank or over-long value can
109
+ * never reach the document — or the inbox. `grounding` stays parallel to
110
+ * `items`: a row without a string `sourceQuote` reads as an empty quote rather
111
+ * than shifting later rows.
112
+ */
113
+ export declare function readFaqSectionPatch(cache: PendingFixCache | null): FaqSectionPatch | null;
114
+ /** Structural read of `metadata.faqSignals` (stored JSON — never trust the shape). */
115
+ export declare function readFaqSignals(metadata: unknown): FaqSignals | null;
116
+ /** Test seam: swap the governed JSON call and the brand-profile lookup. */
117
+ export interface FaqFixDeps {
118
+ generateJson?: typeof runSeoJson;
119
+ loadBannedTerms?: (deps: AiFixDeps) => Promise<string[]>;
120
+ }
121
+ /**
122
+ * Generate a grounded FAQ section proposal for a `missing-faq` issue.
123
+ *
124
+ * Failure semantics mirror the other AI fixes: provider-unavailable /
125
+ * feature-disabled yield an `aiUnavailable` suggestion; other runtime errors
126
+ * pass through; a draft that cannot ground at least {@link FAQ_MIN_ITEMS}
127
+ * answers returns `code: 'error'` so batch generation stamps its sticky
128
+ * `generateSkippedFingerprint` and does not retry the same document state.
129
+ */
130
+ export declare function suggestFaqSectionFix(issue: SeoIssueFixInput, ctx: SeoIssueFixContext, deps: AiFixDeps, overrides?: FaqFixDeps): Promise<AiFixResult>;
131
+ //# sourceMappingURL=issue-fix-faq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-fix-faq.d.ts","sourceRoot":"","sources":["../../src/seo/issue-fix-faq.ts"],"names":[],"mappings":"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"}