lexgui 8.1.0 → 8.1.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.
Files changed (43) hide show
  1. package/build/components/AlertDialog.d.ts +7 -7
  2. package/build/components/Counter.d.ts +9 -9
  3. package/build/components/Dialog.d.ts +20 -20
  4. package/build/components/Footer.d.ts +14 -14
  5. package/build/components/Menubar.d.ts +59 -59
  6. package/build/core/Area.d.ts +143 -143
  7. package/build/core/Namespace.js +1 -1
  8. package/build/core/Namespace.js.map +1 -1
  9. package/build/core/Panel.d.ts +538 -538
  10. package/build/extensions/AssetView.d.ts +1 -1
  11. package/build/extensions/AssetView.js +2 -2
  12. package/build/extensions/AssetView.js.map +1 -1
  13. package/build/extensions/Audio.js +163 -163
  14. package/build/extensions/CodeEditor.js +5022 -5022
  15. package/build/extensions/DocMaker.d.ts +27 -27
  16. package/build/extensions/DocMaker.js +327 -327
  17. package/build/extensions/GraphEditor.js +2760 -2760
  18. package/build/extensions/ImUi.js +227 -227
  19. package/build/extensions/Timeline.d.ts +670 -670
  20. package/build/extensions/Timeline.js +3955 -3955
  21. package/build/extensions/VideoEditor.js +898 -898
  22. package/build/extensions/index.d.ts +8 -8
  23. package/build/extensions/index.js +10 -10
  24. package/build/index.all.d.ts +2 -2
  25. package/build/index.css.d.ts +4 -4
  26. package/build/index.d.ts +56 -56
  27. package/build/lexgui.all.js +4 -4
  28. package/build/lexgui.all.js.map +1 -1
  29. package/build/lexgui.all.min.js +1 -1
  30. package/build/lexgui.all.module.js +4 -4
  31. package/build/lexgui.all.module.js.map +1 -1
  32. package/build/lexgui.all.module.min.js +1 -1
  33. package/build/lexgui.css +2 -2
  34. package/build/lexgui.js +2 -2
  35. package/build/lexgui.js.map +1 -1
  36. package/build/lexgui.min.css +2 -2
  37. package/build/lexgui.min.js +1 -1
  38. package/build/lexgui.module.js +2 -2
  39. package/build/lexgui.module.js.map +1 -1
  40. package/build/lexgui.module.min.js +1 -1
  41. package/changelog.md +6 -1
  42. package/examples/asset-view.html +48 -2
  43. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import { Dialog } from './Dialog';
