@bendyline/squisq-formats 1.3.0 → 1.3.1
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/container/index.d.ts +7 -5
- package/dist/container/index.js +39 -70
- package/dist/container/index.js.map +1 -1
- package/dist/docx/index.d.ts +128 -15
- package/dist/docx/index.js +17 -22
- package/dist/docx/index.js.map +1 -1
- package/dist/epub/index.d.ts +66 -11
- package/dist/epub/index.js +10 -18
- package/dist/epub/index.js.map +1 -1
- package/dist/html/index.d.ts +278 -15
- package/dist/html/index.js +26 -165
- package/dist/html/index.js.map +1 -1
- package/dist/index.d.ts +9 -38
- package/dist/index.js +62 -37
- package/dist/index.js.map +1 -1
- package/dist/ooxml/index.d.ts +353 -14
- package/dist/ooxml/index.js +116 -22
- package/dist/ooxml/index.js.map +1 -1
- package/dist/pdf/index.d.ts +143 -17
- package/dist/pdf/index.js +16 -25
- package/dist/pdf/index.js.map +1 -1
- package/dist/pptx/index.d.ts +83 -8
- package/dist/pptx/index.js +14 -34
- package/dist/pptx/index.js.map +1 -1
- package/dist/xlsx/index.d.ts +12 -9
- package/dist/xlsx/index.js +12 -44
- package/dist/xlsx/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/__tests__/container.test.d.ts +0 -8
- package/dist/__tests__/container.test.d.ts.map +0 -1
- package/dist/__tests__/container.test.js +0 -147
- package/dist/__tests__/container.test.js.map +0 -1
- package/dist/__tests__/docxExport.test.d.ts +0 -8
- package/dist/__tests__/docxExport.test.d.ts.map +0 -1
- package/dist/__tests__/docxExport.test.js +0 -383
- package/dist/__tests__/docxExport.test.js.map +0 -1
- package/dist/__tests__/docxImport.test.d.ts +0 -8
- package/dist/__tests__/docxImport.test.d.ts.map +0 -1
- package/dist/__tests__/docxImport.test.js +0 -309
- package/dist/__tests__/docxImport.test.js.map +0 -1
- package/dist/__tests__/epub.test.d.ts +0 -8
- package/dist/__tests__/epub.test.d.ts.map +0 -1
- package/dist/__tests__/epub.test.js +0 -472
- package/dist/__tests__/epub.test.js.map +0 -1
- package/dist/__tests__/html.test.d.ts +0 -8
- package/dist/__tests__/html.test.d.ts.map +0 -1
- package/dist/__tests__/html.test.js +0 -317
- package/dist/__tests__/html.test.js.map +0 -1
- package/dist/__tests__/ooxml.test.d.ts +0 -5
- package/dist/__tests__/ooxml.test.d.ts.map +0 -1
- package/dist/__tests__/ooxml.test.js +0 -152
- package/dist/__tests__/ooxml.test.js.map +0 -1
- package/dist/__tests__/pdfExport.test.d.ts +0 -8
- package/dist/__tests__/pdfExport.test.d.ts.map +0 -1
- package/dist/__tests__/pdfExport.test.js +0 -275
- package/dist/__tests__/pdfExport.test.js.map +0 -1
- package/dist/__tests__/pdfImport.test.d.ts +0 -11
- package/dist/__tests__/pdfImport.test.d.ts.map +0 -1
- package/dist/__tests__/pdfImport.test.js +0 -254
- package/dist/__tests__/pdfImport.test.js.map +0 -1
- package/dist/__tests__/plainHtml.test.d.ts +0 -5
- package/dist/__tests__/plainHtml.test.d.ts.map +0 -1
- package/dist/__tests__/plainHtml.test.js +0 -327
- package/dist/__tests__/plainHtml.test.js.map +0 -1
- package/dist/__tests__/plainHtmlBundle.test.d.ts +0 -11
- package/dist/__tests__/plainHtmlBundle.test.d.ts.map +0 -1
- package/dist/__tests__/plainHtmlBundle.test.js +0 -210
- package/dist/__tests__/plainHtmlBundle.test.js.map +0 -1
- package/dist/__tests__/roundTrip.test.d.ts +0 -7
- package/dist/__tests__/roundTrip.test.d.ts.map +0 -1
- package/dist/__tests__/roundTrip.test.js +0 -173
- package/dist/__tests__/roundTrip.test.js.map +0 -1
- package/dist/container/index.d.ts.map +0 -1
- package/dist/docx/export.d.ts +0 -69
- package/dist/docx/export.d.ts.map +0 -1
- package/dist/docx/export.js +0 -985
- package/dist/docx/export.js.map +0 -1
- package/dist/docx/import.d.ts +0 -65
- package/dist/docx/import.d.ts.map +0 -1
- package/dist/docx/import.js +0 -779
- package/dist/docx/import.js.map +0 -1
- package/dist/docx/index.d.ts.map +0 -1
- package/dist/docx/styles.d.ts +0 -68
- package/dist/docx/styles.d.ts.map +0 -1
- package/dist/docx/styles.js +0 -125
- package/dist/docx/styles.js.map +0 -1
- package/dist/epub/export.d.ts +0 -72
- package/dist/epub/export.d.ts.map +0 -1
- package/dist/epub/export.js +0 -698
- package/dist/epub/export.js.map +0 -1
- package/dist/epub/index.d.ts.map +0 -1
- package/dist/html/docsHtmlBundle.d.ts +0 -53
- package/dist/html/docsHtmlBundle.d.ts.map +0 -1
- package/dist/html/docsHtmlBundle.js +0 -299
- package/dist/html/docsHtmlBundle.js.map +0 -1
- package/dist/html/htmlTemplate.d.ts +0 -70
- package/dist/html/htmlTemplate.d.ts.map +0 -1
- package/dist/html/htmlTemplate.js +0 -282
- package/dist/html/htmlTemplate.js.map +0 -1
- package/dist/html/imageUtils.d.ts +0 -29
- package/dist/html/imageUtils.d.ts.map +0 -1
- package/dist/html/imageUtils.js +0 -63
- package/dist/html/imageUtils.js.map +0 -1
- package/dist/html/index.d.ts.map +0 -1
- package/dist/html/plainHtml.d.ts +0 -79
- package/dist/html/plainHtml.d.ts.map +0 -1
- package/dist/html/plainHtml.js +0 -614
- package/dist/html/plainHtml.js.map +0 -1
- package/dist/html/plainHtmlBundle.d.ts +0 -93
- package/dist/html/plainHtmlBundle.d.ts.map +0 -1
- package/dist/html/plainHtmlBundle.js +0 -357
- package/dist/html/plainHtmlBundle.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/ooxml/index.d.ts.map +0 -1
- package/dist/ooxml/namespaces.d.ts +0 -77
- package/dist/ooxml/namespaces.d.ts.map +0 -1
- package/dist/ooxml/namespaces.js +0 -104
- package/dist/ooxml/namespaces.js.map +0 -1
- package/dist/ooxml/reader.d.ts +0 -52
- package/dist/ooxml/reader.d.ts.map +0 -1
- package/dist/ooxml/reader.js +0 -190
- package/dist/ooxml/reader.js.map +0 -1
- package/dist/ooxml/types.d.ts +0 -82
- package/dist/ooxml/types.d.ts.map +0 -1
- package/dist/ooxml/types.js +0 -9
- package/dist/ooxml/types.js.map +0 -1
- package/dist/ooxml/writer.d.ts +0 -71
- package/dist/ooxml/writer.d.ts.map +0 -1
- package/dist/ooxml/writer.js +0 -200
- package/dist/ooxml/writer.js.map +0 -1
- package/dist/ooxml/xmlUtils.d.ts +0 -76
- package/dist/ooxml/xmlUtils.d.ts.map +0 -1
- package/dist/ooxml/xmlUtils.js +0 -108
- package/dist/ooxml/xmlUtils.js.map +0 -1
- package/dist/pdf/export.d.ts +0 -56
- package/dist/pdf/export.d.ts.map +0 -1
- package/dist/pdf/export.js +0 -768
- package/dist/pdf/export.js.map +0 -1
- package/dist/pdf/import.d.ts +0 -94
- package/dist/pdf/import.d.ts.map +0 -1
- package/dist/pdf/import.js +0 -796
- package/dist/pdf/import.js.map +0 -1
- package/dist/pdf/index.d.ts.map +0 -1
- package/dist/pdf/styles.d.ts +0 -142
- package/dist/pdf/styles.d.ts.map +0 -1
- package/dist/pdf/styles.js +0 -145
- package/dist/pdf/styles.js.map +0 -1
- package/dist/pptx/export.d.ts +0 -75
- package/dist/pptx/export.d.ts.map +0 -1
- package/dist/pptx/export.js +0 -724
- package/dist/pptx/export.js.map +0 -1
- package/dist/pptx/index.d.ts.map +0 -1
- package/dist/pptx/styles.d.ts +0 -54
- package/dist/pptx/styles.d.ts.map +0 -1
- package/dist/pptx/styles.js +0 -73
- package/dist/pptx/styles.js.map +0 -1
- package/dist/pptx/templates.d.ts +0 -24
- package/dist/pptx/templates.d.ts.map +0 -1
- package/dist/pptx/templates.js +0 -158
- package/dist/pptx/templates.js.map +0 -1
- package/dist/xlsx/index.d.ts.map +0 -1
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Round-trip tests: MarkdownDocument → DOCX → MarkdownDocument.
|
|
3
|
-
*
|
|
4
|
-
* Verifies that core document structures survive the export → import cycle.
|
|
5
|
-
*/
|
|
6
|
-
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { markdownDocToDocx } from '../docx/export';
|
|
8
|
-
import { docxToMarkdownDoc } from '../docx/import';
|
|
9
|
-
// ============================================
|
|
10
|
-
// Helpers
|
|
11
|
-
// ============================================
|
|
12
|
-
async function roundTrip(doc) {
|
|
13
|
-
const buffer = await markdownDocToDocx(doc);
|
|
14
|
-
return docxToMarkdownDoc(buffer);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Extract plain text from an inline node tree.
|
|
18
|
-
*/
|
|
19
|
-
function extractText(node) {
|
|
20
|
-
if (node.type === 'text')
|
|
21
|
-
return node.value;
|
|
22
|
-
if ('children' in node)
|
|
23
|
-
return node.children.map(extractText).join('');
|
|
24
|
-
if ('value' in node)
|
|
25
|
-
return node.value;
|
|
26
|
-
return '';
|
|
27
|
-
}
|
|
28
|
-
function extractBlockText(block) {
|
|
29
|
-
if ('children' in block)
|
|
30
|
-
return block.children.map(extractText).join('');
|
|
31
|
-
if ('value' in block)
|
|
32
|
-
return block.value;
|
|
33
|
-
return '';
|
|
34
|
-
}
|
|
35
|
-
// ============================================
|
|
36
|
-
// Round-trip Tests
|
|
37
|
-
// ============================================
|
|
38
|
-
describe('DOCX round-trip', () => {
|
|
39
|
-
it('round-trips headings', async () => {
|
|
40
|
-
const original = {
|
|
41
|
-
type: 'document',
|
|
42
|
-
children: [
|
|
43
|
-
{
|
|
44
|
-
type: 'heading',
|
|
45
|
-
depth: 1,
|
|
46
|
-
children: [{ type: 'text', value: 'Main Title' }],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
type: 'heading',
|
|
50
|
-
depth: 2,
|
|
51
|
-
children: [{ type: 'text', value: 'Section' }],
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
};
|
|
55
|
-
const result = await roundTrip(original);
|
|
56
|
-
expect(result.children.length).toBeGreaterThanOrEqual(2);
|
|
57
|
-
expect(result.children[0].type).toBe('heading');
|
|
58
|
-
expect(result.children[0].depth).toBe(1);
|
|
59
|
-
expect(extractBlockText(result.children[0])).toBe('Main Title');
|
|
60
|
-
expect(result.children[1].type).toBe('heading');
|
|
61
|
-
expect(result.children[1].depth).toBe(2);
|
|
62
|
-
expect(extractBlockText(result.children[1])).toBe('Section');
|
|
63
|
-
});
|
|
64
|
-
it('round-trips paragraphs', async () => {
|
|
65
|
-
const original = {
|
|
66
|
-
type: 'document',
|
|
67
|
-
children: [
|
|
68
|
-
{
|
|
69
|
-
type: 'paragraph',
|
|
70
|
-
children: [{ type: 'text', value: 'Hello world' }],
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
type: 'paragraph',
|
|
74
|
-
children: [{ type: 'text', value: 'Second paragraph' }],
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
};
|
|
78
|
-
const result = await roundTrip(original);
|
|
79
|
-
expect(result.children.length).toBe(2);
|
|
80
|
-
expect(extractBlockText(result.children[0])).toBe('Hello world');
|
|
81
|
-
expect(extractBlockText(result.children[1])).toBe('Second paragraph');
|
|
82
|
-
});
|
|
83
|
-
it('round-trips bold text', async () => {
|
|
84
|
-
const original = {
|
|
85
|
-
type: 'document',
|
|
86
|
-
children: [
|
|
87
|
-
{
|
|
88
|
-
type: 'paragraph',
|
|
89
|
-
children: [
|
|
90
|
-
{ type: 'text', value: 'Normal ' },
|
|
91
|
-
{
|
|
92
|
-
type: 'strong',
|
|
93
|
-
children: [{ type: 'text', value: 'bold' }],
|
|
94
|
-
},
|
|
95
|
-
{ type: 'text', value: ' text' },
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
};
|
|
100
|
-
const result = await roundTrip(original);
|
|
101
|
-
const para = result.children[0];
|
|
102
|
-
expect(para.type).toBe('paragraph');
|
|
103
|
-
// Find the bold node
|
|
104
|
-
const boldNode = para.children.find((c) => c.type === 'strong');
|
|
105
|
-
expect(boldNode).toBeDefined();
|
|
106
|
-
expect(extractText(boldNode)).toBe('bold');
|
|
107
|
-
});
|
|
108
|
-
it('round-trips italic text', async () => {
|
|
109
|
-
const original = {
|
|
110
|
-
type: 'document',
|
|
111
|
-
children: [
|
|
112
|
-
{
|
|
113
|
-
type: 'paragraph',
|
|
114
|
-
children: [
|
|
115
|
-
{
|
|
116
|
-
type: 'emphasis',
|
|
117
|
-
children: [{ type: 'text', value: 'italic' }],
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
};
|
|
123
|
-
const result = await roundTrip(original);
|
|
124
|
-
const para = result.children[0];
|
|
125
|
-
const italicNode = para.children.find((c) => c.type === 'emphasis');
|
|
126
|
-
expect(italicNode).toBeDefined();
|
|
127
|
-
expect(extractText(italicNode)).toBe('italic');
|
|
128
|
-
});
|
|
129
|
-
it('round-trips mixed content document', async () => {
|
|
130
|
-
const original = {
|
|
131
|
-
type: 'document',
|
|
132
|
-
children: [
|
|
133
|
-
{
|
|
134
|
-
type: 'heading',
|
|
135
|
-
depth: 1,
|
|
136
|
-
children: [{ type: 'text', value: 'Document Title' }],
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
type: 'paragraph',
|
|
140
|
-
children: [
|
|
141
|
-
{ type: 'text', value: 'This is ' },
|
|
142
|
-
{
|
|
143
|
-
type: 'strong',
|
|
144
|
-
children: [{ type: 'text', value: 'important' }],
|
|
145
|
-
},
|
|
146
|
-
{ type: 'text', value: ' content.' },
|
|
147
|
-
],
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
type: 'heading',
|
|
151
|
-
depth: 2,
|
|
152
|
-
children: [{ type: 'text', value: 'Details' }],
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
type: 'paragraph',
|
|
156
|
-
children: [{ type: 'text', value: 'More info here.' }],
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
};
|
|
160
|
-
const result = await roundTrip(original);
|
|
161
|
-
// Should have at least 4 blocks
|
|
162
|
-
expect(result.children.length).toBeGreaterThanOrEqual(4);
|
|
163
|
-
// First should be heading
|
|
164
|
-
expect(result.children[0].type).toBe('heading');
|
|
165
|
-
expect(extractBlockText(result.children[0])).toBe('Document Title');
|
|
166
|
-
// Then paragraph with mixed content
|
|
167
|
-
expect(result.children[1].type).toBe('paragraph');
|
|
168
|
-
const fullText = result.children[1].children.map(extractText).join('');
|
|
169
|
-
expect(fullText).toContain('important');
|
|
170
|
-
expect(fullText).toContain('content');
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
//# sourceMappingURL=roundTrip.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roundTrip.test.js","sourceRoot":"","sources":["../../src/__tests__/roundTrip.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAgCjC"}
|
package/dist/docx/export.d.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOCX Export
|
|
3
|
-
*
|
|
4
|
-
* Converts a squisq MarkdownDocument (or Doc) into a .docx file
|
|
5
|
-
* by generating WordprocessingML XML and assembling the OOXML package.
|
|
6
|
-
*
|
|
7
|
-
* No third-party docx library — all XML is generated directly using
|
|
8
|
-
* the shared ooxml/ infrastructure of this package.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { parseMarkdown } from '@bendyline/squisq/markdown';
|
|
13
|
-
* import { markdownDocToDocx } from '@bendyline/squisq-formats/docx';
|
|
14
|
-
*
|
|
15
|
-
* const md = parseMarkdown('# Hello\n\nWorld **bold** text');
|
|
16
|
-
* const blob = await markdownDocToDocx(md);
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
import type { Doc } from '@bendyline/squisq/schemas';
|
|
20
|
-
import type { MarkdownDocument } from '@bendyline/squisq/markdown';
|
|
21
|
-
/**
|
|
22
|
-
* Options for DOCX export.
|
|
23
|
-
*/
|
|
24
|
-
export interface DocxExportOptions {
|
|
25
|
-
/** Document title (appears in core properties) */
|
|
26
|
-
title?: string;
|
|
27
|
-
/** Document author */
|
|
28
|
-
author?: string;
|
|
29
|
-
/** Document description */
|
|
30
|
-
description?: string;
|
|
31
|
-
/** Default body font family. Default: "Calibri" */
|
|
32
|
-
defaultFont?: string;
|
|
33
|
-
/** Default body font size in points. Default: 11 */
|
|
34
|
-
defaultFontSize?: number;
|
|
35
|
-
/**
|
|
36
|
-
* Squisq theme ID to apply (e.g., 'documentary', 'cinematic').
|
|
37
|
-
* When set, overrides fonts with the theme's typography and applies
|
|
38
|
-
* the theme's primary color to headings.
|
|
39
|
-
*/
|
|
40
|
-
themeId?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Pre-resolved image data keyed by image URL/path as it appears in the
|
|
43
|
-
* markdown source. When provided, images are embedded in the .docx file
|
|
44
|
-
* as binary parts instead of emitting placeholder text.
|
|
45
|
-
*/
|
|
46
|
-
images?: Map<string, {
|
|
47
|
-
data: ArrayBuffer | Uint8Array;
|
|
48
|
-
contentType: string;
|
|
49
|
-
}>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Convert a MarkdownDocument to a .docx Blob.
|
|
53
|
-
*
|
|
54
|
-
* @param doc - The parsed markdown document
|
|
55
|
-
* @param options - Export options
|
|
56
|
-
* @returns An ArrayBuffer containing the .docx file
|
|
57
|
-
*/
|
|
58
|
-
export declare function markdownDocToDocx(doc: MarkdownDocument, options?: DocxExportOptions): Promise<ArrayBuffer>;
|
|
59
|
-
/**
|
|
60
|
-
* Convert a squisq Doc to a .docx Blob.
|
|
61
|
-
*
|
|
62
|
-
* Convenience wrapper that converts Doc → MarkdownDocument → DOCX.
|
|
63
|
-
*
|
|
64
|
-
* @param doc - The squisq Doc
|
|
65
|
-
* @param options - Export options
|
|
66
|
-
* @returns An ArrayBuffer containing the .docx file
|
|
67
|
-
*/
|
|
68
|
-
export declare function docToDocx(doc: Doc, options?: DocxExportOptions): Promise<ArrayBuffer>;
|
|
69
|
-
//# sourceMappingURL=export.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/docx/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAS,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EACV,gBAAgB,EAkBjB,MAAM,4BAA4B,CAAC;AAwCpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAG/F"}
|