@sealpixel/ui 1.0.0-rc.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.
Files changed (196) hide show
  1. package/LICENSE.md +59 -0
  2. package/README.md +10 -0
  3. package/dist/components/lumbra-button.d.ts +28 -0
  4. package/dist/components/lumbra-button.d.ts.map +1 -0
  5. package/dist/components/lumbra-button.js +87 -0
  6. package/dist/components/lumbra-button.js.map +1 -0
  7. package/dist/components/lumbra-editor.d.ts +226 -0
  8. package/dist/components/lumbra-editor.d.ts.map +1 -0
  9. package/dist/components/lumbra-editor.js +873 -0
  10. package/dist/components/lumbra-editor.js.map +1 -0
  11. package/dist/components/lumbra-nav.d.ts +48 -0
  12. package/dist/components/lumbra-nav.d.ts.map +1 -0
  13. package/dist/components/lumbra-nav.js +159 -0
  14. package/dist/components/lumbra-nav.js.map +1 -0
  15. package/dist/components/lumbra-slider.d.ts +48 -0
  16. package/dist/components/lumbra-slider.d.ts.map +1 -0
  17. package/dist/components/lumbra-slider.js +168 -0
  18. package/dist/components/lumbra-slider.js.map +1 -0
  19. package/dist/components/lumbra-stage.d.ts +92 -0
  20. package/dist/components/lumbra-stage.d.ts.map +1 -0
  21. package/dist/components/lumbra-stage.js +344 -0
  22. package/dist/components/lumbra-stage.js.map +1 -0
  23. package/dist/components/lumbra-toolbar.d.ts +30 -0
  24. package/dist/components/lumbra-toolbar.d.ts.map +1 -0
  25. package/dist/components/lumbra-toolbar.js +127 -0
  26. package/dist/components/lumbra-toolbar.js.map +1 -0
  27. package/dist/components/pincel-button.d.ts +28 -0
  28. package/dist/components/pincel-button.d.ts.map +1 -0
  29. package/dist/components/pincel-button.js +87 -0
  30. package/dist/components/pincel-button.js.map +1 -0
  31. package/dist/components/pincel-editor.d.ts +195 -0
  32. package/dist/components/pincel-editor.d.ts.map +1 -0
  33. package/dist/components/pincel-editor.js +794 -0
  34. package/dist/components/pincel-editor.js.map +1 -0
  35. package/dist/components/pincel-nav.d.ts +33 -0
  36. package/dist/components/pincel-nav.d.ts.map +1 -0
  37. package/dist/components/pincel-nav.js +147 -0
  38. package/dist/components/pincel-nav.js.map +1 -0
  39. package/dist/components/pincel-slider.d.ts +48 -0
  40. package/dist/components/pincel-slider.d.ts.map +1 -0
  41. package/dist/components/pincel-slider.js +168 -0
  42. package/dist/components/pincel-slider.js.map +1 -0
  43. package/dist/components/pincel-stage.d.ts +66 -0
  44. package/dist/components/pincel-stage.d.ts.map +1 -0
  45. package/dist/components/pincel-stage.js +233 -0
  46. package/dist/components/pincel-stage.js.map +1 -0
  47. package/dist/components/pincel-toolbar.d.ts +30 -0
  48. package/dist/components/pincel-toolbar.d.ts.map +1 -0
  49. package/dist/components/pincel-toolbar.js +127 -0
  50. package/dist/components/pincel-toolbar.js.map +1 -0
  51. package/dist/components/sealpixel-button.d.ts +28 -0
  52. package/dist/components/sealpixel-button.d.ts.map +1 -0
  53. package/dist/components/sealpixel-button.js +117 -0
  54. package/dist/components/sealpixel-button.js.map +1 -0
  55. package/dist/components/sealpixel-editor.d.ts +226 -0
  56. package/dist/components/sealpixel-editor.d.ts.map +1 -0
  57. package/dist/components/sealpixel-editor.js +1245 -0
  58. package/dist/components/sealpixel-editor.js.map +1 -0
  59. package/dist/components/sealpixel-nav.d.ts +48 -0
  60. package/dist/components/sealpixel-nav.d.ts.map +1 -0
  61. package/dist/components/sealpixel-nav.js +159 -0
  62. package/dist/components/sealpixel-nav.js.map +1 -0
  63. package/dist/components/sealpixel-slider.d.ts +75 -0
  64. package/dist/components/sealpixel-slider.d.ts.map +1 -0
  65. package/dist/components/sealpixel-slider.js +269 -0
  66. package/dist/components/sealpixel-slider.js.map +1 -0
  67. package/dist/components/sealpixel-stage.d.ts +118 -0
  68. package/dist/components/sealpixel-stage.d.ts.map +1 -0
  69. package/dist/components/sealpixel-stage.js +409 -0
  70. package/dist/components/sealpixel-stage.js.map +1 -0
  71. package/dist/components/sealpixel-stepper.d.ts +69 -0
  72. package/dist/components/sealpixel-stepper.d.ts.map +1 -0
  73. package/dist/components/sealpixel-stepper.js +248 -0
  74. package/dist/components/sealpixel-stepper.js.map +1 -0
  75. package/dist/components/sealpixel-toolbar.d.ts +30 -0
  76. package/dist/components/sealpixel-toolbar.d.ts.map +1 -0
  77. package/dist/components/sealpixel-toolbar.js +149 -0
  78. package/dist/components/sealpixel-toolbar.js.map +1 -0
  79. package/dist/controllers/gesture-controller.d.ts +65 -0
  80. package/dist/controllers/gesture-controller.d.ts.map +1 -0
  81. package/dist/controllers/gesture-controller.js +125 -0
  82. package/dist/controllers/gesture-controller.js.map +1 -0
  83. package/dist/controllers/session-controller.d.ts +15 -0
  84. package/dist/controllers/session-controller.d.ts.map +1 -0
  85. package/dist/controllers/session-controller.js +37 -0
  86. package/dist/controllers/session-controller.js.map +1 -0
  87. package/dist/define.d.ts +21 -0
  88. package/dist/define.d.ts.map +1 -0
  89. package/dist/define.js +27 -0
  90. package/dist/define.js.map +1 -0
  91. package/dist/i18n.d.ts +11 -0
  92. package/dist/i18n.d.ts.map +1 -0
  93. package/dist/i18n.js +27 -0
  94. package/dist/i18n.js.map +1 -0
  95. package/dist/icons.d.ts +32 -0
  96. package/dist/icons.d.ts.map +1 -0
  97. package/dist/icons.js +45 -0
  98. package/dist/icons.js.map +1 -0
  99. package/dist/index.d.ts +18 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +17 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/locales/de.d.ts +3 -0
  104. package/dist/locales/de.d.ts.map +1 -0
  105. package/dist/locales/de.js +132 -0
  106. package/dist/locales/de.js.map +1 -0
  107. package/dist/locales/en.d.ts +3 -0
  108. package/dist/locales/en.d.ts.map +1 -0
  109. package/dist/locales/en.js +132 -0
  110. package/dist/locales/en.js.map +1 -0
  111. package/dist/locales/es.d.ts +3 -0
  112. package/dist/locales/es.d.ts.map +1 -0
  113. package/dist/locales/es.js +132 -0
  114. package/dist/locales/es.js.map +1 -0
  115. package/dist/locales/fr.d.ts +3 -0
  116. package/dist/locales/fr.d.ts.map +1 -0
  117. package/dist/locales/fr.js +132 -0
  118. package/dist/locales/fr.js.map +1 -0
  119. package/dist/locales/index.d.ts +6 -0
  120. package/dist/locales/index.d.ts.map +1 -0
  121. package/dist/locales/index.js +13 -0
  122. package/dist/locales/index.js.map +1 -0
  123. package/dist/locales/ja.d.ts +3 -0
  124. package/dist/locales/ja.d.ts.map +1 -0
  125. package/dist/locales/ja.js +132 -0
  126. package/dist/locales/ja.js.map +1 -0
  127. package/dist/locales/pt.d.ts +3 -0
  128. package/dist/locales/pt.d.ts.map +1 -0
  129. package/dist/locales/pt.js +132 -0
  130. package/dist/locales/pt.js.map +1 -0
  131. package/dist/theme.d.ts +19 -0
  132. package/dist/theme.d.ts.map +1 -0
  133. package/dist/theme.js +150 -0
  134. package/dist/theme.js.map +1 -0
  135. package/dist/tool.d.ts +70 -0
  136. package/dist/tool.d.ts.map +1 -0
  137. package/dist/tool.js +2 -0
  138. package/dist/tool.js.map +1 -0
  139. package/dist/tools/annotate.d.ts +3 -0
  140. package/dist/tools/annotate.d.ts.map +1 -0
  141. package/dist/tools/annotate.js +436 -0
  142. package/dist/tools/annotate.js.map +1 -0
  143. package/dist/tools/crop-mask.d.ts +29 -0
  144. package/dist/tools/crop-mask.d.ts.map +1 -0
  145. package/dist/tools/crop-mask.js +75 -0
  146. package/dist/tools/crop-mask.js.map +1 -0
  147. package/dist/tools/crop.d.ts +11 -0
  148. package/dist/tools/crop.d.ts.map +1 -0
  149. package/dist/tools/crop.js +361 -0
  150. package/dist/tools/crop.js.map +1 -0
  151. package/dist/tools/delete-handle.d.ts +18 -0
  152. package/dist/tools/delete-handle.d.ts.map +1 -0
  153. package/dist/tools/delete-handle.js +61 -0
  154. package/dist/tools/delete-handle.js.map +1 -0
  155. package/dist/tools/filter.d.ts +3 -0
  156. package/dist/tools/filter.d.ts.map +1 -0
  157. package/dist/tools/filter.js +174 -0
  158. package/dist/tools/filter.js.map +1 -0
  159. package/dist/tools/finetune.d.ts +11 -0
  160. package/dist/tools/finetune.d.ts.map +1 -0
  161. package/dist/tools/finetune.js +98 -0
  162. package/dist/tools/finetune.js.map +1 -0
  163. package/dist/tools/frame.d.ts +3 -0
  164. package/dist/tools/frame.d.ts.map +1 -0
  165. package/dist/tools/frame.js +57 -0
  166. package/dist/tools/frame.js.map +1 -0
  167. package/dist/tools/index.d.ts +14 -0
  168. package/dist/tools/index.d.ts.map +1 -0
  169. package/dist/tools/index.js +41 -0
  170. package/dist/tools/index.js.map +1 -0
  171. package/dist/tools/redact.d.ts +3 -0
  172. package/dist/tools/redact.d.ts.map +1 -0
  173. package/dist/tools/redact.js +252 -0
  174. package/dist/tools/redact.js.map +1 -0
  175. package/dist/tools/resize.d.ts +3 -0
  176. package/dist/tools/resize.d.ts.map +1 -0
  177. package/dist/tools/resize.js +91 -0
  178. package/dist/tools/resize.js.map +1 -0
  179. package/dist/tools/sticker.d.ts +8 -0
  180. package/dist/tools/sticker.d.ts.map +1 -0
  181. package/dist/tools/sticker.js +156 -0
  182. package/dist/tools/sticker.js.map +1 -0
  183. package/dist/tools/watermark.d.ts +3 -0
  184. package/dist/tools/watermark.d.ts.map +1 -0
  185. package/dist/tools/watermark.js +102 -0
  186. package/dist/tools/watermark.js.map +1 -0
  187. package/dist/view-mapping.d.ts +23 -0
  188. package/dist/view-mapping.d.ts.map +1 -0
  189. package/dist/view-mapping.js +72 -0
  190. package/dist/view-mapping.js.map +1 -0
  191. package/package.json +55 -0
  192. package/themes/default.css +23 -0
  193. package/themes/high-contrast.css +30 -0
  194. package/themes/minimal.css +32 -0
  195. package/themes/nocturne.css +21 -0
  196. package/themes/studio.css +23 -0