2
- /**
3
- * @class AlertDialog
4
- */
5
- export declare class AlertDialog extends Dialog {
6
- constructor(title: string, message: string, callback: any, options?: any);
7
- }
1
+ import { Dialog } from './Dialog';
2
+ /**
3
+ * @class AlertDialog
4
+ */
5
+ export declare class AlertDialog extends Dialog {
6
+ constructor(title: string, message: string, callback: any, options?: any);
7
+ }
@@ -1,9 +1,9 @@
1
- import { BaseComponent } from './BaseComponent';
2
- /**
3
- * @class Counter
4
- * @description Counter Component
5
- */
6
- export declare class Counter extends BaseComponent {
7
- count: number;
8
- constructor(name: string, value: number, callback: any, options?: any);
9
- }
1
+ import { BaseComponent } from './BaseComponent';
2
+ /**
3
+ * @class Counter
4
+ * @description Counter Component
5
+ */
6
+ export declare class Counter extends BaseComponent {
7
+ count: number;
8
+ constructor(name: string, value: number, callback: any, options?: any);
9
+ }
@@ -1,20 +1,20 @@
1
- import { Panel } from '../core/Panel';
2
- /**
3
- * @class Dialog
4
- */
5
- export declare class Dialog {
6
- static _last_id: number;
7
- id: string;
8
- root: HTMLDialogElement;
9
- panel: Panel;
10
- title: HTMLDivElement;
11
- size: any[];
12
- branchData: any;
13
- close: () => void;
14
- _oncreate: any;
15
- constructor(title?: string, callback?: any, options?: any);
16
- destroy(): void;
17
- refresh(): void;
18
- setPosition(x: number, y: number): void;
19
- setTitle(title: string): void;
20
- }
1
+ import { Panel } from '../core/Panel';
2
+ /**
3
+ * @class Dialog
4
+ */
5
+ export declare class Dialog {
6
+ static _last_id: number;
7
+ id: string;
8
+ root: HTMLDialogElement;
9
+ panel: Panel;
10
+ title: HTMLDivElement;
11
+ size: any[];
12
+ branchData: any;
13
+ close: () => void;
14
+ _oncreate: any;
15
+ constructor(title?: string, callback?: any, options?: any);
16
+ destroy(): void;
17
+ refresh(): void;
18
+ setPosition(x: number, y: number): void;
19
+ setTitle(title: string): void;
20
+ }
@@ -1,14 +1,14 @@
1
- /**
2
- * @class Footer
3
- */
4
- export declare class Footer {
5
- /**
6
- * @param {Object} options:
7
- * columns: Array with data per column { title, items: [ { title, link } ] }
8
- * credits: html string
9
- * socials: Array with data per item { title, link, icon }
10
- * className: Extra class to customize
11
- */
12
- root: any;
13
- constructor(options?: any);
14
- }
1
+ /**
2
+ * @class Footer
3
+ */
4
+ export declare class Footer {
5
+ /**
6
+ * @param {Object} options:
7
+ * columns: Array with data per column { title, items: [ { title, link } ] }
8
+ * credits: html string
9
+ * socials: Array with data per item { title, link, icon }
10
+ * className: Extra class to customize
11
+ */
12
+ root: any;
13
+ constructor(options?: any);
14
+ }
@@ -1,59 +1,59 @@
1
- /**
2
- * @class Menubar
3
- */
4
- export declare class Menubar {
5
- root: any;
6
- siblingArea: any;
7
- buttonContainer?: any;
8
- items: any[];
9
- buttons: Record<string, any>;
10
- icons: any;
11
- shorts: any;
12
- focused: boolean;
13
- _currentDropdown?: any;
14
- constructor(items: any[], options?: any);
15
- _resetMenubar(focus?: boolean): void;
16
- /**
17
- * @method createEntries
18
- */
19
- createEntries(): void;
20
- /**
21
- * @method getButton
22
- * @param {String} name
23
- */
24
- getButton(name: string): any;
25
- /**
26
- * @method getSubitems
27
- * @param {Object} item: parent item
28
- * @param {Array} tokens: split path strings
29
- */
30
- getSubitem(item: any, tokens: any[]): any;
31
- /**
32
- * @method getItem
33
- * @param {String} path
34
- */
35
- getItem(path: string): any;
36
- /**
37
- * @method setButtonIcon
38
- * @param {String} name
39
- * @param {String} icon
40
- * @param {Function} callback
41
- * @param {Object} options
42
- */
43
- setButtonIcon(name: string, icon: string, callback: any, options?: any): void;
44
- /**
45
- * @method setButtonImage
46
- * @param {String} name
47
- * @param {String} src
48
- * @param {Function} callback
49
- * @param {Object} options
50
- */
51
- setButtonImage(name: string, src: string, callback: any, options?: any): void;
52
- /**
53
- * @method addButton
54
- * @param {Array} buttons
55
- * @param {Object} options
56
- * float: center (Default), right
57
- */
58
- addButtons(buttons: any[], options?: any): void;
59
- }
1
+ /**
2
+ * @class Menubar
3
+ */
4
+ export declare class Menubar {
5
+ root: any;
6
+ siblingArea: any;
7
+ buttonContainer?: any;
8
+ items: any[];
9
+ buttons: Record<string, any>;
10
+ icons: any;
11
+ shorts: any;
12
+ focused: boolean;
13
+ _currentDropdown?: any;
14
+ constructor(items: any[], options?: any);
15
+ _resetMenubar(focus?: boolean): void;
16
+ /**
17
+ * @method createEntries
18
+ */
19
+ createEntries(): void;
20
+ /**
21
+ * @method getButton
22
+ * @param {String} name
23
+ */
24
+ getButton(name: string): any;
25
+ /**
26
+ * @method getSubitems
27
+ * @param {Object} item: parent item
28
+ * @param {Array} tokens: split path strings
29
+ */
30
+ getSubitem(item: any, tokens: any[]): any;
31
+ /**
32
+ * @method getItem
33
+ * @param {String} path
34
+ */
35
+ getItem(path: string): any;
36
+ /**
37
+ * @method setButtonIcon
38
+ * @param {String} name
39
+ * @param {String} icon
40
+ * @param {Function} callback
41
+ * @param {Object} options
42
+ */
43
+ setButtonIcon(name: string, icon: string, callback: any, options?: any): void;
44
+ /**
45
+ * @method setButtonImage
46
+ * @param {String} name
47
+ * @param {String} src
48
+ * @param {Function} callback
49
+ * @param {Object} options
50
+ */
51
+ setButtonImage(name: string, src: string, callback: any, options?: any): void;
52
+ /**
53
+ * @method addButton
54
+ * @param {Array} buttons
55
+ * @param {Object} options
56
+ * float: center (Default), right
57
+ */
58
+ addButtons(buttons: any[], options?: any): void;
59
+ }
@@ -1,143 +1,143 @@
1
- import { Menubar } from '../components/Menubar';
2
- import { Tabs } from '../components/Tabs';
3
- import { Panel } from './Panel';
4
- export declare class AreaOverlayButtons {
5
- area: Area;
6
- options: any;
7
- buttons: any;
8
- constructor(area: Area, buttonsArray: any[], options?: {});
9
- _buildButtons(buttonsArray: any[], options?: any): void;
10
- }
11
- export declare class Area {
12
- /**
13
- * @constructor Area
14
- * @param {Object} options
15
- * id: Id of the element
16
- * className: Add class to the element
17
- * width: Width of the area element [fit space]
18
- * height: Height of the area element [fit space]
19
- * skipAppend: Create but not append to GUI root [false]
20
- * minWidth: Minimum width to be applied when resizing
21
- * minHeight: Minimum height to be applied when resizing
22
- * maxWidth: Maximum width to be applied when resizing
23
- * maxHeight: Maximum height to be applied when resizing
24
- * layout: Layout to automatically split the area
25
- */
26
- offset: number;
27
- root: any;
28
- size: any[];
29
- resize: boolean;
30
- sections: any[];
31
- panels: any[];
32
- minWidth: number;
33
- minHeight: number;
34
- maxWidth: number;
35
- maxHeight: Number;
36
- layout: any;
37
- type?: string;
38
- parentArea?: Area;
39
- splitBar?: any;
40
- splitExtended?: boolean;
41
- overlayButtons?: AreaOverlayButtons;
42
- onresize?: any;
43
- _autoVerticalResizeObserver?: ResizeObserver;
44
- _root: any;
45
- constructor(options?: any);
46
- /**
47
- * @method attach
48
- * @param {Element} content child to append to area (e.g. a Panel)
49
- */
50
- attach(content: any): void;
51
- /**
52
- * @method setLayout
53
- * @description Automatically split the area to generate the desired layout
54
- * @param {Array} layout
55
- */
56
- setLayout(layout: any): void;
57
- /**
58
- * @method split
59
- * @param {Object} options
60
- * type: Split mode (horizontal, vertical) ["horizontal"]
61
- * sizes: CSS Size of each new area (Array) ["50%", "50%"]
62
- * resize: Allow area manual resizing [true]
63
- * sizes: "Allow the area to be minimized [false]
64
- */
65
- split(options?: any): any[];
66
- /**
67
- * @method setLimitBox
68
- * Set min max for width and height
69
- */
70
- setLimitBox(minw?: number, minh?: number, maxw?: number, maxh?: number): void;
71
- /**
72
- * @method resize
73
- * Resize element
74
- */
75
- setSize(size: any[]): void;
76
- /**
77
- * @method extend
78
- * Hide 2nd area split
79
- */
80
- extend(): void;
81
- /**
82
- * @method reduce
83
- * Show 2nd area split
84
- */
85
- reduce(): void;
86
- /**
87
- * @method hide
88
- * Hide element
89
- */
90
- hide(): void;
91
- /**
92
- * @method show
93
- * Show element if it is hidden
94
- */
95
- show(): void;
96
- /**
97
- * @method toggle
98
- * Toggle element if it is hidden
99
- */
100
- toggle(force: boolean): void;
101
- /**
102
- * @method propagateEvent
103
- */
104
- propagateEvent(eventName: string): void;
105
- /**
106
- * @method addPanel
107
- * @param {Object} options
108
- * Options to create a Panel
109
- */
110
- addPanel(options: any): Panel;
111
- /**
112
- * @method addMenubar
113
- * @param {Array} items Items to fill the menubar
114
- * @param {Object} options:
115
- * float: Justify content (left, center, right) [left]
116
- * sticky: Fix menubar at the top [true]
117
- */
118
- addMenubar(items: any[], options?: any): Menubar;
119
- /**
120
- * @method addSidebar
121
- * @param {Function} callback Function to fill the sidebar
122
- * @param {Object} options: Sidebar options
123
- * width: Width of the sidebar [16rem]
124
- * side: Side to attach the sidebar (left|right) [left]
125
- */
126
- addSidebar(callback: any, options?: any): any;
127
- /**
128
- * @method addOverlayButtons
129
- * @param {Array} buttons Buttons info
130
- * @param {Object} options:
131
- * float: Where to put the buttons (h: horizontal, v: vertical, t: top, m: middle, b: bottom, l: left, c: center, r: right) [htc]
132
- */
133
- addOverlayButtons(buttons: any[], options?: any): any;
134
- /**
135
- * @method addTabs
136
- * @param {Object} options:
137
- * parentClass: Add extra class to tab buttons container
138
- */
139
- addTabs(options?: any): Tabs;
140
- _moveSplit(dt: number, forceAnimation?: boolean, forceWidth?: number): void;
141
- _disableSplitResize(): void;
142
- _update(newSize?: any[], propagate?: boolean): void;
143
- }
1
+ import { Menubar } from '../components/Menubar';
2
+ import { Tabs } from '../components/Tabs';
3
+ import { Panel } from './Panel';
4
+ export declare class AreaOverlayButtons {
5
+ area: Area;
6
+ options: any;
7
+ buttons: any;
8
+ constructor(area: Area, buttonsArray: any[], options?: {});
9
+ _buildButtons(buttonsArray: any[], options?: any): void;
10
+ }
11
+ export declare class Area {
12
+ /**
13
+ * @constructor Area
14
+ * @param {Object} options
15
+ * id: Id of the element
16
+ * className: Add class to the element
17
+ * width: Width of the area element [fit space]
18
+ * height: Height of the area element [fit space]
19
+ * skipAppend: Create but not append to GUI root [false]
20
+ * minWidth: Minimum width to be applied when resizing
21
+ * minHeight: Minimum height to be applied when resizing
22
+ * maxWidth: Maximum width to be applied when resizing
23
+ * maxHeight: Maximum height to be applied when resizing
24
+ * layout: Layout to automatically split the area
25
+ */
26
+ offset: number;
27
+ root: any;
28
+ size: any[];
29
+ resize: boolean;
30
+ sections: any[];
31
+ panels: any[];
32
+ minWidth: number;
33
+ minHeight: number;
34
+ maxWidth: number;
35
+ maxHeight: Number;
36
+ layout: any;
37
+ type?: string;
38
+ parentArea?: Area;
39
+ splitBar?: any;
40
+ splitExtended?: boolean;
41
+ overlayButtons?: AreaOverlayButtons;
42
+ onresize?: any;
43
+ _autoVerticalResizeObserver?: ResizeObserver;
44
+ _root: any;
45
+ constructor(options?: any);
46
+ /**
47
+ * @method attach
48
+ * @param {Element} content child to append to area (e.g. a Panel)
49
+ */
50
+ attach(content: any): void;
51
+ /**
52
+ * @method setLayout
53
+ * @description Automatically split the area to generate the desired layout
54
+ * @param {Array} layout
55
+ */
56
+ setLayout(layout: any): void;
57
+ /**
58
+ * @method split
59
+ * @param {Object} options
60
+ * type: Split mode (horizontal, vertical) ["horizontal"]
61
+ * sizes: CSS Size of each new area (Array) ["50%", "50%"]
62
+ * resize: Allow area manual resizing [true]
63
+ * sizes: "Allow the area to be minimized [false]
64
+ */
65
+ split(options?: any): any[];
66
+ /**
67
+ * @method setLimitBox
68
+ * Set min max for width and height
69
+ */
70
+ setLimitBox(minw?: number, minh?: number, maxw?: number, maxh?: number): void;
71
+ /**
72
+ * @method resize
73
+ * Resize element
74
+ */
75
+ setSize(size: any[]): void;
76
+ /**
77
+ * @method extend
78
+ * Hide 2nd area split
79
+ */
80
+ extend(): void;
81
+ /**
82
+ * @method reduce
83
+ * Show 2nd area split
84
+ */
85
+ reduce(): void;
86
+ /**
87
+ * @method hide
88
+ * Hide element
89
+ */
90
+ hide(): void;
91
+ /**
92
+ * @method show
93
+ * Show element if it is hidden
94
+ */
95
+ show(): void;
96
+ /**
97
+ * @method toggle
98
+ * Toggle element if it is hidden
99
+ */
100
+ toggle(force: boolean): void;
101
+ /**
102
+ * @method propagateEvent
103
+ */
104
+ propagateEvent(eventName: string): void;
105
+ /**
106
+ * @method addPanel
107
+ * @param {Object} options
108
+ * Options to create a Panel
109
+ */
110
+ addPanel(options: any): Panel;
111
+ /**
112
+ * @method addMenubar
113
+ * @param {Array} items Items to fill the menubar
114
+ * @param {Object} options:
115
+ * float: Justify content (left, center, right) [left]
116
+ * sticky: Fix menubar at the top [true]
117
+ */
118
+ addMenubar(items: any[], options?: any): Menubar;
119
+ /**
120
+ * @method addSidebar
121
+ * @param {Function} callback Function to fill the sidebar
122
+ * @param {Object} options: Sidebar options
123
+ * width: Width of the sidebar [16rem]
124
+ * side: Side to attach the sidebar (left|right) [left]
125
+ */
126
+ addSidebar(callback: any, options?: any): any;
127
+ /**
128
+ * @method addOverlayButtons
129
+ * @param {Array} buttons Buttons info
130
+ * @param {Object} options:
131
+ * float: Where to put the buttons (h: horizontal, v: vertical, t: top, m: middle, b: bottom, l: left, c: center, r: right) [htc]
132
+ */
133
+ addOverlayButtons(buttons: any[], options?: any): any;
134
+ /**
135
+ * @method addTabs
136
+ * @param {Object} options:
137
+ * parentClass: Add extra class to tab buttons container
138
+ */
139
+ addTabs(options?: any): Tabs;
140
+ _moveSplit(dt: number, forceAnimation?: boolean, forceWidth?: number): void;
141
+ _disableSplitResize(): void;
142
+ _update(newSize?: any[], propagate?: boolean): void;
143
+ }
@@ -10,7 +10,7 @@ const g = globalThis;
10
10
  let LX = g.LX;
