syntaqlite 0.0.19

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.
@@ -0,0 +1,28 @@
1
+ import type { DialectBinding } from "./types";
2
+ import type { Engine } from "./engine";
3
+ export interface DialectPreset {
4
+ id: string;
5
+ label: string;
6
+ wasmUrl: string;
7
+ symbol: string;
8
+ }
9
+ export declare const BUILTIN_PRESETS: DialectPreset[];
10
+ export interface DialectManagerConfig {
11
+ presets?: DialectPreset[];
12
+ onDialectChanged?: () => void;
13
+ }
14
+ export declare class DialectManager {
15
+ activePresetId: string;
16
+ active: DialectBinding | undefined;
17
+ customLabel: string | undefined;
18
+ private presets;
19
+ private onDialectChanged;
20
+ private cache;
21
+ constructor(config?: DialectManagerConfig);
22
+ getPresets(): readonly DialectPreset[];
23
+ loadDefault(engine: Engine): Promise<void>;
24
+ selectPreset(engine: Engine, preset: DialectPreset): Promise<void>;
25
+ loadFromFile(engine: Engine, file: File, symbol: string): Promise<string | undefined>;
26
+ private loadCached;
27
+ }
28
+ //# sourceMappingURL=dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EAG1C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,GAAG,SAAS,CAAa;IAC/C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,KAAK,CAAqC;gBAEtC,MAAM,GAAE,oBAAyB;IAM7C,UAAU,IAAI,SAAS,aAAa,EAAE;IAIhC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAqB7E,UAAU;CAazB"}
@@ -0,0 +1,73 @@
1
+ // Copyright 2025 The syntaqlite Authors. All rights reserved.
2
+ // Licensed under the Apache License, Version 2.0.
3
+ export const BUILTIN_PRESETS = [
4
+ // SQLite is a side module; the runtime loads it via loadDynamicLibrary.
5
+ { id: "sqlite", label: "SQLite", wasmUrl: "syntaqlite-sqlite.wasm", symbol: "syntaqlite_sqlite_dialect" },
6
+ ];
7
+ export class DialectManager {
8
+ constructor(config = {}) {
9
+ this.active = undefined;
10
+ this.customLabel = undefined;
11
+ this.cache = new Map();
12
+ this.presets = config.presets ?? BUILTIN_PRESETS;
13
+ this.onDialectChanged = config.onDialectChanged;
14
+ this.activePresetId = this.presets[0]?.id ?? "";
15
+ }
16
+ getPresets() {
17
+ return this.presets;
18
+ }
19
+ async loadDefault(engine) {
20
+ await this.selectPreset(engine, this.presets[0]);
21
+ }
22
+ async selectPreset(engine, preset) {
23
+ if (!engine.ready) {
24
+ engine.updateStatus("Runtime is not initialized yet.", true);
25
+ this.onDialectChanged?.();
26
+ return;
27
+ }
28
+ try {
29
+ const binding = await this.loadCached(engine, preset.wasmUrl, preset.symbol, preset.label);
30
+ engine.setDialectPointer(binding.ptr);
31
+ this.active = binding;
32
+ this.activePresetId = preset.id;
33
+ this.customLabel = undefined;
34
+ engine.updateStatus(`Dialect: ${preset.label}`);
35
+ }
36
+ catch (err) {
37
+ engine.updateStatus(`Failed to load ${preset.label}: ${err.message}`, true);
38
+ }
39
+ this.onDialectChanged?.();
40
+ }
41
+ async loadFromFile(engine, file, symbol) {
42
+ if (!engine.ready) {
43
+ return "Runtime is not initialized yet.";
44
+ }
45
+ const url = URL.createObjectURL(file);
46
+ try {
47
+ const binding = await engine.loadDialectFromUrl(url, symbol);
48
+ binding.label = file.name;
49
+ engine.setDialectPointer(binding.ptr);
50
+ this.active = binding;
51
+ this.activePresetId = "custom";
52
+ this.customLabel = file.name;
53
+ engine.updateStatus(`Dialect: ${file.name}`);
54
+ return undefined;
55
+ }
56
+ catch (err) {
57
+ return err.message;
58
+ }
59
+ finally {
60
+ URL.revokeObjectURL(url);
61
+ }
62
+ }
63
+ async loadCached(engine, wasm, symbol, label) {
64
+ const cached = this.cache.get(symbol);
65
+ if (cached)
66
+ return cached;
67
+ const binding = await engine.loadDialectFromUrl(wasm, symbol);
68
+ binding.label = label;
69
+ this.cache.set(symbol, binding);
70
+ return binding;
71
+ }
72
+ }
73
+ //# sourceMappingURL=dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { CflagEntry, Engine } from "./engine";
2
+ export declare const VERSION_OPTIONS: readonly ["latest", "3.47.0", "3.46.0", "3.45.0", "3.41.0", "3.39.0", "3.38.0", "3.35.0", "3.31.0", "3.30.0", "3.28.0", "3.25.0", "3.24.0", "3.23.0"];
3
+ /** Parse a dotted version string to the SQLite integer encoding. */
4
+ export declare function versionToInt(version: string): number;
5
+ /**
6
+ * Manages compile-flag metadata and applies dialect config to the engine.
7
+ *
8
+ * Serializable state (version, enabled cflags) lives in PlaygroundState /
9
+ * UrlStateManager — this class holds only non-serializable engine metadata.
10
+ */
11
+ export declare class DialectConfigManager {
12
+ availableCflags: CflagEntry[];
13
+ loadAvailableCflags(engine: Engine): void;
14
+ /** Return cflag entries whose minVersion <= the given version. */
15
+ visibleCflagEntries(version: string): CflagEntry[];
16
+ /** Return cflag names whose minVersion <= the given version. */
17
+ visibleCflags(version: string): string[];
18
+ apply(engine: Engine, version: string, cflags: string[]): void;
19
+ }
20
+ //# sourceMappingURL=dialect_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect_config.d.ts","sourceRoot":"","sources":["../src/dialect_config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,eAAe,uJAelB,CAAC;AAEX,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,eAAe,EAAE,UAAU,EAAE,CAAM;IAEnC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,kEAAkE;IAClE,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAOlD,gEAAgE;IAChE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;CAU/D"}
@@ -0,0 +1,62 @@
1
+ // Copyright 2025 The syntaqlite Authors. All rights reserved.
2
+ // Licensed under the Apache License, Version 2.0.
3
+ export const VERSION_OPTIONS = [
4
+ "latest",
5
+ "3.47.0",
6
+ "3.46.0",
7
+ "3.45.0",
8
+ "3.41.0",
9
+ "3.39.0",
10
+ "3.38.0",
11
+ "3.35.0",
12
+ "3.31.0",
13
+ "3.30.0",
14
+ "3.28.0",
15
+ "3.25.0",
16
+ "3.24.0",
17
+ "3.23.0",
18
+ ];
19
+ /** Parse a dotted version string to the SQLite integer encoding. */
20
+ export function versionToInt(version) {
21
+ if (version === "latest")
22
+ return 0x7fffffff;
23
+ const parts = version.split(".");
24
+ if (parts.length !== 3)
25
+ return 0x7fffffff;
26
+ const [major, minor, patch] = parts.map(Number);
27
+ return major * 1000000 + minor * 1000 + patch;
28
+ }
29
+ /**
30
+ * Manages compile-flag metadata and applies dialect config to the engine.
31
+ *
32
+ * Serializable state (version, enabled cflags) lives in PlaygroundState /
33
+ * UrlStateManager — this class holds only non-serializable engine metadata.
34
+ */
35
+ export class DialectConfigManager {
36
+ constructor() {
37
+ this.availableCflags = [];
38
+ }
39
+ loadAvailableCflags(engine) {
40
+ this.availableCflags = engine.getCflagList();
41
+ }
42
+ /** Return cflag entries whose minVersion <= the given version. */
43
+ visibleCflagEntries(version) {
44
+ const ver = versionToInt(version);
45
+ return this.availableCflags.filter((e) => e.minVersion === 0 || e.minVersion <= ver);
46
+ }
47
+ /** Return cflag names whose minVersion <= the given version. */
48
+ visibleCflags(version) {
49
+ return this.visibleCflagEntries(version).map((e) => e.name);
50
+ }
51
+ apply(engine, version, cflags) {
52
+ engine.setSqliteVersion(version);
53
+ engine.clearAllCflags();
54
+ const visible = new Set(this.visibleCflags(version));
55
+ for (const suffix of cflags) {
56
+ if (visible.has(suffix)) {
57
+ engine.setCflag(suffix);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=dialect_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect_config.js","sourceRoot":"","sources":["../src/dialect_config.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAIlD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAEX,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,KAAK,GAAG,OAAS,GAAG,KAAK,GAAG,IAAK,GAAG,KAAK,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAAjC;QACE,oBAAe,GAAiB,EAAE,CAAC;IA6BrC,CAAC;IA3BC,mBAAmB,CAAC,MAAc;QAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAC/C,CAAC;IAED,kEAAkE;IAClE,mBAAmB,CAAC,OAAe;QACjC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,CACjD,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,MAAgB;QACrD,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,93 @@
1
+ import type { AstResult, CompletionsResult, DiagnosticsResult, DialectBinding, EmbeddedExtractResult, EmbeddedLanguage, FormatOptions, FormatResult } from "./types";
2
+ export interface CflagEntry {
3
+ name: string;
4
+ minVersion: number;
5
+ category: string;
6
+ }
7
+ export interface EngineConfig {
8
+ runtimeJsPath?: string;
9
+ runtimeWasmPath?: string;
10
+ }
11
+ export declare class Engine {
12
+ status: string;
13
+ statusError: boolean;
14
+ private config;
15
+ private module;
16
+ private encoder;
17
+ private decoder;
18
+ private setDialectRaw;
19
+ private clearDialectRaw;
20
+ private allocRaw;
21
+ private freeRaw;
22
+ private astRaw;
23
+ private astJsonRaw;
24
+ private fmtRaw;
25
+ private diagnosticsRaw;
26
+ private semanticTokensRaw;
27
+ private completionsRaw;
28
+ private resultPtrRaw;
29
+ private resultLenRaw;
30
+ private resultFreeRaw;
31
+ private setSqliteVersionRaw;
32
+ private setCflagRaw;
33
+ private clearCflagRaw;
34
+ private clearAllCflagsRaw;
35
+ private getCflagListRaw;
36
+ private setSessionContextRaw;
37
+ private clearSessionContextRaw;
38
+ private setSessionContextDdlRaw;
39
+ private setLanguageModeRaw;
40
+ private extractRaw;
41
+ private currentLangMode;
42
+ /** Last session context applied, so it can be re-applied after dialect switches. */
43
+ private sessionContext;
44
+ constructor(config?: EngineConfig);
45
+ get ready(): boolean;
46
+ updateStatus(text: string, isError?: boolean): void;
47
+ load(): Promise<void>;
48
+ private resolveRuntimeFn;
49
+ /** Like resolveRuntimeFn but returns undefined if not found. */
50
+ private tryResolveRuntimeFn;
51
+ private resolveDialectFn;
52
+ private heapU8;
53
+ loadDialectFromUrl(url: string, symbol: string): Promise<DialectBinding>;
54
+ private withInput;
55
+ private readAndClearResult;
56
+ setDialectPointer(ptr: number): void;
57
+ private reapplySessionContext;
58
+ clearDialectPointer(): void;
59
+ runAst(sql: string): FormatResult;
60
+ runAstJson(sql: string): AstResult;
61
+ runFmt(sql: string, opts: FormatOptions): FormatResult;
62
+ /** Run semantic token analysis over a byte range. Returns a pre-encoded
63
+ * Uint32Array (5 u32s per token: deltaLine, deltaStartChar, length,
64
+ * legendIndex, 0) ready for Monaco, or undefined on failure.
65
+ * Pass rangeStart=0 and rangeEnd=0xFFFFFFFF for the full document. */
66
+ runSemanticTokens(sql: string, rangeStart?: number, rangeEnd?: number, version?: number): Uint32Array | undefined;
67
+ runDiagnostics(sql: string, version?: number): DiagnosticsResult;
68
+ runCompletions(sql: string, offset: number, version?: number): CompletionsResult;
69
+ /** Set the active language mode. Must be called before running diagnostics or semantic
70
+ * tokens so the WASM can dispatch to the correct implementation automatically.
71
+ * @experimental Embedded language support is experimental and may change. */
72
+ setLanguageMode(lang: "sql" | EmbeddedLanguage): void;
73
+ /** Extract SQL fragments from `source`. Returns empty in SQL mode (O(1) fast path).
74
+ * In embedded mode the WASM extractor runs based on the language set by setLanguageMode.
75
+ * @experimental Embedded language support is experimental and may change. */
76
+ runExtract(source: string): EmbeddedExtractResult;
77
+ setSqliteVersion(version: string): void;
78
+ setCflag(name: string): void;
79
+ clearCflag(name: string): void;
80
+ clearAllCflags(): void;
81
+ getCflagList(): CflagEntry[];
82
+ setSessionContext(json: string): void;
83
+ clearSessionContext(): void;
84
+ setSessionContextDdl(sql: string): {
85
+ ok: true;
86
+ } | {
87
+ ok: false;
88
+ error: string;
89
+ };
90
+ private applySessionContextJson;
91
+ private applySessionContextDdl;
92
+ }
93
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EAET,iBAAiB,EAEjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EAErB,gBAAgB,EAGhB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,qBAAa,MAAM;IACjB,MAAM,SAAgB;IACtB,WAAW,UAAS;IAEpB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,oBAAoB,CAAiC;IAC7D,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,eAAe,CAAmC;IAC1D,oFAAoF;IACpF,OAAO,CAAC,cAAc,CAA0E;gBAEpF,MAAM,GAAE,YAAiB;IAIrC,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,IAAI;IAK3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,OAAO,CAAC,gBAAgB;IAQxB,gEAAgE;IAChE,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,MAAM;IAMR,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B9E,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,kBAAkB;IAQ1B,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYpC,OAAO,CAAC,qBAAqB;IAS7B,mBAAmB,IAAI,IAAI;IAM3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAOjC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAalC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,YAAY;IAQtD;;;2EAGuE;IACvE,iBAAiB,CACf,GAAG,EAAE,MAAM,EACX,UAAU,SAAI,EACd,QAAQ,SAAa,EACrB,OAAO,SAAI,GACV,WAAW,GAAG,SAAS;IAsB1B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,iBAAiB;IAe3D,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,iBAAiB;IAgB3E;;kFAE8E;IAC9E,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,gBAAgB,GAAG,IAAI;IAOrD;;kFAE8E;IAC9E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAgBjD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B,cAAc,IAAI,IAAI;IAKtB,YAAY,IAAI,UAAU,EAAE;IAY5B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKrC,mBAAmB,IAAI,IAAI;IAM3B,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,IAAI,CAAA;KAAC,GAAG;QAAC,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;IAM1E,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,sBAAsB;CAO/B"}