@w100n/documents 0.4.0 → 0.11.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/dist/SheetView-3XTEV2VT.css +319 -0
- package/dist/SheetView-3XTEV2VT.css.map +1 -0
- package/dist/SheetView-TXHS5WJC.js +928 -0
- package/dist/SheetView-TXHS5WJC.js.map +1 -0
- package/dist/TextEditor-4YETNX4T.js +983 -0
- package/dist/TextEditor-4YETNX4T.js.map +1 -0
- package/dist/caveat-cyrillic-XVO43JCM.woff2 +0 -0
- package/dist/caveat-latin-IUBKKMHQ.woff2 +0 -0
- package/dist/caveat-latin-ext-5S7R5SZN.woff2 +0 -0
- package/dist/chunk-EM4U6OC5.js +3447 -0
- package/dist/chunk-EM4U6OC5.js.map +1 -0
- package/dist/chunk-FPGPEIW5.js +196 -0
- package/dist/chunk-FPGPEIW5.js.map +1 -0
- package/dist/chunk-ISOOUYLI.js +150 -0
- package/dist/chunk-ISOOUYLI.js.map +1 -0
- package/dist/{chunk-KEV4R7W5.js → chunk-L765DZPO.js} +9 -1
- package/dist/chunk-L765DZPO.js.map +1 -0
- package/dist/chunk-QDH7EZAF.js +27 -0
- package/dist/chunk-QDH7EZAF.js.map +1 -0
- package/dist/chunk-TDP6OJET.js +31 -0
- package/dist/chunk-TDP6OJET.js.map +1 -0
- package/dist/chunk-TNSN4ZQ5.js +2909 -0
- package/dist/chunk-TNSN4ZQ5.js.map +1 -0
- package/dist/collab.cjs +6312 -0
- package/dist/collab.cjs.map +1 -0
- package/dist/collab.d.cts +39 -0
- package/dist/collab.d.ts +39 -0
- package/dist/collab.js +30 -0
- package/dist/collab.js.map +1 -0
- package/dist/grid-EI5JNZAA.js +88 -0
- package/dist/grid-EI5JNZAA.js.map +1 -0
- package/dist/index.cjs +12191 -486
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +3632 -728
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +144 -11
- package/dist/index.d.ts +144 -11
- package/dist/index.js +3389 -439
- package/dist/index.js.map +1 -1
- package/dist/kinds.cjs +71 -0
- package/dist/kinds.cjs.map +1 -0
- package/dist/kinds.d.cts +11 -0
- package/dist/kinds.d.ts +11 -0
- package/dist/kinds.js +14 -0
- package/dist/kinds.js.map +1 -0
- package/dist/memory.cjs +59 -7
- package/dist/memory.cjs.map +1 -1
- package/dist/memory.d.cts +7 -2
- package/dist/memory.d.ts +7 -2
- package/dist/memory.js +57 -8
- package/dist/memory.js.map +1 -1
- package/dist/pdfWrite-EM6GJDBF.js +76 -0
- package/dist/pdfWrite-EM6GJDBF.js.map +1 -0
- package/dist/types-B5oF25dn.d.cts +165 -0
- package/dist/types-B5oF25dn.d.ts +165 -0
- package/dist/write-DaVtTJCS.d.cts +6 -0
- package/dist/write-DaVtTJCS.d.ts +6 -0
- package/package.json +50 -3
- package/dist/chunk-KEV4R7W5.js.map +0 -1
- package/dist/types-DshXPnWA.d.cts +0 -62
- package/dist/types-DshXPnWA.d.ts +0 -62
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { JSONContent } from '@tiptap/core';
|
|
2
|
+
import * as Y from 'yjs';
|
|
3
|
+
import { I as Img } from './write-DaVtTJCS.cjs';
|
|
4
|
+
import { L as Language } from './types-B5oF25dn.cjs';
|
|
5
|
+
|
|
6
|
+
declare function applyCells(doc: Y.Doc, list: {
|
|
7
|
+
sheet: string;
|
|
8
|
+
ref: string;
|
|
9
|
+
value?: string | number | boolean | null;
|
|
10
|
+
formula?: string;
|
|
11
|
+
}[], origin: unknown): number;
|
|
12
|
+
|
|
13
|
+
type Kind = 'markdown' | 'docx' | 'xlsx' | 'csv';
|
|
14
|
+
type Prose = 'markdown' | 'docx';
|
|
15
|
+
type Author = {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
language: Language;
|
|
19
|
+
};
|
|
20
|
+
type Saved = {
|
|
21
|
+
bytes: ArrayBuffer;
|
|
22
|
+
version: string | null;
|
|
23
|
+
};
|
|
24
|
+
declare const ours = "w100n-collab";
|
|
25
|
+
declare const parse: (kind: Prose, bytes: ArrayBuffer) => Promise<JSONContent>;
|
|
26
|
+
declare const edits: (tr: Y.Transaction) => boolean;
|
|
27
|
+
declare const filled: (doc: Y.Doc) => boolean;
|
|
28
|
+
declare function seed(doc: Y.Doc, kind: Kind, bytes: ArrayBuffer, json?: JSONContent): boolean;
|
|
29
|
+
declare function follow(doc: Y.Doc, author: (origin: unknown) => Author | null): () => void;
|
|
30
|
+
declare const pending: (doc: Y.Doc) => boolean;
|
|
31
|
+
declare class Refusal extends Error {
|
|
32
|
+
}
|
|
33
|
+
declare function applyText(doc: Y.Doc, kind: Prose, changes: {
|
|
34
|
+
find: string;
|
|
35
|
+
replace: string;
|
|
36
|
+
}[], origin: unknown): number;
|
|
37
|
+
declare function save(doc: Y.Doc, kind: Kind, base: ArrayBuffer, put: (bytes: ArrayBuffer, note: string) => Promise<string>, load?: (src: string) => Promise<Img>, note?: string): Promise<Saved | null>;
|
|
38
|
+
|
|
39
|
+
export { type Author, type Kind, type Prose, Refusal, type Saved, applyCells, applyText, edits, filled, follow, ours, parse, pending, save, seed };
|
package/dist/collab.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { JSONContent } from '@tiptap/core';
|
|
2
|
+
import * as Y from 'yjs';
|
|
3
|
+
import { I as Img } from './write-DaVtTJCS.js';
|
|
4
|
+
import { L as Language } from './types-B5oF25dn.js';
|
|
5
|
+
|
|
6
|
+
declare function applyCells(doc: Y.Doc, list: {
|
|
7
|
+
sheet: string;
|
|
8
|
+
ref: string;
|
|
9
|
+
value?: string | number | boolean | null;
|
|
10
|
+
formula?: string;
|
|
11
|
+
}[], origin: unknown): number;
|
|
12
|
+
|
|
13
|
+
type Kind = 'markdown' | 'docx' | 'xlsx' | 'csv';
|
|
14
|
+
type Prose = 'markdown' | 'docx';
|
|
15
|
+
type Author = {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
language: Language;
|
|
19
|
+
};
|
|
20
|
+
type Saved = {
|
|
21
|
+
bytes: ArrayBuffer;
|
|
22
|
+
version: string | null;
|
|
23
|
+
};
|
|
24
|
+
declare const ours = "w100n-collab";
|
|
25
|
+
declare const parse: (kind: Prose, bytes: ArrayBuffer) => Promise<JSONContent>;
|
|
26
|
+
declare const edits: (tr: Y.Transaction) => boolean;
|
|
27
|
+
declare const filled: (doc: Y.Doc) => boolean;
|
|
28
|
+
declare function seed(doc: Y.Doc, kind: Kind, bytes: ArrayBuffer, json?: JSONContent): boolean;
|
|
29
|
+
declare function follow(doc: Y.Doc, author: (origin: unknown) => Author | null): () => void;
|
|
30
|
+
declare const pending: (doc: Y.Doc) => boolean;
|
|
31
|
+
declare class Refusal extends Error {
|
|
32
|
+
}
|
|
33
|
+
declare function applyText(doc: Y.Doc, kind: Prose, changes: {
|
|
34
|
+
find: string;
|
|
35
|
+
replace: string;
|
|
36
|
+
}[], origin: unknown): number;
|
|
37
|
+
declare function save(doc: Y.Doc, kind: Kind, base: ArrayBuffer, put: (bytes: ArrayBuffer, note: string) => Promise<string>, load?: (src: string) => Promise<Img>, note?: string): Promise<Saved | null>;
|
|
38
|
+
|
|
39
|
+
export { type Author, type Kind, type Prose, Refusal, type Saved, applyCells, applyText, edits, filled, follow, ours, parse, pending, save, seed };
|
package/dist/collab.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import {
|
|
3
|
+
Refusal,
|
|
4
|
+
applyCells,
|
|
5
|
+
applyText,
|
|
6
|
+
edits,
|
|
7
|
+
filled,
|
|
8
|
+
follow,
|
|
9
|
+
ours,
|
|
10
|
+
parse,
|
|
11
|
+
pending,
|
|
12
|
+
save,
|
|
13
|
+
seed
|
|
14
|
+
} from "./chunk-EM4U6OC5.js";
|
|
15
|
+
import "./chunk-TNSN4ZQ5.js";
|
|
16
|
+
import "./chunk-ISOOUYLI.js";
|
|
17
|
+
export {
|
|
18
|
+
Refusal,
|
|
19
|
+
applyCells,
|
|
20
|
+
applyText,
|
|
21
|
+
edits,
|
|
22
|
+
filled,
|
|
23
|
+
follow,
|
|
24
|
+
ours,
|
|
25
|
+
parse,
|
|
26
|
+
pending,
|
|
27
|
+
save,
|
|
28
|
+
seed
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=collab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import {
|
|
3
|
+
box
|
|
4
|
+
} from "./chunk-ISOOUYLI.js";
|
|
5
|
+
|
|
6
|
+
// src/sheets/grid.ts
|
|
7
|
+
import "@univerjs/preset-sheets-core/lib/index.css";
|
|
8
|
+
import "@univerjs/preset-sheets-sort/lib/index.css";
|
|
9
|
+
import "@univerjs/preset-sheets-filter/lib/index.css";
|
|
10
|
+
import "@univerjs/preset-sheets-find-replace/lib/index.css";
|
|
11
|
+
import "@univerjs/preset-sheets-data-validation/lib/index.css";
|
|
12
|
+
import "@univerjs/preset-sheets-note/lib/index.css";
|
|
13
|
+
import { createUniver, LocaleType, mergeLocales, purpleTheme } from "@univerjs/presets";
|
|
14
|
+
import { CalculationMode, IMarkSelectionService, UniverSheetsCorePreset } from "@univerjs/preset-sheets-core";
|
|
15
|
+
import { UniverSheetsDataValidationPreset } from "@univerjs/preset-sheets-data-validation";
|
|
16
|
+
import { UniverSheetsFilterPreset } from "@univerjs/preset-sheets-filter";
|
|
17
|
+
import { UniverSheetsFindReplacePreset } from "@univerjs/preset-sheets-find-replace";
|
|
18
|
+
import { UniverSheetsNotePreset } from "@univerjs/preset-sheets-note";
|
|
19
|
+
import { UniverSheetsSortPreset } from "@univerjs/preset-sheets-sort";
|
|
20
|
+
import coreEn from "@univerjs/preset-sheets-core/locales/en-US";
|
|
21
|
+
import corePl from "@univerjs/preset-sheets-core/locales/pl-PL";
|
|
22
|
+
import checkEn from "@univerjs/preset-sheets-data-validation/locales/en-US";
|
|
23
|
+
import checkPl from "@univerjs/preset-sheets-data-validation/locales/pl-PL";
|
|
24
|
+
import filterEn from "@univerjs/preset-sheets-filter/locales/en-US";
|
|
25
|
+
import filterPl from "@univerjs/preset-sheets-filter/locales/pl-PL";
|
|
26
|
+
import findEn from "@univerjs/preset-sheets-find-replace/locales/en-US";
|
|
27
|
+
import findPl from "@univerjs/preset-sheets-find-replace/locales/pl-PL";
|
|
28
|
+
import noteEn from "@univerjs/preset-sheets-note/locales/en-US";
|
|
29
|
+
import notePl from "@univerjs/preset-sheets-note/locales/pl-PL";
|
|
30
|
+
import sortEn from "@univerjs/preset-sheets-sort/locales/en-US";
|
|
31
|
+
import sortPl from "@univerjs/preset-sheets-sort/locales/pl-PL";
|
|
32
|
+
function grid(container, language, dark, edit) {
|
|
33
|
+
return createUniver({
|
|
34
|
+
locale: language === "pl" ? LocaleType.PL_PL : LocaleType.EN_US,
|
|
35
|
+
locales: {
|
|
36
|
+
[LocaleType.EN_US]: mergeLocales(coreEn, checkEn, filterEn, findEn, noteEn, sortEn),
|
|
37
|
+
[LocaleType.PL_PL]: mergeLocales(corePl, checkPl, filterPl, findPl, notePl, sortPl)
|
|
38
|
+
},
|
|
39
|
+
theme: purpleTheme,
|
|
40
|
+
darkMode: dark,
|
|
41
|
+
presets: [
|
|
42
|
+
UniverSheetsCorePreset({
|
|
43
|
+
container,
|
|
44
|
+
toolbar: false,
|
|
45
|
+
formulaBar: true,
|
|
46
|
+
contextMenu: true,
|
|
47
|
+
disableAutoFocus: true,
|
|
48
|
+
footer: { sheetBar: true, statisticBar: true, menus: edit, zoomSlider: true, addSheetButtonConfig: { show: edit } },
|
|
49
|
+
formula: { initialFormulaComputing: CalculationMode.WHEN_EMPTY }
|
|
50
|
+
}),
|
|
51
|
+
UniverSheetsSortPreset(),
|
|
52
|
+
UniverSheetsFilterPreset(),
|
|
53
|
+
UniverSheetsFindReplacePreset(),
|
|
54
|
+
UniverSheetsDataValidationPreset(),
|
|
55
|
+
UniverSheetsNotePreset()
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function marks({ univer, univerAPI: api }) {
|
|
60
|
+
const service = univer.__getInjector().get(IMarkSelectionService);
|
|
61
|
+
let list = [];
|
|
62
|
+
let ids = [];
|
|
63
|
+
const draw = () => {
|
|
64
|
+
ids.forEach((id) => service.removeShape(id));
|
|
65
|
+
const sid = api.getActiveWorkbook()?.getActiveSheet().getSheetId();
|
|
66
|
+
ids = list.filter((m) => m.sheet === sid).flatMap((m) => {
|
|
67
|
+
const b = box(m.range);
|
|
68
|
+
const id = b && service.addShape({ range: b, primary: null, style: { stroke: m.color, fill: `${m.color}1f`, strokeWidth: 2, widgets: {} } }, [], 1e3);
|
|
69
|
+
return id ? [id] : [];
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const turn = api.addEvent(api.Event.ActiveSheetChanged, draw);
|
|
73
|
+
return {
|
|
74
|
+
show: (next) => {
|
|
75
|
+
list = next;
|
|
76
|
+
draw();
|
|
77
|
+
},
|
|
78
|
+
dispose: () => {
|
|
79
|
+
turn.dispose();
|
|
80
|
+
ids.forEach((id) => service.removeShape(id));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
grid,
|
|
86
|
+
marks
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=grid-EI5JNZAA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sheets/grid.ts"],"sourcesContent":["import '@univerjs/preset-sheets-core/lib/index.css';\nimport '@univerjs/preset-sheets-sort/lib/index.css';\nimport '@univerjs/preset-sheets-filter/lib/index.css';\nimport '@univerjs/preset-sheets-find-replace/lib/index.css';\nimport '@univerjs/preset-sheets-data-validation/lib/index.css';\nimport '@univerjs/preset-sheets-note/lib/index.css';\nimport { createUniver, LocaleType, mergeLocales, purpleTheme } from '@univerjs/presets';\nimport { CalculationMode, IMarkSelectionService, UniverSheetsCorePreset } from '@univerjs/preset-sheets-core';\nimport { UniverSheetsDataValidationPreset } from '@univerjs/preset-sheets-data-validation';\nimport { UniverSheetsFilterPreset } from '@univerjs/preset-sheets-filter';\nimport { UniverSheetsFindReplacePreset } from '@univerjs/preset-sheets-find-replace';\nimport { UniverSheetsNotePreset } from '@univerjs/preset-sheets-note';\nimport { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort';\nimport coreEn from '@univerjs/preset-sheets-core/locales/en-US';\nimport corePl from '@univerjs/preset-sheets-core/locales/pl-PL';\nimport checkEn from '@univerjs/preset-sheets-data-validation/locales/en-US';\nimport checkPl from '@univerjs/preset-sheets-data-validation/locales/pl-PL';\nimport filterEn from '@univerjs/preset-sheets-filter/locales/en-US';\nimport filterPl from '@univerjs/preset-sheets-filter/locales/pl-PL';\nimport findEn from '@univerjs/preset-sheets-find-replace/locales/en-US';\nimport findPl from '@univerjs/preset-sheets-find-replace/locales/pl-PL';\nimport noteEn from '@univerjs/preset-sheets-note/locales/en-US';\nimport notePl from '@univerjs/preset-sheets-note/locales/pl-PL';\nimport sortEn from '@univerjs/preset-sheets-sort/locales/en-US';\nimport sortPl from '@univerjs/preset-sheets-sort/locales/pl-PL';\nimport type { Language } from '../types';\nimport { box } from './refs';\n\nexport type Mark = { sheet: string; range: string; color: string };\n\nexport function grid(container: HTMLElement, language: Language, dark: boolean, edit: boolean) {\n return createUniver({\n locale: language === 'pl' ? LocaleType.PL_PL : LocaleType.EN_US,\n locales: {\n [LocaleType.EN_US]: mergeLocales(coreEn, checkEn, filterEn, findEn, noteEn, sortEn),\n [LocaleType.PL_PL]: mergeLocales(corePl, checkPl, filterPl, findPl, notePl, sortPl),\n },\n theme: purpleTheme,\n darkMode: dark,\n presets: [\n UniverSheetsCorePreset({\n container, toolbar: false, formulaBar: true, contextMenu: true, disableAutoFocus: true,\n footer: { sheetBar: true, statisticBar: true, menus: edit, zoomSlider: true, addSheetButtonConfig: { show: edit } },\n formula: { initialFormulaComputing: CalculationMode.WHEN_EMPTY },\n }),\n UniverSheetsSortPreset(),\n UniverSheetsFilterPreset(),\n UniverSheetsFindReplacePreset(),\n UniverSheetsDataValidationPreset(),\n UniverSheetsNotePreset(),\n ],\n });\n}\n\nexport function marks({ univer, univerAPI: api }: ReturnType<typeof grid>) {\n const service = univer.__getInjector().get(IMarkSelectionService);\n let list: Mark[] = [];\n let ids: string[] = [];\n const draw = () => {\n ids.forEach(id => service.removeShape(id));\n const sid = api.getActiveWorkbook()?.getActiveSheet().getSheetId();\n ids = list.filter(m => m.sheet === sid).flatMap(m => {\n const b = box(m.range);\n const id = b && service.addShape({ range: b, primary: null, style: { stroke: m.color, fill: `${m.color}1f`, strokeWidth: 2, widgets: {} } }, [], 1000);\n return id ? [id] : [];\n });\n };\n const turn = api.addEvent(api.Event.ActiveSheetChanged, draw);\n return {\n show: (next: Mark[]) => { list = next; draw(); },\n dispose: () => { turn.dispose(); ids.forEach(id => service.removeShape(id)); },\n };\n}\n"],"mappings":";;;;;;AAAA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,cAAc,YAAY,cAAc,mBAAmB;AACpE,SAAS,iBAAiB,uBAAuB,8BAA8B;AAC/E,SAAS,wCAAwC;AACjD,SAAS,gCAAgC;AACzC,SAAS,qCAAqC;AAC9C,SAAS,8BAA8B;AACvC,SAAS,8BAA8B;AACvC,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,aAAa;AACpB,OAAO,aAAa;AACpB,OAAO,cAAc;AACrB,OAAO,cAAc;AACrB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,YAAY;AAMZ,SAAS,KAAK,WAAwB,UAAoB,MAAe,MAAe;AAC7F,SAAO,aAAa;AAAA,IAClB,QAAQ,aAAa,OAAO,WAAW,QAAQ,WAAW;AAAA,IAC1D,SAAS;AAAA,MACP,CAAC,WAAW,KAAK,GAAG,aAAa,QAAQ,SAAS,UAAU,QAAQ,QAAQ,MAAM;AAAA,MAClF,CAAC,WAAW,KAAK,GAAG,aAAa,QAAQ,SAAS,UAAU,QAAQ,QAAQ,MAAM;AAAA,IACpF;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,MACP,uBAAuB;AAAA,QACrB;AAAA,QAAW,SAAS;AAAA,QAAO,YAAY;AAAA,QAAM,aAAa;AAAA,QAAM,kBAAkB;AAAA,QAClF,QAAQ,EAAE,UAAU,MAAM,cAAc,MAAM,OAAO,MAAM,YAAY,MAAM,sBAAsB,EAAE,MAAM,KAAK,EAAE;AAAA,QAClH,SAAS,EAAE,yBAAyB,gBAAgB,WAAW;AAAA,MACjE,CAAC;AAAA,MACD,uBAAuB;AAAA,MACvB,yBAAyB;AAAA,MACzB,8BAA8B;AAAA,MAC9B,iCAAiC;AAAA,MACjC,uBAAuB;AAAA,IACzB;AAAA,EACF,CAAC;AACH;AAEO,SAAS,MAAM,EAAE,QAAQ,WAAW,IAAI,GAA4B;AACzE,QAAM,UAAU,OAAO,cAAc,EAAE,IAAI,qBAAqB;AAChE,MAAI,OAAe,CAAC;AACpB,MAAI,MAAgB,CAAC;AACrB,QAAM,OAAO,MAAM;AACjB,QAAI,QAAQ,QAAM,QAAQ,YAAY,EAAE,CAAC;AACzC,UAAM,MAAM,IAAI,kBAAkB,GAAG,eAAe,EAAE,WAAW;AACjE,UAAM,KAAK,OAAO,OAAK,EAAE,UAAU,GAAG,EAAE,QAAQ,OAAK;AACnD,YAAM,IAAI,IAAI,EAAE,KAAK;AACrB,YAAM,KAAK,KAAK,QAAQ,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,OAAO,EAAE,QAAQ,EAAE,OAAO,MAAM,GAAG,EAAE,KAAK,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,GAAI;AACrJ,aAAO,KAAK,CAAC,EAAE,IAAI,CAAC;AAAA,IACtB,CAAC;AAAA,EACH;AACA,QAAM,OAAO,IAAI,SAAS,IAAI,MAAM,oBAAoB,IAAI;AAC5D,SAAO;AAAA,IACL,MAAM,CAAC,SAAiB;AAAE,aAAO;AAAM,WAAK;AAAA,IAAG;AAAA,IAC/C,SAAS,MAAM;AAAE,WAAK,QAAQ;AAAG,UAAI,QAAQ,QAAM,QAAQ,YAAY,EAAE,CAAC;AAAA,IAAG;AAAA,EAC/E;AACF;","names":[]}
|