@purepageio/fetch-engines 0.5.0 → 0.6.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.
- package/README.md +216 -409
- package/dist/FetchEngine.d.ts +1 -0
- package/dist/FetchEngine.d.ts.map +1 -1
- package/dist/FetchEngine.js +13 -0
- package/dist/FetchEngine.js.map +1 -1
- package/dist/HybridEngine.d.ts.map +1 -1
- package/dist/HybridEngine.js +19 -5
- package/dist/HybridEngine.js.map +1 -1
- package/dist/PlaywrightEngine.d.ts +1 -0
- package/dist/PlaywrightEngine.d.ts.map +1 -1
- package/dist/PlaywrightEngine.js +34 -16
- package/dist/PlaywrightEngine.js.map +1 -1
- package/dist/StructuredContentEngine.d.ts +67 -0
- package/dist/StructuredContentEngine.d.ts.map +1 -0
- package/dist/StructuredContentEngine.js +116 -0
- package/dist/StructuredContentEngine.js.map +1 -0
- package/dist/browser/PlaywrightBrowserPool.d.ts.map +1 -1
- package/dist/browser/PlaywrightBrowserPool.js +25 -14
- package/dist/browser/PlaywrightBrowserPool.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/markdown-converter.d.ts +9 -1
- package/dist/utils/markdown-converter.d.ts.map +1 -1
- package/dist/utils/markdown-converter.js +351 -74
- package/dist/utils/markdown-converter.js.map +1 -1
- package/package.json +12 -3
|
@@ -4,7 +4,7 @@ import { parse, HTMLElement as NHPHTMLElement } from "node-html-parser";
|
|
|
4
4
|
// --- Constants ---
|
|
5
5
|
// Preprocessing - Selectors for removal (balanced approach)
|
|
6
6
|
const PREPROCESSING_REMOVE_SELECTORS = [
|
|
7
|
-
"script
|
|
7
|
+
"script", // Remove all scripts, including JSON-LD
|
|
8
8
|
"style",
|
|
9
9
|
"noscript",
|
|
10
10
|
"iframe:not([title])", // Keep iframes with titles (potential embeds)
|
|
@@ -71,12 +71,15 @@ export class MarkdownConverter {
|
|
|
71
71
|
emDelimiter: "*",
|
|
72
72
|
hr: "---",
|
|
73
73
|
// Use nodeType check instead of window.HTMLElement
|
|
74
|
+
// Important: Do NOT blanket-preserve <table> elements here — let the GFM plugin
|
|
75
|
+
// convert them to Markdown. Only preserve explicitly marked layout/preserved elements.
|
|
74
76
|
keepReplacement: ((_content, node) => {
|
|
75
77
|
// Node.ELEMENT_NODE is 1
|
|
76
78
|
if (node.nodeType === TURNDOWN_NODE_ELEMENT_TYPE) {
|
|
77
79
|
const htmlElement = node;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
const role = htmlElement.getAttribute("role");
|
|
81
|
+
const preserve = htmlElement.classList?.contains(TURNDOWN_PRESERVE_CLASS);
|
|
82
|
+
if (role === TURNDOWN_PRESENTATION_ROLE || preserve) {
|
|
80
83
|
return htmlElement.outerHTML;
|
|
81
84
|
}
|
|
82
85
|
}
|
|
@@ -430,8 +433,22 @@ export class MarkdownConverter {
|
|
|
430
433
|
console.warn(`Skipping invalid selector during preprocessing: ${selector}`, e);
|
|
431
434
|
}
|
|
432
435
|
});
|
|
436
|
+
// Remove breadcrumb UI blocks explicitly (often low link density)
|
|
437
|
+
this.removeBreadcrumbs(rootElement);
|
|
433
438
|
this.removeHighLinkDensityElements(rootElement, DEFAULT_LINK_DENSITY_THRESHOLD);
|
|
434
|
-
|
|
439
|
+
// Normalize simple data tables so GFM can convert them (e.g., first row headers using <td>)
|
|
440
|
+
this.normalizeTablesForMarkdown(rootElement);
|
|
441
|
+
// Capture best title BEFORE removing head
|
|
442
|
+
const bestTitle = rootElement.querySelector("meta[property='og:title']")?.getAttribute("content") ||
|
|
443
|
+
rootElement.querySelector("meta[name='twitter:title']")?.getAttribute("content") ||
|
|
444
|
+
rootElement.querySelector("meta[name='DC.title']")?.getAttribute("content") ||
|
|
445
|
+
rootElement.querySelector("title")?.textContent ||
|
|
446
|
+
"";
|
|
447
|
+
// Drop <head> from the DOM so we don't leak <title> etc. into content
|
|
448
|
+
try {
|
|
449
|
+
rootElement.querySelector("head")?.remove();
|
|
450
|
+
}
|
|
451
|
+
catch { }
|
|
435
452
|
const isForum = this.detectForumPage(rootElement);
|
|
436
453
|
let contentElement = rootElement;
|
|
437
454
|
if (isForum) {
|
|
@@ -445,13 +462,21 @@ export class MarkdownConverter {
|
|
|
445
462
|
const message = e instanceof Error ? e.message : String(e);
|
|
446
463
|
console.error(`MarkdownConverter: Error during main content extraction, falling back to full body: ${message}`, e instanceof Error ? e : undefined);
|
|
447
464
|
// Fallback to the original root (full body) if extraction fails
|
|
448
|
-
|
|
465
|
+
const body = rootElement.querySelector("body");
|
|
466
|
+
contentElement = body || rootElement;
|
|
449
467
|
}
|
|
450
468
|
}
|
|
469
|
+
// Ensure we don't include <head> if extraction returned <html>
|
|
470
|
+
if (contentElement instanceof NHPHTMLElement && contentElement.tagName === "HTML") {
|
|
471
|
+
const body = rootElement.querySelector("body");
|
|
472
|
+
if (body)
|
|
473
|
+
contentElement = body;
|
|
474
|
+
}
|
|
475
|
+
// Ensure main page title is rendered as H1 in content
|
|
476
|
+
this.ensurePrimaryHeading(rootElement, contentElement, bestTitle);
|
|
451
477
|
let contentHtml = contentElement instanceof NHPHTMLElement ? contentElement.outerHTML : contentElement.textContent;
|
|
452
478
|
contentHtml = this.cleanupContentHtml(contentHtml || "");
|
|
453
|
-
|
|
454
|
-
return metadataString + contentHtml;
|
|
479
|
+
return contentHtml;
|
|
455
480
|
}
|
|
456
481
|
catch (error) {
|
|
457
482
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -459,6 +484,239 @@ export class MarkdownConverter {
|
|
|
459
484
|
return this.cleanupHtml(html); // Return original (but cleaned) HTML on failure
|
|
460
485
|
}
|
|
461
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* Ensures simple data tables are convertible to GFM by promoting the first row to headers
|
|
489
|
+
* when no <th> exists. Skips layout tables marked with role="presentation".
|
|
490
|
+
*/
|
|
491
|
+
normalizeTablesForMarkdown(root) {
|
|
492
|
+
const tables = root.querySelectorAll("table");
|
|
493
|
+
for (const table of tables) {
|
|
494
|
+
if (!(table instanceof NHPHTMLElement))
|
|
495
|
+
continue;
|
|
496
|
+
const role = table.getAttribute("role");
|
|
497
|
+
if (role && role.toLowerCase() === "presentation")
|
|
498
|
+
continue; // skip layout tables
|
|
499
|
+
// Lossy-flatten complex tables to be GFM-compatible (best-effort). If flattening
|
|
500
|
+
// fails (unexpected markup), fall back to preserving the original.
|
|
501
|
+
const hasSpans = table.querySelector("[colspan], [rowspan]") !== null;
|
|
502
|
+
if (hasSpans) {
|
|
503
|
+
const ok = this.flattenTableToSimpleGfm(table);
|
|
504
|
+
if (!ok) {
|
|
505
|
+
const existing = table.getAttribute("class");
|
|
506
|
+
const newClass = existing ? `${existing} ${TURNDOWN_PRESERVE_CLASS}` : TURNDOWN_PRESERVE_CLASS;
|
|
507
|
+
table.setAttribute("class", newClass);
|
|
508
|
+
}
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
// If table already has headers, leave as-is
|
|
512
|
+
if (table.querySelector("th"))
|
|
513
|
+
continue;
|
|
514
|
+
const firstRow = table.querySelector("tr");
|
|
515
|
+
if (!firstRow || !(firstRow instanceof NHPHTMLElement))
|
|
516
|
+
continue;
|
|
517
|
+
// Promote all cells in the first row to header cells
|
|
518
|
+
const cells = firstRow.querySelectorAll("td");
|
|
519
|
+
if (!cells || cells.length === 0)
|
|
520
|
+
continue;
|
|
521
|
+
for (const cell of cells) {
|
|
522
|
+
if (cell instanceof NHPHTMLElement && cell.tagName === "TD") {
|
|
523
|
+
// Switch tag to TH so GFM plugin recognizes header row
|
|
524
|
+
// node-html-parser allows mutating tagName directly
|
|
525
|
+
cell.tagName = "TH";
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Remove common breadcrumb containers explicitly, regardless of link density
|
|
531
|
+
removeBreadcrumbs(root) {
|
|
532
|
+
const selectors = [
|
|
533
|
+
"nav[aria-label='breadcrumb']",
|
|
534
|
+
"nav[aria-label='Breadcrumb']",
|
|
535
|
+
"[aria-label='breadcrumbs']",
|
|
536
|
+
"[aria-label='Breadcrumbs']",
|
|
537
|
+
"nav.breadcrumb",
|
|
538
|
+
"nav.breadcrumbs",
|
|
539
|
+
"ol.breadcrumb",
|
|
540
|
+
"ul.breadcrumb",
|
|
541
|
+
".breadcrumb",
|
|
542
|
+
".breadcrumbs",
|
|
543
|
+
"[itemtype*='Breadcrumb']",
|
|
544
|
+
"[itemtype*='breadcrumb']",
|
|
545
|
+
"[typeof*='BreadcrumbList']",
|
|
546
|
+
];
|
|
547
|
+
for (const sel of selectors) {
|
|
548
|
+
try {
|
|
549
|
+
root.querySelectorAll(sel).forEach((el) => {
|
|
550
|
+
// Remove the element; if it's inside a <nav>, remove the nav container
|
|
551
|
+
const nav = el.closest && el.closest("nav");
|
|
552
|
+
(nav || el).remove();
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
catch (e) {
|
|
556
|
+
// Ignore selector errors
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
// Render metadata items to HTML so Turndown can convert cleanly to Markdown
|
|
561
|
+
// (metadata rendering removed – we no longer inject metadata into output)
|
|
562
|
+
// Promote or inject a primary H1 heading using best available title.
|
|
563
|
+
ensurePrimaryHeading(root, content, providedTitle) {
|
|
564
|
+
if (!(content instanceof NHPHTMLElement))
|
|
565
|
+
return;
|
|
566
|
+
// Determine best title from metadata sources
|
|
567
|
+
const bestTitle = providedTitle ||
|
|
568
|
+
root.querySelector("meta[property='og:title']")?.getAttribute("content") ||
|
|
569
|
+
root.querySelector("meta[name='twitter:title']")?.getAttribute("content") ||
|
|
570
|
+
root.querySelector("meta[name='DC.title']")?.getAttribute("content") ||
|
|
571
|
+
root.querySelector("title")?.textContent ||
|
|
572
|
+
"";
|
|
573
|
+
// Find existing headings in content
|
|
574
|
+
const firstH1 = content.querySelector("h1");
|
|
575
|
+
const firstHeading = content.querySelector("h1, h2, h3, h4, h5, h6");
|
|
576
|
+
const normalize = (s) => (s || "").trim().replace(/\s+/g, " ");
|
|
577
|
+
const titleNorm = normalize(bestTitle);
|
|
578
|
+
const h1Text = normalize(firstH1?.textContent || "");
|
|
579
|
+
if (firstH1) {
|
|
580
|
+
// If document title is longer and contains the existing H1, replace H1 with the document title
|
|
581
|
+
if (titleNorm &&
|
|
582
|
+
titleNorm.length > h1Text.length &&
|
|
583
|
+
(titleNorm.includes(h1Text) || h1Text.includes(titleNorm.split("|")[0].trim()))) {
|
|
584
|
+
firstH1.set_content(bestTitle);
|
|
585
|
+
}
|
|
586
|
+
return;
|
|
587
|
+
}
|
|
588
|
+
// No H1 present: prefer document title if available
|
|
589
|
+
if (titleNorm) {
|
|
590
|
+
const h1 = parse(`<h1>${bestTitle}</h1>`).firstChild;
|
|
591
|
+
content.prepend(h1);
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
// Otherwise, promote the first heading to H1
|
|
595
|
+
if (firstHeading) {
|
|
596
|
+
firstHeading.tagName = "H1";
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
// Attempt to flatten a table with colspans/rowspans into a simple table
|
|
600
|
+
// with no spans so GFM can convert it. Returns true on success.
|
|
601
|
+
flattenTableToSimpleGfm(table) {
|
|
602
|
+
try {
|
|
603
|
+
const rows = table.querySelectorAll("tr");
|
|
604
|
+
if (!rows || rows.length === 0)
|
|
605
|
+
return false;
|
|
606
|
+
let spanMap = {};
|
|
607
|
+
const grid = [];
|
|
608
|
+
let maxCols = 0;
|
|
609
|
+
for (const tr of rows) {
|
|
610
|
+
if (!(tr instanceof NHPHTMLElement))
|
|
611
|
+
continue;
|
|
612
|
+
// Pre-fill from active rowspans
|
|
613
|
+
const nextSpanMap = {};
|
|
614
|
+
const currentRow = [];
|
|
615
|
+
// Place carried-over cells first
|
|
616
|
+
const spanCols = Object.keys(spanMap)
|
|
617
|
+
.map((k) => Number(k))
|
|
618
|
+
.sort((a, b) => a - b);
|
|
619
|
+
for (const colIdx of spanCols) {
|
|
620
|
+
const sc = spanMap[colIdx];
|
|
621
|
+
currentRow[colIdx] = sc.content;
|
|
622
|
+
if (sc.remaining - 1 > 0) {
|
|
623
|
+
nextSpanMap[colIdx] = { content: sc.content, remaining: sc.remaining - 1 };
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
// Place actual cells of the row, respecting existing occupied columns
|
|
627
|
+
const cells = tr.querySelectorAll("th, td");
|
|
628
|
+
let insertCol = 0;
|
|
629
|
+
for (const cell of cells) {
|
|
630
|
+
if (!(cell instanceof NHPHTMLElement))
|
|
631
|
+
continue;
|
|
632
|
+
// Find next free column
|
|
633
|
+
while (currentRow[insertCol] !== undefined)
|
|
634
|
+
insertCol++;
|
|
635
|
+
const colSpan = Math.max(1, parseInt(cell.getAttribute("colspan") || "1", 10) || 1);
|
|
636
|
+
const rowSpan = Math.max(1, parseInt(cell.getAttribute("rowspan") || "1", 10) || 1);
|
|
637
|
+
const content = this.sanitizeCellContentForTable(cell.innerHTML || "");
|
|
638
|
+
for (let i = 0; i < colSpan; i++) {
|
|
639
|
+
const col = insertCol + i;
|
|
640
|
+
currentRow[col] = content;
|
|
641
|
+
if (rowSpan > 1) {
|
|
642
|
+
const existing = nextSpanMap[col];
|
|
643
|
+
nextSpanMap[col] = { content, remaining: Math.max(existing?.remaining || 0, rowSpan - 1) };
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
insertCol += colSpan;
|
|
647
|
+
}
|
|
648
|
+
// Normalize row
|
|
649
|
+
const length = currentRow.length;
|
|
650
|
+
maxCols = Math.max(maxCols, length);
|
|
651
|
+
grid.push(currentRow);
|
|
652
|
+
spanMap = nextSpanMap;
|
|
653
|
+
}
|
|
654
|
+
// Drop leading fully-empty rows (often style-only)
|
|
655
|
+
while (grid.length && grid[0].every((c) => !c || !c.trim())) {
|
|
656
|
+
grid.shift();
|
|
657
|
+
}
|
|
658
|
+
// Ensure all rows have equal length
|
|
659
|
+
for (const row of grid) {
|
|
660
|
+
for (let i = 0; i < maxCols; i++) {
|
|
661
|
+
if (row[i] === undefined)
|
|
662
|
+
row[i] = "";
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
// Pick a header row: first non-empty row (after dropping empties)
|
|
666
|
+
const headerRowIndex = 0;
|
|
667
|
+
// Build a simple table HTML without spans
|
|
668
|
+
let html = "<table><tbody>";
|
|
669
|
+
for (let r = 0; r < grid.length; r++) {
|
|
670
|
+
const row = grid[r];
|
|
671
|
+
html += "<tr>";
|
|
672
|
+
for (const cellContent of row) {
|
|
673
|
+
if (r === headerRowIndex) {
|
|
674
|
+
html += `<th>${cellContent}</th>`;
|
|
675
|
+
}
|
|
676
|
+
else {
|
|
677
|
+
html += `<td>${cellContent}</td>`;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
html += "</tr>";
|
|
681
|
+
}
|
|
682
|
+
html += "</tbody></table>";
|
|
683
|
+
// Replace original table with the flattened one
|
|
684
|
+
const replacementRoot = parse(html);
|
|
685
|
+
const newTable = replacementRoot.querySelector("table");
|
|
686
|
+
if (!newTable)
|
|
687
|
+
return false;
|
|
688
|
+
table.replaceWith(newTable);
|
|
689
|
+
return true;
|
|
690
|
+
}
|
|
691
|
+
catch {
|
|
692
|
+
return false;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
// Reduce blocky/complex markup inside table cells to inline-friendly HTML so Turndown
|
|
696
|
+
// does not break the table structure. Joins list items with " | ", removes outer divs,
|
|
697
|
+
// flattens paragraphs and <br> to spaces, and trims whitespace.
|
|
698
|
+
sanitizeCellContentForTable(content) {
|
|
699
|
+
if (!content)
|
|
700
|
+
return "";
|
|
701
|
+
let c = content;
|
|
702
|
+
// Normalize lists: turn <li> items into inline separated values
|
|
703
|
+
c = c.replace(/<li[^>]*>/gi, "").replace(/<\/li>/gi, " • ");
|
|
704
|
+
c = c.replace(/<\/(ul|ol)>/gi, "").replace(/<(ul|ol)[^>]*>/gi, "");
|
|
705
|
+
// Remove outer div/span wrappers but keep inner content
|
|
706
|
+
c = c.replace(/<div[^>]*>/gi, "").replace(/<\/div>/gi, " ");
|
|
707
|
+
c = c.replace(/<span[^>]*>/gi, "").replace(/<\/span>/gi, "");
|
|
708
|
+
// Flatten paragraphs and line breaks
|
|
709
|
+
c = c.replace(/<p[^>]*>/gi, "").replace(/<\/p>/gi, " ");
|
|
710
|
+
c = c.replace(/<br\s*\/?>(\s*)/gi, " ");
|
|
711
|
+
// Normalize bullet separators spacing
|
|
712
|
+
c = c.replace(/\s*•\s*/g, " • ");
|
|
713
|
+
c = c.replace(/(\s*•\s*)+$/g, "");
|
|
714
|
+
// Avoid Markdown table column separators inside cells
|
|
715
|
+
c = c.replace(/\|/g, " • ");
|
|
716
|
+
// Collapse multiple whitespace and trim
|
|
717
|
+
c = c.replace(/\s+/g, " ").trim();
|
|
718
|
+
return c;
|
|
719
|
+
}
|
|
462
720
|
cleanupHtml(html) {
|
|
463
721
|
// Remove specific non-standard characters/patterns observed in the wild
|
|
464
722
|
return (html
|
|
@@ -536,78 +794,97 @@ export class MarkdownConverter {
|
|
|
536
794
|
}
|
|
537
795
|
}
|
|
538
796
|
}
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
797
|
+
/*
|
|
798
|
+
private extractDocumentMetadata(root: NHPHTMLElement): string[] {
|
|
799
|
+
const metadata: string[] = [];
|
|
800
|
+
const addedMeta: Set<string> = new Set(); // Track added keys to avoid duplicates
|
|
801
|
+
|
|
802
|
+
// Helper to add metadata if value exists and key hasn't been added
|
|
803
|
+
const addMeta = (key: string, value: string | null | undefined, isTitle = false) => {
|
|
804
|
+
const cleanedValue = value?.trim();
|
|
805
|
+
if (cleanedValue && !addedMeta.has(key.toLowerCase())) {
|
|
806
|
+
// Skip injecting title as Markdown to avoid duplicating content H1
|
|
807
|
+
if (!isTitle) {
|
|
808
|
+
metadata.push(`${key}: ${cleanedValue}`);
|
|
809
|
+
}
|
|
810
|
+
addedMeta.add(key.toLowerCase());
|
|
811
|
+
}
|
|
812
|
+
};
|
|
813
|
+
|
|
814
|
+
// 1. Title (Prioritize specific ones, fallback to <title>)
|
|
815
|
+
addMeta("Title", root.querySelector("meta[property='og:title']")?.getAttribute("content"), true);
|
|
816
|
+
addMeta("Title", root.querySelector("meta[name='twitter:title']")?.getAttribute("content"), true);
|
|
817
|
+
addMeta("Title", root.querySelector("meta[name='DC.title']")?.getAttribute("content"), true);
|
|
818
|
+
addMeta("Title", root.querySelector("title")?.textContent, true);
|
|
819
|
+
|
|
820
|
+
// 2. Description
|
|
821
|
+
addMeta("Description", root.querySelector("meta[property='og:description']")?.getAttribute("content"));
|
|
822
|
+
addMeta("Description", root.querySelector("meta[name='twitter:description']")?.getAttribute("content"));
|
|
823
|
+
addMeta("Description", root.querySelector("meta[name='description']")?.getAttribute("content"));
|
|
824
|
+
addMeta("Description", root.querySelector("meta[name='DC.description']")?.getAttribute("content"));
|
|
825
|
+
|
|
826
|
+
// 3. Author
|
|
827
|
+
addMeta("Author", root.querySelector("meta[name='author']")?.getAttribute("content"));
|
|
828
|
+
addMeta("Author", root.querySelector("meta[property='article:author']")?.getAttribute("content"));
|
|
829
|
+
addMeta("Author", root.querySelector("[rel='author']")?.textContent);
|
|
830
|
+
|
|
831
|
+
// 4. Publication Date
|
|
832
|
+
addMeta("Published", root.querySelector("meta[property='article:published_time']")?.getAttribute("content"));
|
|
833
|
+
addMeta("Published", root.querySelector("meta[name='publish-date']")?.getAttribute("content"));
|
|
834
|
+
addMeta("Published", root.querySelector("time[itemprop='datePublished']")?.getAttribute("datetime"));
|
|
835
|
+
addMeta("Published", root.querySelector("time")?.getAttribute("datetime")); // Generic time tag
|
|
836
|
+
|
|
837
|
+
// 5. Canonical URL
|
|
838
|
+
addMeta("URL", root.querySelector("link[rel='canonical']")?.getAttribute("href"));
|
|
839
|
+
addMeta("URL", root.querySelector("meta[property='og:url']")?.getAttribute("content"));
|
|
840
|
+
|
|
841
|
+
// 6. Extract JSON-LD
|
|
842
|
+
const jsonLdScripts = root.querySelectorAll("script[type='application/ld+json']");
|
|
843
|
+
if (jsonLdScripts.length > 0) {
|
|
844
|
+
const jsonLdData = Array.from(jsonLdScripts)
|
|
845
|
+
.map((script) => {
|
|
846
|
+
try {
|
|
847
|
+
// Ensure script content exists before parsing
|
|
848
|
+
const textContent = script.textContent;
|
|
849
|
+
return textContent ? JSON.parse(textContent) : null;
|
|
850
|
+
} catch (e: unknown) {
|
|
851
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
852
|
+
console.warn(`Failed to parse JSON-LD content: ${message}`, e instanceof Error ? e : undefined);
|
|
853
|
+
return null;
|
|
553
854
|
}
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
// 5. Canonical URL
|
|
575
|
-
addMeta("URL", root.querySelector("link[rel='canonical']")?.getAttribute("href"));
|
|
576
|
-
addMeta("URL", root.querySelector("meta[property='og:url']")?.getAttribute("content"));
|
|
577
|
-
// 6. Extract JSON-LD
|
|
578
|
-
const jsonLdScripts = root.querySelectorAll("script[type='application/ld+json']");
|
|
579
|
-
if (jsonLdScripts.length > 0) {
|
|
580
|
-
const jsonLdData = Array.from(jsonLdScripts)
|
|
581
|
-
.map((script) => {
|
|
582
|
-
try {
|
|
583
|
-
// Ensure script content exists before parsing
|
|
584
|
-
const textContent = script.textContent;
|
|
585
|
-
return textContent ? JSON.parse(textContent) : null;
|
|
855
|
+
})
|
|
856
|
+
.filter((item): item is object => item !== null); // Type guard for filter
|
|
857
|
+
|
|
858
|
+
if (jsonLdData.length > 0 && !addedMeta.has("json-ld")) {
|
|
859
|
+
// Keep JSON-LD as a single block; will be injected as HTML later
|
|
860
|
+
metadata.push(`<details><summary>JSON-LD Metadata</summary>\n<pre><code class="language-json">${
|
|
861
|
+
JSON.stringify(jsonLdData, null, 2)
|
|
862
|
+
}</code></pre>\n</details>`);
|
|
863
|
+
addedMeta.add("json-ld");
|
|
864
|
+
|
|
865
|
+
// Add other relevant fields like 'author', 'datePublished', etc.
|
|
866
|
+
jsonLdData.forEach((jsonData) => {
|
|
867
|
+
if (typeof jsonData === "object" && jsonData !== null) {
|
|
868
|
+
// Safely extract publisher name from JSON-LD object
|
|
869
|
+
const publisher = (jsonData as Record<string, unknown>).publisher as unknown;
|
|
870
|
+
let orgName: string | undefined;
|
|
871
|
+
if (publisher && typeof publisher === "object") {
|
|
872
|
+
const name = (publisher as Record<string, unknown>).name;
|
|
873
|
+
if (typeof name === "string") {
|
|
874
|
+
orgName = name;
|
|
586
875
|
}
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
})
|
|
593
|
-
.filter((item) => item !== null); // Type guard for filter
|
|
594
|
-
if (jsonLdData.length > 0 && !addedMeta.has("json-ld")) {
|
|
595
|
-
// Use details/summary for collapsibility
|
|
596
|
-
metadata.push("<details><summary>JSON-LD Metadata</summary>\n");
|
|
597
|
-
metadata.push("```json", JSON.stringify(jsonLdData, null, 2), "```");
|
|
598
|
-
metadata.push("</details>");
|
|
599
|
-
addedMeta.add("json-ld");
|
|
600
|
-
// Add other relevant fields like 'author', 'datePublished', etc.
|
|
601
|
-
jsonLdData.forEach((jsonData) => {
|
|
602
|
-
if (typeof jsonData === "object" && jsonData !== null) {
|
|
603
|
-
// jsonData is already type 'object' here
|
|
604
|
-
addMeta("Organization", jsonData.publisher?.name);
|
|
605
|
-
}
|
|
606
|
-
});
|
|
876
|
+
} else if (typeof publisher === "string") {
|
|
877
|
+
orgName = publisher; // Some JSON-LD use a string for publisher
|
|
878
|
+
}
|
|
879
|
+
addMeta("Organization", orgName);
|
|
607
880
|
}
|
|
881
|
+
});
|
|
608
882
|
}
|
|
609
|
-
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
return metadata;
|
|
610
886
|
}
|
|
887
|
+
*/
|
|
611
888
|
detectForumPage(root) {
|
|
612
889
|
// Count indicators across different selector groups
|
|
613
890
|
const countMatches = (selectors) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,cAAc,EAA4C,MAAM,kBAAkB,CAAC;AAElH,oBAAoB;AAEpB,4DAA4D;AAC5D,MAAM,8BAA8B,GAA0B;IAC5D,0CAA0C,EAAE,eAAe;IAC3D,OAAO;IACP,UAAU;IACV,qBAAqB,EAAE,8CAA8C;CACtE,CAAC;AAEF,mEAAmE;AACnE,MAAM,sBAAsB,GAA0B;IACpD,eAAe;IACf,SAAS;IACT,MAAM;IACN,eAAe;IACf,kBAAkB;IAClB,kDAAkD;IAClD,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,0BAA0B;IAC1B,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,MAAM;CACP,CAAC;AAEF,gDAAgD;AAChD,MAAM,uBAAuB,GAA0B;IACrD,UAAU;IACV,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,eAAe;CAChB,CAAC;AACF,MAAM,sBAAsB,GAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC9F,MAAM,oBAAoB,GAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC9G,MAAM,yBAAyB,GAA0B,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC9G,MAAM,kCAAkC,GAA0B,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC9G,MAAM,mCAAmC,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5G,+BAA+B;AAC/B,MAAM,4BAA4B,GAAG,EAAE,CAAC,CAAC,iCAAiC;AAC1E,MAAM,8BAA8B,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAEvE,kCAAkC;AAClC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,kCAAkC;AAClC,MAAM,wBAAwB,GAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE/E,iBAAiB;AACjB,MAAM,uCAAuC,GAAG,CAAC,CAAC,CAAC,2BAA2B;AAE9E,oBAAoB;AACpB,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAC/C,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AAClD,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAc3C,2BAA2B;AAE3B,MAAM,OAAO,iBAAiB;IACpB,eAAe,CAAkB;IAEzC;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,GAAG;YAChB,EAAE,EAAE,KAAK;YACT,mDAAmD;YACnD,eAAe,EAAE,CAAC,CAAC,QAAgB,EAAE,IAAkB,EAAE,EAAE;gBACzD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B,EAAE,CAAC;oBACjD,MAAM,WAAW,GAAG,IAA2B,CAAC;oBAChD,IACE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,0BAA0B;wBAC/D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACxD,CAAC;wBACD,OAAO,WAAW,CAAC,SAAS,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAgC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,yBAAyB;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,wBAAwB;IAExB;;;;;OAKG;IACI,OAAO,CAAC,IAAY,EAAE,UAA6B,EAAE;QAC1D,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEnD,wCAAwC;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE/D,oCAAoC;QACpC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IAEtB,qBAAqB;QAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,4FAA4F;IACpF,yBAAyB;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAClD,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B;oBAAE,OAAO,KAAK,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAA2B,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAe,CAAC;gBAChC,OAAO,CACL,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM;oBACnC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3D,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACvC,IAAI,CAAC;4BACH,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC;wBAC1D,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,+EAA+E;YAC/E,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO;SAC1C,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,YAAY,GAAuC;YACvD,QAAQ;YACR,OAAO;YACP,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,UAAU;YACV,MAAM;YACN,QAAQ;YACR,kBAAkB,CAAC,OAAO;YAC1B,OAAO;SACR,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC9C,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,uEAAuE;QACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE;YACtC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,OAAO,MAAM,EAAE,iBAAiB;SAC1E,CAAC,CAAC;QAEH,uEAAuE;QACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE;YACtC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,OAAO,MAAM,EAAE,iBAAiB;SAC1E,CAAC,CAAC;QAEH,oCAAoC;QACpC,yGAAyG;IAC3G,CAAC;IAEO,aAAa;QACnB,4CAA4C;QAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACpB,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B;oBAAE,OAAO,OAAO,CAAC;gBACjE,mDAAmD;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,yDAAyD;gBACzD,qDAAqD;gBACrD,OAAO,CACL,IAAI;oBACJ,OAAO;yBACJ,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;yBACtC,IAAI,CAAC,IAAI,CAAC;yBACV,IAAI,EAAE;oBACT,IAAI,CACL,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE;YACvC,MAAM,EAAE,IAAI;YACZ,6DAA6D;YAC7D,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,OAAgC,EAAE,EAAE;gBACrF,OAAO,GAAG,OAAO;qBACd,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,2CAA2C;qBACjE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;gBAExE,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAwC,CAAC;gBACjE,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC/C,MAAM,WAAW,GAAG,IAAe,CAAC;wBACpC,MAAM,aAAa,GAAG,UAAqB,CAAC;wBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAChF,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC9D,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,MAAM,GAAG,gCAAgC,CAAC;wBAC1C,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,uEAAuE,OAAO,EAAE,EAChF,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,8BAA8B;YACvE,CAAC;SACF,CAAC,CAAC;QAEH,iCAAiC;QAEjC,cAAc;QACd,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC/B,yEAAyE;gBACzE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;YACnE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,0DAA0D;QAC1D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,CAAC,IAAkB,EAAE,QAAiC,EAAW,EAAE;gBACzE,gEAAgE;gBAChE,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAE,IAA4B,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9G,CAAC;YACD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5C,+EAA+E;gBAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEpD,mDAAmD;gBACnD,IAAI,WAAW,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC;oBACH,mDAAmD;oBACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CACV,yBAAyB,IAAI,MAAM,OAAO,qBAAqB,EAC/D,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACF,uCAAuC;gBACzC,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,WAAW,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC;YACxF,CAAC;SACF,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,OAAO,CAAC;gBACxC,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,wCAAwC;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEvD,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,SAAS,GAAG,EAAE,CAAC;gBAEnB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACxC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;gBAC3E,CAAC;gBAED,8EAA8E;gBAC9E,IAAI,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEtC,qFAAqF;gBACrF,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,SAAS,CAAC;oBACrB,qFAAqF;oBACrF,yEAAyE;oBACzE,MAAM,cAAc,GAAG,KAAK,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;oBACjG,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzE,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;oBACnD,IAAI,WAAW,EAAE,CAAC;wBAChB,QAAQ,IAAI,QAAQ,WAAW,GAAG,CAAC,CAAC,0CAA0C;wBAC9E,+DAA+D;wBAC/D,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpE,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,wCAAwC;oBAC9G,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,gBAAgB,EAAE,CAAC;oBACrB,gEAAgE;oBAChE,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACzE,QAAQ,IAAI,OAAO,gBAAgB,EAAE,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE;YACpC,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,mDAAmD;gBACnD,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAE,IAA4B,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/G,CAAC;YACD,WAAW,EAAE,CAAC,QAAgB,EAAE,IAAkB,EAAE,EAAE;gBACpD,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5C,6CAA6C;gBAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACtC,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAE5C,sBAAsB;gBACtB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;gBACtD,IAAI,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC;gBAEzB,2EAA2E;gBAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAC5D,MAAM,YAAY,GAAG,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrF,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAE9F,OAAO,YAAY,IAAI,YAAY,IAAI,gBAAgB,CAAC;YAC1D,CAAC;YACD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,yCAAyC;gBACzF,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAE5C,kBAAkB;gBAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAElD,yCAAyC;gBACzC,QAAQ;oBACN,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;wBAC5B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;wBAChC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7F,EAAE,CAAC;gBAEL,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtG,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;4BAC9C,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC3B,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCACxC,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,IAAI,QAAQ;4BAAE,MAAM;oBACtB,CAAC;gBACH,CAAC;gBAED,kEAAkE;gBAClE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEtC,oBAAoB;gBACpB,OAAO,aAAa,QAAQ,KAAK,cAAc,cAAc,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,KAAK;YAC/F,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC/B,kEAAkE;gBAClE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,CAAC,CAAC,+BAA+B;gBAExD,uCAAuC;gBACvC,IAAI,SAAS,GAAG,GAAG,CAAC;gBACpB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,SAAS,GAAG,IAAI,CAAC;oBACjB,mEAAmE;oBACnE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrD,OAAO,GAAG,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAErB,cAAc,CAAC,IAAY;QACjC,oEAAoE;QACpE,oCAAoC;QACpC,8BAA8B;QAC9B,0DAA0D;QAC1D,+CAA+C;QAC/C,mCAAmC;QACnC,uCAAuC;QACvC,+CAA+C;QAC/C,8CAA8C;QAC9C,kFAAkF;QAClF,6EAA6E;QAC7E,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;gBACvB,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjE,CAAC,CAAC;YAEH,0CAA0C;YAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,iBAAiB;gBACjB,OAAQ,IAA+B,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,WAAW,GAAG,IAAsB,CAAC;YAE3C,8BAA8B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClD,IAAI,CAAC;oBACH,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,mDAAmD,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAElD,IAAI,cAAc,GAA6B,WAAW,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,KAAK,CACX,uFAAuF,OAAO,EAAE,EAChG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACF,gEAAgE;oBAChE,cAAc,GAAG,WAAW,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,WAAW,GACb,cAAc,YAAY,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC;YACnG,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAEzD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,cAAc,GAAG,WAAW,CAAC;QACtC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;QACjF,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,wEAAwE;QACxE,OAAO,CACL,IAAI;YACF,qCAAqC;aACpC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACvC,0EAA0E;aACzE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACpC,yFAAyF;aACxF,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CACpD,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACxC,kEAAkE;QAClE,8DAA8D;QAC9D,OAAO,CACL,OAAO;YACL,4EAA4E;aAC3E,OAAO,CAAC,kGAAkG,EAAE,EAAE,CAAC;YAChH,qCAAqC;aACpC,OAAO,CAAC,8CAA8C,EAAE,EAAE,CAAC;aAC3D,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;aAC1C,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC,gCAAgC;YAClF,kCAAkC;aACjC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAChC,oEAAoE;aACnE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAC1B,kCAAkC;aACjC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;aAC1B,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,wFAAwF;IACxF,8FAA8F;IAC9F,yEAAyE;IACjE,6BAA6B,CAAC,OAAuB,EAAE,SAAiB;QAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CACnD,+FAA+F,CAChG,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,EAAE,YAAY,cAAc,CAAC;gBAAE,SAAS;YAE9C,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,MAAM,GAAG,4BAA4B;gBAAE,SAAS;YAEhE,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,oCAAoC;YAEpE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,iFAAiF;YACjF,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxC,sEAAsE;gBACtE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/B,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,UAAU,KAAK,CAAC;gBAAE,SAAS;YAE/B,MAAM,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;YAE5C,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,CAAC,gDAAgD,CAAC,KAAK,IAAI,CAAC;gBACxG,iEAAiE;gBACjE,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC7D,IAAI,CAAC;wBACH,gDAAgD;wBAChD,qCAAqC;wBACrC,OAAQ,EAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC3C,EAAE,CAAC,MAAM,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,IAAoB;QAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC,CAAC,uCAAuC;QAEjF,mEAAmE;QACnE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAgC,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;YACjF,MAAM,YAAY,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;YACnC,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACtD,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,oCAAoC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,YAAY,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QACjG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QAClG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7F,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEjE,iBAAiB;QACjB,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,kCAAkC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnG,YAAY;QACZ,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErE,sBAAsB;QACtB,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7G,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACrG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAE/F,mBAAmB;QACnB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAEvF,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;QAClF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;iBACzC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACd,IAAI,CAAC;oBACH,8CAA8C;oBAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;oBACvC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAChG,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,wBAAwB;YAE5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,yCAAyC;gBACzC,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAChE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEzB,iEAAiE;gBACjE,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtD,yCAAyC;wBACzC,OAAO,CAAC,cAAc,EAAG,QAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,IAAoB;QAC1C,oDAAoD;QACpD,MAAM,YAAY,GAAG,CAAC,SAAgC,EAAU,EAAE;YAChE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,oDAAoD;oBACpD,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;oBACxD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,gEAAgE,QAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;oBAC7G,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,4CAA4C;YAChD,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAErD,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;gBACjE,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,YAAY,EAAE,CAAC;gBACjB,4CAA4C;gBAC5C,iEAAiE;gBACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7D,gBAAgB;oBACd,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC/B,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC1B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC5B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,sEAAsE,OAAO,EAAE,EAC/E,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,OAAO,CACL,YAAY,IAAI,yBAAyB;YACzC,WAAW,GAAG,CAAC,IAAI,kDAAkD;YACrE,SAAS,IAAI,yBAAyB;YACtC,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,wFAAwF;IACxF,6FAA6F;IAC7F,0EAA0E;IAClE,sBAAsB,CAAC,OAAuB,EAAE,eAAuB;QAC7E,6BAA6B;QAC7B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC7D,oEAAoE;QACpE,4EAA4E;QAC5E,MAAM,uBAAuB,GAAG,GAAG,CAAC,CAAC,qCAAqC;QAC1E,IAAI,UAAU,GAAG,uBAAuB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,CAAC,CAAC,CAAC,4CAA4C;QACzD,CAAC;QAED,IAAI,KAAK,GAAG,UAAU,CAAC;QAEvB,kCAAkC;QAClC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAEnF,+CAA+C;QAC/C,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,iCAAiC,GACrC,gHAAgH,CAAC;YACnH,sFAAsF;YACtF,IAAI,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBACvD,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,yEAAyE,OAAO,EAAE,CAAC,CAAC;YACjG,qDAAqD;QACvD,CAAC;QAED,0EAA0E;QAC1E,uFAAuF;QACvF,MAAM,mCAAmC,GAAG,GAAG,CAAC;QAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAC1E,KAAK,IAAI,GAAG,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,2EAA2E;QAC3E,MAAM,wBAAwB,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,wBAAwB;YAAE,KAAK,IAAI,GAAG,CAAC;QAElF,mEAAmE;QACnE,+EAA+E;QAC/E,MAAM,oBAAoB,GAAG,GAAG,CAAC;QACjC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;YACzE,OAAO,CAAC,CAAC,CAAC,CAAC,mDAAmD;QAChE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mEAAmE;IACnE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,kCAAkC;IAC1B,4BAA4B,CAAC,IAAoB;QACvD,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElB,kFAAkF;QAClF,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;wBAAE,SAAS;oBAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAE7D,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;wBACrB,QAAQ,GAAG,KAAK,CAAC;wBACjB,aAAa,GAAG,OAAO,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CACV,wCAAwC,QAAQ,6CAA6C,OAAO,EAAE,CACvG,CAAC;gBACF,8CAA8C;YAChD,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,mEAAmE;IACnE,mGAAmG;IACnG,gFAAgF;IAChF,2FAA2F;IACnF,0BAA0B,CAAC,IAAoB;QACrD,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,UAA4B,CAAC;QAExE,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/E,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,cAAc,CACZ,CAAC;YAE3B,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,4DAA4D,OAAO,EAAE,EACrE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACjG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,cAAc,CACZ,CAAC;YAE3B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBACjD,IAAI,cAAc,YAAY,cAAc,EAAE,CAAC;oBAC7C,6DAA6D;oBAC7D,mCAAmC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACvD,IAAI,CAAC;4BACH,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;wBACzE,CAAC;wBAAC,OAAO,CAAU,EAAE,CAAC;4BACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC3D,OAAO,CAAC,IAAI,CACV,gEAAgE,QAAQ,cAAc,OAAO,EAAE,EAC/F,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,qEAAqE,OAAO,EAAE,EAC9E,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,UAAU,YAAY,cAAc,EAAE,CAAC;gBACzC,mCAAmC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACvD,IAAI,CAAC;wBACH,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,qEAAqE,QAAQ,cAAc,OAAO,EAAE,EACpG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,mDAAmD;gBACnD,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;gBAC/E,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,sEAAsE;IACtE,yDAAyD;IACjD,kBAAkB,CAAC,OAAuB,EAAE,SAAiB;QACnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,4BAA4B;YAAE,OAAO,KAAK,CAAC;QAEpE,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QACtC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,sEAAsE;YACtE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,OAAO,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;IACjD,CAAC;IAED,kCAAkC;IAE1B,mBAAmB,CAAC,QAAgB,EAAE,OAA0B;QACtE,IAAI,SAAS,GAAG,QAAQ,CAAC;QAEzB,8DAA8D;QAC9D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;QAExE,qEAAqE;QACrE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,sCAAsC;QAC1I,iIAAiI;QACjI;;;;;UAKE;QAEF,oDAAoD;QACpD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB;QAC5E,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAE/E,kEAAkE;QAClE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAAC,gCAAgC;QACxG,iFAAiF;QAEjF,qDAAqD;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,uCAAuC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAElG,iCAAiC;QACjC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,uCAAuC;QAE/F,6DAA6D;QAC7D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,YAAY,CAAC,CAAC;QAE3F,wEAAwE;QACxE,iGAAiG;QACjG,uEAAuE;QACvE,sGAAsG;QACtG,8GAA8G;QAC9G,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,oCAAoC;QAE/F,0CAA0C;QAC1C,IAAI,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC5E,yCAAyC;YACzC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;YACpG,MAAM,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC/G,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC;QAC/D,CAAC;QAED,iBAAiB;QACjB,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
|