11
11
  if (!LX) {
12
12
  LX = {
13
- version: '8.1.0',
13
+ version: '8.1.1',
14
14
  ready: false,
15
15
  extensions: [], // Store extensions used
16
16
  extraCommandbarEntries: [], // User specific entries for command bar
@@ -1 +1 @@
1
- {"version":3,"file":"Namespace.js","sources":["../../src/core/Namespace.ts"],"sourcesContent":["// Namespace.ts @jxarco\r\n\r\n/**\r\n * Main namespace\r\n * @namespace LX\r\n */\r\n\r\nconst g = globalThis as any;\r\n\r\n// Update global namespace if not present (Loading module)\r\n// Extension scripts rely on LX being globally available\r\nlet LX: any = g.LX;\r\n\r\nif ( !LX )\r\n{\r\n LX = {\r\n version: '8.1.0',\r\n ready: false,\r\n extensions: [], // Store extensions used\r\n extraCommandbarEntries: [], // User specific entries for command bar\r\n signals: {}, // Events and triggers\r\n activeDraggable: null, // Watch for the current active draggable\r\n\r\n spacingMode: 'default',\r\n layoutMode: 'app',\r\n\r\n MOUSE_LEFT_CLICK: 0,\r\n MOUSE_MIDDLE_CLICK: 1,\r\n MOUSE_RIGHT_CLICK: 2,\r\n\r\n MOUSE_DOUBLE_CLICK: 2,\r\n MOUSE_TRIPLE_CLICK: 3,\r\n\r\n CURVE_MOVEOUT_CLAMP: 0,\r\n CURVE_MOVEOUT_DELETE: 1,\r\n\r\n DRAGGABLE_Z_INDEX: 101\r\n };\r\n\r\n g.LX = LX;\r\n}\r\n\r\nexport { LX };\r\n"],"names":[],"mappings":";AAAA;AAEA;;;AAGG;AAEH,MAAM,CAAC,GAAG,UAAiB;AAE3B;AACA;AACA,IAAI,EAAE,GAAQ,CAAC,CAAC;AAEhB,IAAK,CAAC,EAAE,EACR;AACI,IAAA,EAAE,GAAG;AACD,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,EAAE;QACd,sBAAsB,EAAE,EAAE;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,IAAI;AAErB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,KAAK;AAEjB,QAAA,gBAAgB,EAAE,CAAC;AACnB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,iBAAiB,EAAE,CAAC;AAEpB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,kBAAkB,EAAE,CAAC;AAErB,QAAA,mBAAmB,EAAE,CAAC;AACtB,QAAA,oBAAoB,EAAE,CAAC;AAEvB,QAAA,iBAAiB,EAAE;KACtB;AAED,IAAA,CAAC,CAAC,EAAE,GAAG,EAAE;AACb;;;;"}
1
+ {"version":3,"file":"Namespace.js","sources":["../../src/core/Namespace.ts"],"sourcesContent":["// Namespace.ts @jxarco\r\n\r\n/**\r\n * Main namespace\r\n * @namespace LX\r\n */\r\n\r\nconst g = globalThis as any;\r\n\r\n// Update global namespace if not present (Loading module)\r\n// Extension scripts rely on LX being globally available\r\nlet LX: any = g.LX;\r\n\r\nif ( !LX )\r\n{\r\n LX = {\r\n version: '8.1.1',\r\n ready: false,\r\n extensions: [], // Store extensions used\r\n extraCommandbarEntries: [], // User specific entries for command bar\r\n signals: {}, // Events and triggers\r\n activeDraggable: null, // Watch for the current active draggable\r\n\r\n spacingMode: 'default',\r\n layoutMode: 'app',\r\n\r\n MOUSE_LEFT_CLICK: 0,\r\n MOUSE_MIDDLE_CLICK: 1,\r\n MOUSE_RIGHT_CLICK: 2,\r\n\r\n MOUSE_DOUBLE_CLICK: 2,\r\n MOUSE_TRIPLE_CLICK: 3,\r\n\r\n CURVE_MOVEOUT_CLAMP: 0,\r\n CURVE_MOVEOUT_DELETE: 1,\r\n\r\n DRAGGABLE_Z_INDEX: 101\r\n };\r\n\r\n g.LX = LX;\r\n}\r\n\r\nexport { LX };\r\n"],"names":[],"mappings":";AAAA;AAEA;;;AAGG;AAEH,MAAM,CAAC,GAAG,UAAiB;AAE3B;AACA;AACA,IAAI,EAAE,GAAQ,CAAC,CAAC;AAEhB,IAAK,CAAC,EAAE,EACR;AACI,IAAA,EAAE,GAAG;AACD,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,EAAE;QACd,sBAAsB,EAAE,EAAE;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,IAAI;AAErB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,KAAK;AAEjB,QAAA,gBAAgB,EAAE,CAAC;AACnB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,iBAAiB,EAAE,CAAC;AAEpB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,kBAAkB,EAAE,CAAC;AAErB,QAAA,mBAAmB,EAAE,CAAC;AACtB,QAAA,oBAAoB,EAAE,CAAC;AAEvB,QAAA,iBAAiB,EAAE;KACtB;AAED,IAAA,CAAC,CAAC,EAAE,GAAG,EAAE;AACb;;;;"}