file2md 1.2.4 → 1.2.6
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/parsers/docx-parser.d.ts.map +1 -1
- package/dist/parsers/docx-parser.js +15 -19
- package/dist/parsers/docx-parser.js.map +1 -1
- package/dist/parsers/hwp-parser.js +165 -156
- package/dist/parsers/hwp-parser.js.map +1 -1
- package/dist/parsers/pdf-parser.js +1 -1
- package/dist/parsers/pdf-parser.js.map +1 -1
- package/dist/parsers/pptx-parser.d.ts.map +1 -1
- package/dist/parsers/pptx-parser.js +9 -9
- package/dist/parsers/pptx-parser.js.map +1 -1
- package/dist/parsers/xlsx-parser.d.ts +1 -1
- package/dist/parsers/xlsx-parser.d.ts.map +1 -1
- package/dist/parsers/xlsx-parser.js +6 -6
- package/dist/parsers/xlsx-parser.js.map +1 -1
- package/dist/utils/browser-polyfills.d.ts +5 -5
- package/dist/utils/browser-polyfills.d.ts.map +1 -1
- package/dist/utils/browser-polyfills.js +4 -4
- package/dist/utils/browser-polyfills.js.map +1 -1
- package/dist/utils/chart-extractor.d.ts.map +1 -1
- package/dist/utils/chart-extractor.js +10 -10
- package/dist/utils/chart-extractor.js.map +1 -1
- package/dist/utils/image-extractor.js +5 -5
- package/dist/utils/image-extractor.js.map +1 -1
- package/dist/utils/layout-parser.d.ts.map +1 -1
- package/dist/utils/layout-parser.js +15 -16
- package/dist/utils/layout-parser.js.map +1 -1
- package/dist/utils/libreoffice-detector.d.ts.map +1 -1
- package/dist/utils/libreoffice-detector.js +3 -2
- package/dist/utils/libreoffice-detector.js.map +1 -1
- package/dist/utils/pdf-extractor.d.ts +1 -1
- package/dist/utils/pdf-extractor.d.ts.map +1 -1
- package/dist/utils/pdf-extractor.js +15 -17
- package/dist/utils/pdf-extractor.js.map +1 -1
- package/dist/utils/pptx-visual-parser.d.ts +13 -13
- package/dist/utils/pptx-visual-parser.d.ts.map +1 -1
- package/dist/utils/pptx-visual-parser.js +14 -15
- package/dist/utils/pptx-visual-parser.js.map +1 -1
- package/package.json +89 -79
@@ -51,7 +51,7 @@ function detectHwpFormat(buffer) {
|
|
51
51
|
/**
|
52
52
|
* Parse HWP binary format using hwp.js
|
53
53
|
*/
|
54
|
-
async function parseHwpBinary(buffer, imageExtractor,
|
54
|
+
async function parseHwpBinary(buffer, imageExtractor, _chartExtractor, options) {
|
55
55
|
try {
|
56
56
|
// Setup browser polyfills before importing hwp.js
|
57
57
|
setupBrowserPolyfills();
|
@@ -73,14 +73,14 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
|
|
73
73
|
global.document = dom.window.document;
|
74
74
|
global.window = dom.window;
|
75
75
|
// Ensure our polyfills are available in the DOM window as well
|
76
|
-
if (!dom.window
|
77
|
-
dom.window
|
76
|
+
if (!dom.window.IntersectionObserver) {
|
77
|
+
dom.window.IntersectionObserver = global.IntersectionObserver;
|
78
78
|
}
|
79
|
-
if (!dom.window
|
80
|
-
dom.window
|
79
|
+
if (!dom.window.ResizeObserver) {
|
80
|
+
dom.window.ResizeObserver = global.ResizeObserver;
|
81
81
|
}
|
82
|
-
if (!dom.window
|
83
|
-
dom.window
|
82
|
+
if (!dom.window.MutationObserver) {
|
83
|
+
dom.window.MutationObserver = global.MutationObserver;
|
84
84
|
}
|
85
85
|
try {
|
86
86
|
const container = global.document.getElementById('hwp-container');
|
@@ -88,7 +88,7 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
|
|
88
88
|
throw new Error('Failed to create container element');
|
89
89
|
}
|
90
90
|
// Initialize hwp.js viewer
|
91
|
-
|
91
|
+
new Viewer(container, uint8Array);
|
92
92
|
// Wait for viewer to process the document
|
93
93
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
94
94
|
// Extract text content from the rendered DOM
|
@@ -132,7 +132,7 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
|
|
132
132
|
/**
|
133
133
|
* Parse HWPX XML format using JSZip and fast-xml-parser
|
134
134
|
*/
|
135
|
-
async function parseHwpxXml(buffer, imageExtractor,
|
135
|
+
async function parseHwpxXml(buffer, imageExtractor, _chartExtractor, options) {
|
136
136
|
try {
|
137
137
|
const zip = await JSZip.loadAsync(buffer);
|
138
138
|
// Log all files in the ZIP for debugging
|
@@ -219,7 +219,7 @@ async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
|
|
219
219
|
// Convert each section to markdown and combine
|
220
220
|
const sectionMarkdown = convertOwpmlToMarkdown(parsedXml);
|
221
221
|
if (sectionMarkdown && sectionMarkdown.trim()) {
|
222
|
-
allContent += sectionMarkdown
|
222
|
+
allContent += `${sectionMarkdown}\n\n`;
|
223
223
|
}
|
224
224
|
}
|
225
225
|
}
|
@@ -284,7 +284,7 @@ function extractTextFromViewer(container) {
|
|
284
284
|
if (paragraphs.length > 0)
|
285
285
|
break; // Use first successful selector
|
286
286
|
}
|
287
|
-
catch
|
287
|
+
catch {
|
288
288
|
continue; // Try next selector
|
289
289
|
}
|
290
290
|
}
|
@@ -329,14 +329,14 @@ async function extractHwpImages(container, imageExtractor) {
|
|
329
329
|
});
|
330
330
|
}
|
331
331
|
}
|
332
|
-
catch (
|
333
|
-
console.warn(`Failed to process embedded image ${index + 1}:`,
|
332
|
+
catch (e) {
|
333
|
+
console.warn(`Failed to process embedded image ${index + 1}:`, e);
|
334
334
|
}
|
335
335
|
}
|
336
336
|
});
|
337
337
|
}
|
338
|
-
catch (
|
339
|
-
console.warn('Failed to extract images from HWP:',
|
338
|
+
catch (e) {
|
339
|
+
console.warn('Failed to extract images from HWP:', e);
|
340
340
|
}
|
341
341
|
return images;
|
342
342
|
}
|
@@ -346,33 +346,34 @@ async function extractHwpImages(container, imageExtractor) {
|
|
346
346
|
async function extractHwpxImages(zip, imageExtractor) {
|
347
347
|
const images = [];
|
348
348
|
try {
|
349
|
-
// Look for image files in the ZIP archive
|
349
|
+
// Look for image files in the ZIP archive - typically in BinData folder
|
350
350
|
const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.tiff'];
|
351
351
|
for (const [fileName, file] of Object.entries(zip.files)) {
|
352
352
|
if (!file.dir && imageExtensions.some(ext => fileName.toLowerCase().endsWith(ext))) {
|
353
353
|
try {
|
354
354
|
const imageBuffer = await file.async('nodebuffer');
|
355
355
|
const extension = path.extname(fileName).slice(1).toLowerCase();
|
356
|
-
|
357
|
-
|
358
|
-
const savedPath =
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
356
|
+
// Actually save the image to disk using imageExtractor
|
357
|
+
// Pass originalPath and basePath (empty string for base)
|
358
|
+
const savedPath = await imageExtractor.saveImage(imageBuffer, fileName, '');
|
359
|
+
if (savedPath) {
|
360
|
+
images.push({
|
361
|
+
originalPath: fileName,
|
362
|
+
savedPath,
|
363
|
+
format: extension,
|
364
|
+
size: imageBuffer.length
|
365
|
+
});
|
366
|
+
console.log(`Extracted and saved image: ${fileName} -> ${savedPath}`);
|
367
|
+
}
|
367
368
|
}
|
368
|
-
catch (
|
369
|
-
console.warn(`Failed to extract image ${fileName}:`,
|
369
|
+
catch (e) {
|
370
|
+
console.warn(`Failed to extract image ${fileName}:`, e);
|
370
371
|
}
|
371
372
|
}
|
372
373
|
}
|
373
374
|
}
|
374
|
-
catch (
|
375
|
-
console.warn('Failed to extract images from HWPX:',
|
375
|
+
catch (e) {
|
376
|
+
console.warn('Failed to extract images from HWPX:', e);
|
376
377
|
}
|
377
378
|
return images;
|
378
379
|
}
|
@@ -413,160 +414,168 @@ function convertHwpContentToMarkdown(textContent) {
|
|
413
414
|
function convertOwpmlToMarkdown(owpmlData) {
|
414
415
|
let markdown = '';
|
415
416
|
try {
|
416
|
-
//
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
else {
|
427
|
-
// Try to extract any text content from the parsed XML
|
428
|
-
markdown = extractTextFromObject(root);
|
417
|
+
// HWPX uses hp:p for paragraphs and hp:t for text
|
418
|
+
// Navigate the structure to find text nodes
|
419
|
+
const texts = [];
|
420
|
+
// Extract all text content recursively, but only from text nodes
|
421
|
+
extractTextNodes(owpmlData, texts);
|
422
|
+
// Join extracted texts with proper spacing
|
423
|
+
if (texts.length > 0) {
|
424
|
+
markdown = texts
|
425
|
+
.filter(text => text.trim().length > 0)
|
426
|
+
.join('\n\n');
|
429
427
|
}
|
430
428
|
if (!markdown.trim()) {
|
431
429
|
markdown = '*No readable content found in HWPX file*';
|
432
430
|
}
|
433
431
|
}
|
434
|
-
catch (
|
435
|
-
console.warn('Error processing OWPML structure:',
|
432
|
+
catch (e) {
|
433
|
+
console.warn('Error processing OWPML structure:', e);
|
436
434
|
markdown = '*Error processing HWPX content*';
|
437
435
|
}
|
438
436
|
return markdown;
|
439
437
|
}
|
440
438
|
/**
|
441
|
-
*
|
439
|
+
* Extract text nodes from OWPML structure
|
442
440
|
*/
|
443
|
-
function
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
441
|
+
function extractTextNodes(obj, texts) {
|
442
|
+
if (!obj)
|
443
|
+
return;
|
444
|
+
// If it's a string and looks like actual text (not XML attribute values)
|
445
|
+
if (typeof obj === 'string') {
|
446
|
+
// Filter out numeric-only strings, single words that look like attribute values
|
447
|
+
const trimmed = obj.trim();
|
448
|
+
if (trimmed &&
|
449
|
+
!trimmed.match(/^[0-9\s.-]+$/) && // Skip pure numbers
|
450
|
+
!trimmed.match(/^[A-Z_]+$/) && // Skip constants like "BOTH", "LEFT_ONLY"
|
451
|
+
trimmed.length > 2 && // Skip very short strings
|
452
|
+
!trimmed.includes('pixel') && // Skip image metadata
|
453
|
+
!trimmed.startsWith('그림입니다') && // Skip image placeholders
|
454
|
+
!trimmed.includes('원본 그림')) { // Skip image descriptions
|
455
|
+
texts.push(trimmed);
|
456
|
+
}
|
457
|
+
return;
|
458
|
+
}
|
459
|
+
// If it's an array, process each item
|
460
|
+
if (Array.isArray(obj)) {
|
461
|
+
for (const item of obj) {
|
462
|
+
extractTextNodes(item, texts);
|
453
463
|
}
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
464
|
+
return;
|
465
|
+
}
|
466
|
+
// If it's an object, look for text content
|
467
|
+
if (typeof obj === 'object' && obj !== null) {
|
468
|
+
// HWPX specific text node handling
|
469
|
+
// Look for hp:p (paragraphs) and hp:t (text) nodes
|
470
|
+
if (obj['hp:p']) {
|
471
|
+
const paragraphs = Array.isArray(obj['hp:p']) ? obj['hp:p'] : [obj['hp:p']];
|
472
|
+
for (const para of paragraphs) {
|
473
|
+
extractParagraphText(para, texts);
|
474
|
+
}
|
461
475
|
}
|
462
|
-
//
|
463
|
-
if (
|
464
|
-
|
476
|
+
// Also check for plain p nodes
|
477
|
+
if (obj.p) {
|
478
|
+
const paragraphs = Array.isArray(obj.p) ? obj.p : [obj.p];
|
479
|
+
for (const para of paragraphs) {
|
480
|
+
extractParagraphText(para, texts);
|
481
|
+
}
|
465
482
|
}
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
try {
|
478
|
-
if (section.p || section.P || section.PARA) {
|
479
|
-
const paragraphs = section.p || section.P || section.PARA;
|
480
|
-
const paraArray = Array.isArray(paragraphs) ? paragraphs : [paragraphs];
|
481
|
-
paraArray.forEach((para) => {
|
482
|
-
result += processOwpmlParagraph(para);
|
483
|
-
});
|
483
|
+
// Check for TEXT nodes
|
484
|
+
if (obj.TEXT) {
|
485
|
+
const textNodes = Array.isArray(obj.TEXT) ? obj.TEXT : [obj.TEXT];
|
486
|
+
for (const textNode of textNodes) {
|
487
|
+
if (textNode['#text']) {
|
488
|
+
const text = textNode['#text'].trim();
|
489
|
+
if (text && !isMetadata(text)) {
|
490
|
+
texts.push(text);
|
491
|
+
}
|
492
|
+
}
|
493
|
+
}
|
484
494
|
}
|
485
|
-
|
486
|
-
|
495
|
+
// Recursively process all properties
|
496
|
+
for (const [key, value] of Object.entries(obj)) {
|
497
|
+
// Skip attribute keys and known metadata keys
|
498
|
+
if (!key.startsWith('@_') &&
|
499
|
+
!key.startsWith('_') &&
|
500
|
+
key !== 'SECDEF' &&
|
501
|
+
key !== 'DOCSUMMARY' &&
|
502
|
+
key !== 'MAPPINGTABLE' &&
|
503
|
+
key !== 'COMPATIBLE_DOCUMENT' &&
|
504
|
+
key !== 'LAYOUTCOMPATIBILITY') {
|
505
|
+
extractTextNodes(value, texts);
|
506
|
+
}
|
487
507
|
}
|
488
508
|
}
|
489
|
-
catch (error) {
|
490
|
-
console.warn('Error processing OWPML section:', error);
|
491
|
-
}
|
492
|
-
return result;
|
493
509
|
}
|
494
510
|
/**
|
495
|
-
*
|
511
|
+
* Extract text from a paragraph node
|
496
512
|
*/
|
497
|
-
function
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
const
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
513
|
+
function extractParagraphText(para, texts) {
|
514
|
+
if (!para)
|
515
|
+
return;
|
516
|
+
// Look for hp:run or run nodes
|
517
|
+
const runs = para['hp:run'] || para['run'] || para['RUN'];
|
518
|
+
if (runs) {
|
519
|
+
const runArray = Array.isArray(runs) ? runs : [runs];
|
520
|
+
for (const run of runArray) {
|
521
|
+
// Look for hp:t or t nodes (text content)
|
522
|
+
const textNode = run['hp:t'] || run['t'] || run['T'] || run['#text'];
|
523
|
+
if (textNode) {
|
524
|
+
if (typeof textNode === 'string') {
|
525
|
+
const text = textNode.trim();
|
526
|
+
if (text && !isMetadata(text)) {
|
527
|
+
texts.push(text);
|
528
|
+
}
|
512
529
|
}
|
513
|
-
else if (
|
514
|
-
const
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
paraText += textEl['#text'].toString();
|
519
|
-
}
|
520
|
-
else if (typeof textEl === 'string') {
|
521
|
-
paraText += textEl;
|
522
|
-
}
|
523
|
-
});
|
530
|
+
else if (textNode['#text']) {
|
531
|
+
const text = textNode['#text'].trim();
|
532
|
+
if (text && !isMetadata(text)) {
|
533
|
+
texts.push(text);
|
534
|
+
}
|
524
535
|
}
|
525
|
-
});
|
526
|
-
if (paraText.trim()) {
|
527
|
-
result = paraText.trim() + '\n\n';
|
528
536
|
}
|
529
537
|
}
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
538
|
+
}
|
539
|
+
// Also check for direct text content
|
540
|
+
if (para['#text']) {
|
541
|
+
const text = para['#text'].trim();
|
542
|
+
if (text && !isMetadata(text)) {
|
543
|
+
texts.push(text);
|
536
544
|
}
|
537
545
|
}
|
538
|
-
|
539
|
-
|
546
|
+
// Check for TEXT child nodes
|
547
|
+
if (para.TEXT) {
|
548
|
+
const textNodes = Array.isArray(para.TEXT) ? para.TEXT : [para.TEXT];
|
549
|
+
for (const textNode of textNodes) {
|
550
|
+
if (textNode['#text']) {
|
551
|
+
const text = textNode['#text'].trim();
|
552
|
+
if (text && !isMetadata(text)) {
|
553
|
+
texts.push(text);
|
554
|
+
}
|
555
|
+
}
|
556
|
+
else if (typeof textNode === 'string') {
|
557
|
+
const text = textNode.trim();
|
558
|
+
if (text && !isMetadata(text)) {
|
559
|
+
texts.push(text);
|
560
|
+
}
|
561
|
+
}
|
562
|
+
}
|
540
563
|
}
|
541
|
-
return result;
|
542
564
|
}
|
543
565
|
/**
|
544
|
-
*
|
566
|
+
* Check if a string looks like metadata rather than document content
|
545
567
|
*/
|
546
|
-
function
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
// Look for common text properties first
|
559
|
-
if (obj['#text']) {
|
560
|
-
text += obj['#text'].toString() + ' ';
|
561
|
-
}
|
562
|
-
// Recursively extract text from all properties
|
563
|
-
for (const [key, value] of Object.entries(obj)) {
|
564
|
-
if (key !== '#text' && key !== '@_') { // Skip attributes
|
565
|
-
text += extractTextFromObject(value) + ' ';
|
566
|
-
}
|
567
|
-
}
|
568
|
-
return text.trim();
|
569
|
-
}
|
570
|
-
return '';
|
568
|
+
function isMetadata(text) {
|
569
|
+
// Filter out common metadata patterns
|
570
|
+
return text.match(/^[A-Z_]+$/) !== null || // Constants
|
571
|
+
text.match(/^[0-9\s.-]+$/) !== null || // Pure numbers
|
572
|
+
text.includes('pixel') || // Image metadata
|
573
|
+
text.startsWith('그림입니다') || // Korean "This is an image"
|
574
|
+
text.includes('원본 그림') || // Korean "Original image"
|
575
|
+
text.includes('.jpg') || // File names
|
576
|
+
text.includes('.png') ||
|
577
|
+
text.includes('.bmp') ||
|
578
|
+
text.includes('http://') || // URLs in metadata
|
579
|
+
text.length < 3; // Very short strings
|
571
580
|
}
|
572
581
|
//# sourceMappingURL=hwp-parser.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hwp-parser.js","sourceRoot":"","sources":["../../src/parsers/hwp-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAA2B,MAAM,+BAA+B,CAAC;AAG/F,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqBhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,cAA8B,EAC9B,cAA8B,EAC9B,UAA2B,EAAE;IAE7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEvC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC/E,KAAK,MAAM;gBACT,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7E;gBACE,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAc,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mDAAmD;IACnD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAc,EACd,cAA8B,EAC9B,cAA8B,EAC9B,OAAwB;IAExB,IAAI,CAAC;QACH,kDAAkD;QAClD,qBAAqB,EAAE,CAAC;QAExB,8DAA8D;QAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1C,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,yEAAyE,EAAE;YAC/F,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,MAAM,4BAA4B,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACjE,MAAM,sBAAsB,GAAG,MAAM,CAAC,cAAc,CAAC;QACrD,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEzD,oCAAoC;QACpC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAa,CAAC;QAElC,+DAA+D;QAC/D,IAAI,CAAE,GAAG,CAAC,MAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,MAAc,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC5E,CAAC;QACD,IAAI,CAAE,GAAG,CAAC,MAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAc,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;QAChE,CAAC;QACD,IAAI,CAAE,GAAG,CAAC,MAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAc,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjD,0CAA0C;YAC1C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,6CAA6C;YAC7C,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAErD,4BAA4B;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC;gBAC9C,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzD,sBAAsB;YACtB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;YAE1D,OAAO;gBACL,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,EAAE,EAAE,4CAA4C;gBACxD,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,QAAQ;oBAChB,eAAe,EAAE,WAAW,CAAC,MAAM;iBACpC;aACF,CAAC;QAEJ,CAAC;gBAAS,CAAC;YACT,yBAAyB;YACzB,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YACnC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;YAC/B,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;gBAC/C,MAAM,CAAC,oBAAoB,GAAG,4BAA4B,CAAC;YAC7D,CAAC;YACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,CAAC,cAAc,GAAG,sBAAsB,CAAC;YACjD,CAAC;YACD,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,CAAC,gBAAgB,GAAG,wBAAwB,CAAC;YACrD,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,yCAAyC,OAAO,EAAE,EAAE,KAAc,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,MAAc,EACd,cAA8B,EAC9B,cAA8B,EAC9B,OAAwB;IAExB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1C,yCAAyC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;QAEtD,iDAAiD;QACjD,qFAAqF;QACrF,MAAM,YAAY,GAAG;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,sBAAsB;YACtB,qBAAqB;YACrB,sBAAsB;YACtB,aAAa;YACb,uBAAuB;YACvB,cAAc;YACd,mBAAmB;YACnB,UAAU;YACV,aAAa;YACb,UAAU;SACX,CAAC;QAEF,gCAAgC;QAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAChF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,wBAAwB;QACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,0BAA0B;QAC1B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACpC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,WAAW,EAAE,CAAC;oBAChB,eAAe,GAAG,QAAQ,CAAC;oBAC3B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5D,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,WAAW,EAAE,CAAC;wBAChB,eAAe,GAAG,OAAO,CAAC;wBAC1B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,MAAM,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,2DAA2D,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC;QAClH,CAAC;QAED,4CAA4C;QAC5C,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,qCAAqC;YACrC,KAAK,MAAM,eAAe,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC9C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;wBAC3B,gBAAgB,EAAE,KAAK;wBACvB,mBAAmB,EAAE,IAAI;wBACzB,YAAY,EAAE,OAAO;wBACrB,mBAAmB,EAAE,IAAI;wBACzB,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBAEH,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;oBAEvD,+CAA+C;oBAC/C,MAAM,eAAe,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBAC1D,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC9C,UAAU,IAAI,eAAe,GAAG,MAAM,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;gBAC3B,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,YAAY,EAAE,OAAO;gBACrB,mBAAmB,EAAE,IAAI;gBACzB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACvD,UAAU,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,uCAAuC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC;YAC9C,MAAM,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,0CAA0C,CAAC;QAEjF,OAAO;YACL,QAAQ;YACR,MAAM;YACN,MAAM,EAAE,EAAE,EAAE,8CAA8C;YAC1D,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,uBAAuB;gBAC/B,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM;aAC1C;SACF,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,8BAA8B,OAAO,EAAE,EAAE,KAAc,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,SAAkB;IAC/C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,4CAA4C;IAC5C,MAAM,aAAa,GAAG;QACpB,aAAa;QACb,WAAW;QACX,GAAG;QACH,oBAAoB;QACpB,MAAM;KACP,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;gBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,gCAAgC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,oBAAoB;QAChC,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,uCAAuC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,SAAkB,EAClB,cAA8B;IAE9B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,kDAAkD;QAClD,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QAE3F,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,gCAAgC;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC7D,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBAEtD,MAAM,QAAQ,GAAG,aAAa,KAAK,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;wBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;wBAErE,sCAAsC;wBACtC,0DAA0D;wBAC1D,MAAM,CAAC,IAAI,CAAC;4BACV,YAAY,EAAE,gBAAgB,KAAK,GAAG,CAAC,EAAE;4BACzC,SAAS,EAAE,SAAS;4BACpB,MAAM;4BACN,IAAI,EAAE,WAAW,CAAC,MAAM;yBACzB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAU,EACV,cAA8B;IAE9B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjE,MAAM,aAAa,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;oBAE1E,kCAAkC;oBAClC,MAAM,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAEtD,MAAM,CAAC,IAAI,CAAC;wBACV,YAAY,EAAE,QAAQ;wBACtB,SAAS;wBACT,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE,WAAW,CAAC,MAAM;qBACzB,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,WAAqB;IACxD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE1C,mCAAmC;QACnC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACzC,iBAAiB;YACjB,QAAQ,IAAI,KAAK,SAAS,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,qBAAqB;YACrB,QAAQ,IAAI,GAAG,SAAS,IAAI,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,mBAAmB;YACnB,QAAQ,IAAI,GAAG,SAAS,IAAI,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,QAAQ,IAAI,GAAG,SAAS,MAAM,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,SAAc;IAC5C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,qFAAqF;QACrF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC;QAE7D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YACpC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,QAAQ,GAAG,0CAA0C,CAAC;QACxD,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QACzD,QAAQ,GAAG,iCAAiC,CAAC;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAS;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;YAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAErE,YAAY,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBACpC,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAExE,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC9B,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAY;IACvC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAExE,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC9B,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAS;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;QACpD,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjB,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtC,CAAC;qBAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBAC9E,SAAS,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;wBAChC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BACpB,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACzC,CAAC;6BAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;4BACtC,QAAQ,IAAI,MAAM,CAAC;wBACrB,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;YACpC,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,GAAQ;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,wCAAwC;QACxC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;QACxC,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,kBAAkB;gBACvD,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
1
|
+
{"version":3,"file":"hwp-parser.js","sourceRoot":"","sources":["../../src/parsers/hwp-parser.ts"],"names":[],"mappings":"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"}
|
@@ -22,7 +22,7 @@ export async function parsePdf(buffer, imageExtractor, options = {}) {
|
|
22
22
|
const enhancedText = await pdfExtractor.enhanceTextWithLayout(data.text, data);
|
23
23
|
markdown += enhancedText;
|
24
24
|
}
|
25
|
-
catch
|
25
|
+
catch {
|
26
26
|
console.warn('Layout enhancement failed, falling back to basic text extraction');
|
27
27
|
// Fall back to basic text extraction
|
28
28
|
markdown = extractBasicText(data.text);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdf-parser.js","sourceRoot":"","sources":["../../src/parsers/pdf-parser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAA6C,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,cAA8B,EAC9B,UAA2B,EAAE;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnC,oCAAoC;QACpC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/E,QAAQ,IAAI,YAAY,CAAC;YAC3B,CAAC;YAAC,
|
1
|
+
{"version":3,"file":"pdf-parser.js","sourceRoot":"","sources":["../../src/parsers/pdf-parser.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pptx-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pptx-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEpF,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACjD;AAOD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
|
@@ -24,7 +24,8 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
|
|
24
24
|
if (options.useVisualParser !== false) {
|
25
25
|
try {
|
26
26
|
const visualParser = new PptxVisualParser();
|
27
|
-
|
27
|
+
const readonlyLayouts = await visualParser.parseVisualElements(buffer);
|
28
|
+
visualLayouts = [...readonlyLayouts];
|
28
29
|
console.log(`Visual parser extracted ${visualLayouts.length} slide layouts`);
|
29
30
|
}
|
30
31
|
catch (visualError) {
|
@@ -44,13 +45,13 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
|
|
44
45
|
if (relativePath.startsWith('ppt/slides/slide') && relativePath.endsWith('.xml')) {
|
45
46
|
slideFiles.push({
|
46
47
|
path: relativePath,
|
47
|
-
file
|
48
|
+
file
|
48
49
|
});
|
49
50
|
}
|
50
51
|
});
|
51
52
|
slideFiles.sort((a, b) => {
|
52
|
-
const aNum = parseInt(a.path.match(/slide(\d+)\.xml/)?.[1] || '0');
|
53
|
-
const bNum = parseInt(b.path.match(/slide(\d+)\.xml/)?.[1] || '0');
|
53
|
+
const aNum = parseInt(a.path.match(/slide(\d+)\.xml/)?.[1] || '0', 10);
|
54
|
+
const bNum = parseInt(b.path.match(/slide(\d+)\.xml/)?.[1] || '0', 10);
|
54
55
|
return aNum - bNum;
|
55
56
|
});
|
56
57
|
// Extract title from PPTX metadata
|
@@ -88,7 +89,7 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
|
|
88
89
|
const xmlContent = await slideFile.file.async('string');
|
89
90
|
const slideContent = await extractSlideTextContent(xmlContent);
|
90
91
|
if (slideContent.trim()) {
|
91
|
-
markdown += slideContent
|
92
|
+
markdown += `${slideContent}\n\n`;
|
92
93
|
}
|
93
94
|
else {
|
94
95
|
markdown += '*No content*\n\n';
|
@@ -122,7 +123,7 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
|
|
122
123
|
const xmlContent = await slideFile.file.async('string');
|
123
124
|
const slideContent = await extractSlideTextContent(xmlContent);
|
124
125
|
if (slideContent.trim()) {
|
125
|
-
markdown += slideContent
|
126
|
+
markdown += `${slideContent}\n\n`;
|
126
127
|
}
|
127
128
|
else {
|
128
129
|
markdown += '*No content*\n\n';
|
@@ -171,7 +172,6 @@ async function extractPptxTitle(buffer) {
|
|
171
172
|
async function extractSlideTextContent(xmlContent) {
|
172
173
|
try {
|
173
174
|
const result = await parseStringPromise(xmlContent);
|
174
|
-
let markdown = '';
|
175
175
|
// Simple text extraction function
|
176
176
|
function extractText(obj) {
|
177
177
|
let text = '';
|
@@ -187,10 +187,10 @@ async function extractSlideTextContent(xmlContent) {
|
|
187
187
|
if (Array.isArray(obj['a:t'])) {
|
188
188
|
for (const textItem of obj['a:t']) {
|
189
189
|
if (typeof textItem === 'string') {
|
190
|
-
text += textItem
|
190
|
+
text += `${textItem} `;
|
191
191
|
}
|
192
192
|
else if (textItem && typeof textItem === 'object' && '_' in textItem) {
|
193
|
-
text += textItem._
|
193
|
+
text += `${textItem._} `;
|
194
194
|
}
|
195
195
|
}
|
196
196
|
}
|