@@ -0,0 +1,226 @@
1
+ import { type AnyPlugin, type AssetResolver, type EditorSession, type ExportResult, type OutputOptions, type PluginOptionsMap, type Renderer, type SessionOptions } from '@sealpixel/core';
2
+ import { LitElement, type TemplateResult } from 'lit';
3
+ import { type Dictionary } from '../i18n.js';
4
+ import type { UiTool } from '../tool.js';
5
+ export type EditorSource = File | Blob | Uint8Array | string;
6
+ /**
7
+ * The default editor. Headless `EditorSession` underneath; this element adds
8
+ * the responsive shell, tools and events.
9
+ *
10
+ * Events: `sealpixel:ready`, `sealpixel:load`, `sealpixel:change` ({ log, index }),
11
+ * `sealpixel:process` (ExportResult), `sealpixel:error` (SealpixelError).
12
+ */
13
+ export declare class SealpixelEditor extends LitElement {
14
+ static styles: import("lit").CSSResult[];
15
+ static properties: {
16
+ plugins: {
17
+ attribute: boolean;
18
+ };
19
+ pluginOptions: {
20
+ attribute: string;
21
+ converter: {
22
+ fromAttribute: (value: string | null) => Readonly<Record<string, unknown>> | null;
23
+ toAttribute: (value: PluginOptionsMap | null) => string | null;
24
+ };
25
+ };
26
+ session: {
27
+ attribute: boolean;
28
+ };
29
+ renderer: {
30
+ attribute: boolean;
31
+ };
32
+ assets: {
33
+ attribute: boolean;
34
+ };
35
+ server: {
36
+ attribute: boolean;
37
+ };
38
+ serverEndpoint: {
39
+ type: StringConstructor;
40
+ attribute: string;
41
+ };
42
+ src: {
43
+ attribute: boolean;
44
+ };
45
+ editLog: {
46
+ attribute: boolean;
47
+ };
48
+ defaultEditLog: {
49
+ attribute: boolean;
50
+ };
51
+ output: {
52
+ attribute: boolean;
53
+ };
54
+ theme: {
55
+ type: StringConstructor;
56
+ reflect: boolean;
57
+ };
58
+ locale: {
59
+ type: StringConstructor;
60
+ };
61
+ dictionary: {
62
+ attribute: boolean;
63
+ };
64
+ tools: {
65
+ attribute: boolean;
66
+ };
67
+ activeTool: {
68
+ type: StringConstructor;
69
+ attribute: string;
70
+ };
71
+ showExport: {
72
+ type: StringConstructor;
73
+ attribute: string;
74
+ };
75
+ showDownload: {
76
+ type: StringConstructor;
77
+ attribute: string;
78
+ };
79
+ showHistory: {
80
+ type: StringConstructor;
81
+ attribute: string;
82
+ };
83
+ downloadLabel: {
84
+ type: StringConstructor;
85
+ attribute: string;
86
+ };
87
+ _busy: {
88
+ state: boolean;
89
+ };
90
+ _processListeners: {
91
+ state: boolean;
92
+ };
93
+ _toast: {
94
+ state: boolean;
95
+ };
96
+ _dragover: {
97
+ state: boolean;
98
+ };
99
+ _wide: {
100
+ state: boolean;
101
+ };
102
+ _pluginTools: {
103
+ state: boolean;
104
+ };
105
+ };
106
+ plugins: readonly AnyPlugin[] | null;
107
+ /** `{ pluginId: partialOptions }` applied to `plugins` (or the defaults) through each plugin's `configure()`. */
108
+ pluginOptions: PluginOptionsMap | null;
109
+ session: EditorSession | null;
110
+ renderer: Renderer | null;
111
+ /** Fonts and images. Defaults to a fetch resolver over the plugins' declarations. */
112
+ assets: AssetResolver | null;
113
+ /** Server rendering configuration; `server-endpoint` is the attribute shorthand. */
114
+ server: SessionOptions['server'] | null;
115
+ serverEndpoint: string | null;
116
+ src: EditorSource | null;
117
+ /** Controlled mode: the host owns the log. */
118
+ editLog: unknown;
119
+ /** Uncontrolled: applied once on load. */
120
+ defaultEditLog: unknown;
121
+ output: OutputOptions;
122
+ theme: 'dark' | 'light' | 'auto';
123
+ locale: string;
124
+ /** Overrides the shipped dictionary for `locale`; shipped locales resolve automatically. */
125
+ dictionary: Dictionary | null;
126
+ tools: Record<string, UiTool> | null;
127
+ activeTool: string | null;
128
+ /**
129
+ * When the Export button is shown. `auto` (default) shows it only while a
130
+ * `sealpixel:process` listener is attached, because Export hands the result to
131
+ * the host and does nothing visible otherwise. Download is always shown.
132
+ */
133
+ showExport: 'auto' | 'always' | 'never';
134
+ /** `always` (default) or `never`. Hosts that only consume `sealpixel:process` hide the button. */
135
+ showDownload: 'always' | 'never';
136
+ /** `all` (default), `buttons` (undo and redo, no timeline) or `none` (also disables the undo/redo shortcuts). */
137
+ showHistory: 'all' | 'buttons' | 'none';
138
+ /** Custom text for the Download button; the localized label when null. */
139
+ downloadLabel: string | null;
140
+ _busy: boolean;
141
+ _processListeners: number;
142
+ _toast: {
143
+ text: string;
144
+ hash: string;
145
+ } | null;
146
+ _dragover: boolean;
147
+ _wide: boolean;
148
+ /** Tools loaded from `plugin.tool()`, keyed by plugin id. */
149
+ _pluginTools: Record<string, UiTool>;
150
+ private resizeObserver;
151
+ private toolLoads;
152
+ /**
153
+ * Used when no `renderer` property is set. `@sealpixel/element` installs a
154
+ * factory that starts the bundled worker; without it the editor renders inline.
155
+ */
156
+ static defaultRendererFactory: ((plugins: readonly AnyPlugin[]) => Renderer) | null;
157
+ private readonly ctl;
158
+ private i18n;
159
+ private ownsSession;
160
+ private lastEmittedVersion;
161
+ private lastAppliedControlled;
162
+ private hint;
163
+ private previousTool;
164
+ private loadedSrc;
165
+ constructor();
166
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
167
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
168
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
169
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
170
+ /** A renderer the editor made through the factory dies with the session; a host's renderer lives on. */
171
+ private disposeOwnedRenderer;
172
+ /** `plugins` (or the defaults) with `pluginOptions` applied. Invalid options raise `sealpixel:error`. */
173
+ private effectivePlugins;
174
+ /** The live session, created on first connection when none was passed. */
175
+ getSession(): EditorSession;
176
+ getEditLog(): {
177
+ log: import("@sealpixel/core").EditLog;
178
+ index: number;
179
+ };
180
+ setEditLog(saved: unknown, index?: number): void;
181
+ undo(): void;
182
+ redo(): void;
183
+ timeTravel(index: number): void;
184
+ export(output?: OutputOptions, options?: {
185
+ embedEditLog?: boolean;
186
+ }): Promise<ExportResult>;
187
+ download(options?: {
188
+ output?: OutputOptions;
189
+ filename?: string;
190
+ embedEditLog?: boolean;
191
+ }): Promise<{
192
+ filename: string;
193
+ result: ExportResult | import("@sealpixel/core").ServerRenderResult;
194
+ }>;
195
+ private ensureSession;
196
+ connectedCallback(): void;
197
+ disconnectedCallback(): void;
198
+ willUpdate(changed: Map<string, unknown>): void;
199
+ updated(): void;
200
+ private lastError;
201
+ private loadSource;
202
+ private applyControlled;
203
+ /** Whether the owned session was built from the current `plugins` and `renderer`. */
204
+ private sessionMatchesProps;
205
+ private sessionRenderer;
206
+ private sessionAssets;
207
+ private sessionServer;
208
+ private currentTools;
209
+ /** Plugins may ship their own tool; load each once and re-render when it arrives. */
210
+ private loadPluginTools;
211
+ private get stage();
212
+ private toolContext;
213
+ private syncActiveTool;
214
+ private onPointerDown;
215
+ private onKeydown;
216
+ private onExport;
217
+ private onDownload;
218
+ private announce;
219
+ private toastTimer;
220
+ /** Brief confirmation over the stage: format, size and hash of the result. */
221
+ private toast;
222
+ private onFiles;
223
+ render(): TemplateResult<1>;
224
+ private renderEmpty;
225
+ }
226
+ //# sourceMappingURL=sealpixel-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealpixel-editor.d.ts","sourceRoot":"","sources":["../../src/components/sealpixel-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAKlB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAEb,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAa,UAAU,EAAW,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1E,OAAO,EAAc,KAAK,UAAU,EAAa,MAAM,YAAY,CAAC;AAGpE,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAC;AAIxD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;AAgB7D;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAsoBpB;IAEF,OAAgB,UAAU;;;;;;;uCA5pBH,MAAM,GAAG,IAAI;qCASf,gBAAgB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8qB1C;IAEM,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAC;IAC7C,iHAAiH;IACzG,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,qFAAqF;IAC7E,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,oFAAoF;IAC5E,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,8CAA8C;IACtC,OAAO,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACvB,4FAA4F;IACpF,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACK,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,kGAAkG;IAC1F,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzC,iHAAiH;IACzG,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,0EAA0E;IAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACvB,6DAA6D;IACrD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAAqB;IAEtC;;;OAGG;IACH,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAQ;IAE3F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,IAAI,CAAwD;IACpE,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,SAAS,CAA6B;;IAkCrC,gBAAgB,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAC3D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,OAAO,EACpE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IACE,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IAUE,mBAAmB,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAC9D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,OAAO,EACpE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;IACE,mBAAmB,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;IAUP,wGAAwG;IACxG,OAAO,CAAC,oBAAoB;IAO5B,yGAAyG;IACzG,OAAO,CAAC,gBAAgB;IAaxB,0EAA0E;IAC1E,UAAU,IAAI,aAAa;IAI3B,UAAU;;;;IAGV,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM;IAGzC,IAAI;IAGJ,IAAI;IAGJ,UAAU,CAAC,KAAK,EAAE,MAAM;IAGlB,MAAM,CAAC,MAAM,GAAE,aAA2B,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO;IAGpF,QAAQ,CACZ,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO;;;;IAKrF,OAAO,CAAC,aAAa;IAyBZ,iBAAiB,IAAI,IAAI;IAezB,oBAAoB,IAAI,IAAI;IAa5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAwC/C,OAAO,IAAI,IAAI;IAoBxB,OAAO,CAAC,SAAS,CAAiB;YAEpB,UAAU;IA6BxB,OAAO,CAAC,eAAe;IAiBvB,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAyC;IAE9D,OAAO,CAAC,YAAY;IAMpB,qFAAqF;IACrF,OAAO,CAAC,eAAe;IAiBvB,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,WAAW;IAgDnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,SAAS,CAaf;YAEY,QAAQ;YAkBR,UAAU;IAkBxB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU,CAA8C;IAEhE,8EAA8E;IAC9E,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,OAAO;IAKN,MAAM;IAmEf,OAAO,CAAC,WAAW;CA6BpB"}