attio 0.0.1-experimental.20240522

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 (94) hide show
  1. package/README.md +9 -0
  2. package/lib/build.d.ts +160 -0
  3. package/lib/build.d.ts.map +1 -0
  4. package/lib/build.js +81 -0
  5. package/lib/build.js.map +1 -0
  6. package/lib/cli.d.ts +3 -0
  7. package/lib/cli.d.ts.map +1 -0
  8. package/lib/cli.js +5 -0
  9. package/lib/cli.js.map +1 -0
  10. package/lib/commands/build.d.ts +4 -0
  11. package/lib/commands/build.d.ts.map +1 -0
  12. package/lib/commands/build.js +28 -0
  13. package/lib/commands/build.js.map +1 -0
  14. package/lib/commands/scaffold.d.ts +10 -0
  15. package/lib/commands/scaffold.d.ts.map +1 -0
  16. package/lib/commands/scaffold.js +95 -0
  17. package/lib/commands/scaffold.js.map +1 -0
  18. package/lib/commands/watch.d.ts +3 -0
  19. package/lib/commands/watch.d.ts.map +1 -0
  20. package/lib/commands/watch.js +56 -0
  21. package/lib/commands/watch.js.map +1 -0
  22. package/lib/components/BuildError.d.ts +12 -0
  23. package/lib/components/BuildError.d.ts.map +1 -0
  24. package/lib/components/BuildError.js +56 -0
  25. package/lib/components/BuildError.js.map +1 -0
  26. package/lib/components/BuildLog.d.ts +7 -0
  27. package/lib/components/BuildLog.d.ts.map +1 -0
  28. package/lib/components/BuildLog.js +7 -0
  29. package/lib/components/BuildLog.js.map +1 -0
  30. package/lib/components/MultiSelect.d.ts +13 -0
  31. package/lib/components/MultiSelect.d.ts.map +1 -0
  32. package/lib/components/MultiSelect.js +66 -0
  33. package/lib/components/MultiSelect.js.map +1 -0
  34. package/lib/components/Select.d.ts +12 -0
  35. package/lib/components/Select.d.ts.map +1 -0
  36. package/lib/components/Select.js +8 -0
  37. package/lib/components/Select.js.map +1 -0
  38. package/lib/components/TypeScriptError.d.ts +11 -0
  39. package/lib/components/TypeScriptError.d.ts.map +1 -0
  40. package/lib/components/TypeScriptError.js +47 -0
  41. package/lib/components/TypeScriptError.js.map +1 -0
  42. package/lib/hooks/useFullScreen.d.ts +3 -0
  43. package/lib/hooks/useFullScreen.d.ts.map +1 -0
  44. package/lib/hooks/useFullScreen.js +17 -0
  45. package/lib/hooks/useFullScreen.js.map +1 -0
  46. package/lib/machines/build-machine.d.ts +60 -0
  47. package/lib/machines/build-machine.d.ts.map +1 -0
  48. package/lib/machines/build-machine.js +64 -0
  49. package/lib/machines/build-machine.js.map +1 -0
  50. package/lib/machines/scaffold-machine.d.ts +311 -0
  51. package/lib/machines/scaffold-machine.d.ts.map +1 -0
  52. package/lib/machines/scaffold-machine.js +260 -0
  53. package/lib/machines/scaffold-machine.js.map +1 -0
  54. package/lib/machines/watch-machine.d.ts +199 -0
  55. package/lib/machines/watch-machine.d.ts.map +1 -0
  56. package/lib/machines/watch-machine.js +218 -0
  57. package/lib/machines/watch-machine.js.map +1 -0
  58. package/lib/templates/common/README.md +19 -0
  59. package/lib/templates/javascript/.eslintignore +4 -0
  60. package/lib/templates/javascript/actions.jsx +12 -0
  61. package/lib/templates/javascript/counter-action.jsx +18 -0
  62. package/lib/templates/javascript/eslint.cjs +1 -0
  63. package/lib/templates/javascript/package.json +24 -0
  64. package/lib/templates/typescript/.eslintignore +4 -0
  65. package/lib/templates/typescript/actions.tsx +12 -0
  66. package/lib/templates/typescript/counter-action.tsx +18 -0
  67. package/lib/templates/typescript/eslint.cjs +6 -0
  68. package/lib/templates/typescript/package.json +25 -0
  69. package/lib/templates/typescript/tsconfig.json +50 -0
  70. package/lib/util/copy-with-replace.d.ts +2 -0
  71. package/lib/util/copy-with-replace.d.ts.map +1 -0
  72. package/lib/util/copy-with-replace.js +29 -0
  73. package/lib/util/copy-with-replace.js.map +1 -0
  74. package/lib/util/create-directory.d.ts +2 -0
  75. package/lib/util/create-directory.d.ts.map +1 -0
  76. package/lib/util/create-directory.js +20 -0
  77. package/lib/util/create-directory.js.map +1 -0
  78. package/lib/util/is-command-available.d.ts +2 -0
  79. package/lib/util/is-command-available.d.ts.map +1 -0
  80. package/lib/util/is-command-available.js +13 -0
  81. package/lib/util/is-command-available.js.map +1 -0
  82. package/lib/util/make-extension-name.d.ts +2 -0
  83. package/lib/util/make-extension-name.d.ts.map +1 -0
  84. package/lib/util/make-extension-name.js +11 -0
  85. package/lib/util/make-extension-name.js.map +1 -0
  86. package/lib/util/typescript.d.ts +41 -0
  87. package/lib/util/typescript.d.ts.map +1 -0
  88. package/lib/util/typescript.js +74 -0
  89. package/lib/util/typescript.js.map +1 -0
  90. package/lib/util/validate-project-name.d.ts +2 -0
  91. package/lib/util/validate-project-name.d.ts.map +1 -0
  92. package/lib/util/validate-project-name.js +27 -0
  93. package/lib/util/validate-project-name.js.map +1 -0
  94. package/package.json +50 -0
@@ -0,0 +1,260 @@
1
+ import { exec as execCallback } from "child_process";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+ import { promisify } from "util";
5
+ import { assign, setup, fromCallback } from "xstate";
6
+ import { copyWithTransform } from "../util/copy-with-replace.js";
7
+ import { createDirectory } from "../util/create-directory.js";
8
+ import { isCommandAvailable } from "../util/is-command-available.js";
9
+ import { makeExtensionName } from "../util/make-extension-name.js";
10
+ import { validateProjectName } from "../util/validate-project-name.js";
11
+ const exec = promisify(execCallback);
12
+ export const languages = [
13
+ { value: "typescript", label: "TypeScript – recommended!" },
14
+ { value: "javascript", label: "JavaScript" },
15
+ ];
16
+ export const packageManagers = [
17
+ { value: "npm", label: "npm" },
18
+ { value: "yarn", label: "yarn" },
19
+ { value: "pnpm", label: "pnpm" },
20
+ { value: "bun", label: "bun" },
21
+ ];
22
+ export const outlets = [
23
+ { value: "tool", label: "Workflow Tool" },
24
+ { value: "action", label: "Action Button" },
25
+ ];
26
+ export const scaffoldMachine = setup({
27
+ types: {
28
+ context: {},
29
+ events: {},
30
+ input: {},
31
+ },
32
+ actors: {
33
+ build: fromCallback(({ sendBack, input }) => {
34
+ const build = async () => {
35
+ try {
36
+ await exec(`cd ${input.name}`);
37
+ await exec(`${input.packageManager} install`);
38
+ sendBack({ type: "Success" });
39
+ }
40
+ catch (error) {
41
+ sendBack({ type: "Error", error: error.message });
42
+ }
43
+ };
44
+ build();
45
+ }),
46
+ createProject: fromCallback(({ sendBack, input }) => {
47
+ const create = async () => {
48
+ try {
49
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
50
+ const projectDir = createDirectory(input.name);
51
+ const templatesDir = path.resolve(__dirname, "../templates", input.language);
52
+ const commonDir = path.resolve(__dirname, "../templates", "common");
53
+ const transform = (contents) => contents
54
+ .replaceAll("name-to-be-replaced", input.name)
55
+ .replaceAll("package-manager-to-be-replaced", input.packageManager);
56
+ await Promise.all([
57
+ copyWithTransform(templatesDir, projectDir, transform),
58
+ copyWithTransform(commonDir, projectDir, transform),
59
+ ]);
60
+ sendBack({ type: "Success" });
61
+ }
62
+ catch (error) {
63
+ sendBack({ type: "Error", error: error.message });
64
+ }
65
+ };
66
+ create();
67
+ }),
68
+ detectPackageManagers: fromCallback(({ sendBack }) => {
69
+ const availablePackageManagers = [];
70
+ Promise.all(packageManagers.map(async (packageManager) => {
71
+ if (await isCommandAvailable(packageManager.value)) {
72
+ availablePackageManagers.push(packageManager.value);
73
+ }
74
+ })).then(() => {
75
+ sendBack({
76
+ type: "Set Available Package Managers",
77
+ packageManagers: availablePackageManagers,
78
+ });
79
+ });
80
+ }),
81
+ validateName: fromCallback(({ sendBack, input }) => {
82
+ const error = validateProjectName(input.name);
83
+ if (error) {
84
+ sendBack({ type: "Invalid Name", error });
85
+ }
86
+ else {
87
+ sendBack({ type: "Valid Name" });
88
+ }
89
+ }),
90
+ },
91
+ actions: {
92
+ clearError: assign({
93
+ error: () => undefined,
94
+ }),
95
+ selectFirstPackageManager: assign({
96
+ packageManager: (_, params) => params.availablePackageManagers[0],
97
+ }),
98
+ setAvailablePackageManagers: assign({
99
+ availablePackageManagers: (_, params) => params.packageManagers,
100
+ }),
101
+ setError: assign({
102
+ error: (_, params) => params.error,
103
+ }),
104
+ setLanguage: assign({
105
+ language: (_, params) => params.language,
106
+ }),
107
+ setPackageManager: assign({
108
+ packageManager: (_, params) => params.packageManager,
109
+ }),
110
+ setName: assign({
111
+ name: (_, params) => params.name,
112
+ }),
113
+ setOutlets: assign({
114
+ outlets: (_, params) => params.outlets,
115
+ }),
116
+ slugifyName: assign({
117
+ name: (_, params) => makeExtensionName(params.name),
118
+ }),
119
+ appendToLog: assign({
120
+ log: ({ context }, params) => [...context.log, params.message],
121
+ }),
122
+ },
123
+ guards: {
124
+ "have name": (_, params) => Boolean(params.name.trim()),
125
+ },
126
+ }).createMachine({
127
+ context: ({ input }) => ({
128
+ availablePackageManagers: ["npm"],
129
+ outlets: [],
130
+ log: [],
131
+ ...input,
132
+ }),
133
+ id: "Scaffold Machine",
134
+ initial: "Check For Name Argument",
135
+ states: {
136
+ "Validating Name": {
137
+ on: {
138
+ "Valid Name": {
139
+ target: "Ask For Language",
140
+ reenter: true,
141
+ },
142
+ "Invalid Name": {
143
+ target: "Ask For Name",
144
+ actions: { type: "setError", params: ({ event }) => event },
145
+ },
146
+ },
147
+ invoke: {
148
+ input: ({ context }) => ({ name: context.name }),
149
+ src: "validateName",
150
+ },
151
+ },
152
+ "Check For Name Argument": {
153
+ always: [
154
+ {
155
+ target: "Validating Name",
156
+ guard: { type: "have name", params: ({ context }) => context },
157
+ description: `Name may have been provided via CLI arg`,
158
+ },
159
+ {
160
+ target: "Ask For Name",
161
+ reenter: true,
162
+ },
163
+ ],
164
+ },
165
+ "Ask For Name": {
166
+ on: {
167
+ "Update Name": {
168
+ target: "Ask For Name",
169
+ actions: [{ type: "setName", params: ({ event }) => event }, { type: "clearError" }],
170
+ },
171
+ "Submit": [
172
+ {
173
+ target: "Validating Name",
174
+ guard: { type: "have name", params: ({ context }) => context },
175
+ actions: { type: "slugifyName", params: ({ context }) => context },
176
+ },
177
+ "Ask For Name",
178
+ ],
179
+ },
180
+ },
181
+ "Ask For Language": {
182
+ on: {
183
+ "Choose Language": {
184
+ target: "Detecting Package Managers",
185
+ actions: { type: "setLanguage", params: ({ event }) => event },
186
+ },
187
+ },
188
+ },
189
+ "Detecting Package Managers": {
190
+ invoke: {
191
+ src: "detectPackageManagers",
192
+ },
193
+ on: {
194
+ "Set Available Package Managers": {
195
+ target: "Ask For Package Manager",
196
+ actions: [
197
+ { type: "setAvailablePackageManagers", params: ({ event }) => event },
198
+ { type: "selectFirstPackageManager", params: ({ context }) => context },
199
+ ],
200
+ },
201
+ },
202
+ },
203
+ "Ask For Package Manager": {
204
+ on: {
205
+ "Choose Package Manager": {
206
+ target: "Ask For Outlets",
207
+ actions: { type: "setPackageManager", params: ({ event }) => event },
208
+ },
209
+ },
210
+ },
211
+ "Ask For Outlets": {
212
+ on: {
213
+ "Choose Outlets": {
214
+ target: "Creating Project",
215
+ actions: { type: "setOutlets", params: ({ event }) => event },
216
+ },
217
+ },
218
+ },
219
+ "Creating Project": {
220
+ on: {
221
+ Error: {
222
+ target: "Error",
223
+ actions: { type: "setError", params: ({ event }) => event },
224
+ },
225
+ Success: "Building",
226
+ },
227
+ invoke: {
228
+ src: "createProject",
229
+ input: ({ context }) => ({
230
+ name: context.name,
231
+ language: context.language,
232
+ packageManager: context.packageManager,
233
+ }),
234
+ },
235
+ },
236
+ "Error": {
237
+ type: "final",
238
+ },
239
+ "Building": {
240
+ on: {
241
+ Success: "Success",
242
+ Error: {
243
+ target: "Error",
244
+ actions: { type: "setError", params: ({ event }) => event },
245
+ },
246
+ },
247
+ invoke: {
248
+ src: "build",
249
+ input: ({ context }) => ({
250
+ name: context.name,
251
+ packageManager: context.packageManager,
252
+ }),
253
+ },
254
+ },
255
+ "Success": {
256
+ type: "final",
257
+ },
258
+ },
259
+ });
260
+ //# sourceMappingURL=scaffold-machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold-machine.js","sourceRoot":"","sources":["../../src/machines/scaffold-machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import * as esbuild from "esbuild";
2
+ import { BuildError } from "../build.js";
3
+ import { TypeScriptError } from "../util/typescript.js";
4
+ interface Context {
5
+ buildContexts?: Array<esbuild.BuildContext>;
6
+ lastJavaScriptError?: {
7
+ time: Date;
8
+ error: BuildError;
9
+ };
10
+ lastTypeScriptError?: {
11
+ time: Date;
12
+ errors: Array<TypeScriptError>;
13
+ };
14
+ lastSuccess?: Date;
15
+ }
16
+ export declare const watchMachine: import("xstate").StateMachine<Context, {
17
+ type: "Build Contexts Prepared";
18
+ buildContexts: Array<esbuild.BuildContext>;
19
+ } | {
20
+ type: "Change";
21
+ } | {
22
+ type: "JavaScript Error";
23
+ error: BuildError;
24
+ time: Date;
25
+ } | {
26
+ type: "TypeScript Error";
27
+ errors: Array<TypeScriptError>;
28
+ time: Date;
29
+ } | {
30
+ type: "Log";
31
+ message: string;
32
+ } | {
33
+ type: "JavaScript Success";
34
+ time: Date;
35
+ } | {
36
+ type: "TypeScript Success";
37
+ time: Date;
38
+ }, {
39
+ [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<import("xstate").NonReducibleUnknown>, import("xstate").EventObject, import("xstate").EventObject> | undefined;
40
+ }, import("xstate").Values<{
41
+ build: {
42
+ src: "build";
43
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
44
+ id: string | undefined;
45
+ };
46
+ prepareBuildContext: {
47
+ src: "prepareBuildContext";
48
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
49
+ id: string | undefined;
50
+ };
51
+ validateTypeScript: {
52
+ src: "validateTypeScript";
53
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
54
+ id: string | undefined;
55
+ };
56
+ watch: {
57
+ src: "watch";
58
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
59
+ id: string | undefined;
60
+ };
61
+ }>, import("xstate").Values<{
62
+ clearLastJavaScriptError: {
63
+ type: "clearLastJavaScriptError";
64
+ params: import("xstate").NonReducibleUnknown;
65
+ };
66
+ clearLastTypeScriptError: {
67
+ type: "clearLastTypeScriptError";
68
+ params: import("xstate").NonReducibleUnknown;
69
+ };
70
+ setBuildContexts: {
71
+ type: "setBuildContexts";
72
+ params: {
73
+ buildContexts: Array<esbuild.BuildContext>;
74
+ };
75
+ };
76
+ setLastJavaScriptError: {
77
+ type: "setLastJavaScriptError";
78
+ params: {
79
+ error: BuildError;
80
+ time: Date;
81
+ };
82
+ };
83
+ setLastTypeScriptError: {
84
+ type: "setLastTypeScriptError";
85
+ params: {
86
+ errors: Array<TypeScriptError>;
87
+ time: Date;
88
+ };
89
+ };
90
+ setLastSuccess: {
91
+ type: "setLastSuccess";
92
+ params: {
93
+ time: Date;
94
+ };
95
+ };
96
+ }>, import("xstate").Values<{
97
+ "no TypeScript error": {
98
+ type: "no TypeScript error";
99
+ params: unknown;
100
+ };
101
+ "no JavaScript error": {
102
+ type: "no JavaScript error";
103
+ params: unknown;
104
+ };
105
+ }>, never, Required<{
106
+ JavaScript?: "Preparing" | {
107
+ Watching?: "Building" | "Errored" | "No JavaScript Errors" | undefined;
108
+ } | undefined;
109
+ TypeScript?: "Validating" | "Errored" | "No TypeScript Errors" | undefined;
110
+ }>, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, {
111
+ type: "Build Contexts Prepared";
112
+ buildContexts: Array<esbuild.BuildContext>;
113
+ } | {
114
+ type: "Change";
115
+ } | {
116
+ type: "JavaScript Error";
117
+ error: BuildError;
118
+ time: Date;
119
+ } | {
120
+ type: "TypeScript Error";
121
+ errors: Array<TypeScriptError>;
122
+ time: Date;
123
+ } | {
124
+ type: "Log";
125
+ message: string;
126
+ } | {
127
+ type: "JavaScript Success";
128
+ time: Date;
129
+ } | {
130
+ type: "TypeScript Success";
131
+ time: Date;
132
+ }, import("xstate").Values<{
133
+ build: {
134
+ src: "build";
135
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
136
+ id: string | undefined;
137
+ };
138
+ prepareBuildContext: {
139
+ src: "prepareBuildContext";
140
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
141
+ id: string | undefined;
142
+ };
143
+ validateTypeScript: {
144
+ src: "validateTypeScript";
145
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
146
+ id: string | undefined;
147
+ };
148
+ watch: {
149
+ src: "watch";
150
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, import("xstate").NonReducibleUnknown>;
151
+ id: string | undefined;
152
+ };
153
+ }>, import("xstate").Values<{
154
+ clearLastJavaScriptError: {
155
+ type: "clearLastJavaScriptError";
156
+ params: import("xstate").NonReducibleUnknown;
157
+ };
158
+ clearLastTypeScriptError: {
159
+ type: "clearLastTypeScriptError";
160
+ params: import("xstate").NonReducibleUnknown;
161
+ };
162
+ setBuildContexts: {
163
+ type: "setBuildContexts";
164
+ params: {
165
+ buildContexts: Array<esbuild.BuildContext>;
166
+ };
167
+ };
168
+ setLastJavaScriptError: {
169
+ type: "setLastJavaScriptError";
170
+ params: {
171
+ error: BuildError;
172
+ time: Date;
173
+ };
174
+ };
175
+ setLastTypeScriptError: {
176
+ type: "setLastTypeScriptError";
177
+ params: {
178
+ errors: Array<TypeScriptError>;
179
+ time: Date;
180
+ };
181
+ };
182
+ setLastSuccess: {
183
+ type: "setLastSuccess";
184
+ params: {
185
+ time: Date;
186
+ };
187
+ };
188
+ }>, import("xstate").Values<{
189
+ "no TypeScript error": {
190
+ type: "no TypeScript error";
191
+ params: unknown;
192
+ };
193
+ "no JavaScript error": {
194
+ type: "no JavaScript error";
195
+ params: unknown;
196
+ };
197
+ }>, never, string, import("xstate").EventObject>>;
198
+ export {};
199
+ //# sourceMappingURL=watch-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-machine.d.ts","sourceRoot":"","sources":["../../src/machines/watch-machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAIlC,OAAO,EACH,UAAU,EAMb,MAAM,aAAa,CAAA;AACpB,OAAO,EACH,eAAe,EAIlB,MAAM,uBAAuB,CAAA;AAE9B,UAAU,OAAO;IACb,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC3C,mBAAmB,CAAC,EAAE;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAC,CAAA;IACrD,mBAAmB,CAAC,EAAE;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAA;IAClE,WAAW,CAAC,EAAE,IAAI,CAAA;CACrB;AAWD,eAAO,MAAM,YAAY;UARZ,yBAAyB;mBAAiB,MAAM,QAAQ,YAAY,CAAC;;UACrE,QAAQ;;UACR,kBAAkB;WAAS,UAAU;UAAQ,IAAI;;UACjD,kBAAkB;YAAU,MAAM,eAAe,CAAC;UAAQ,IAAI;;UAC9D,KAAK;aAAW,MAAM;;UACtB,oBAAoB;UAAQ,IAAI;;UAChC,oBAAoB;UAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4FU,MAAM,QAAQ,YAAY,CAAC;;;;;;mBAI7B,UAAU;kBAAQ,IAAI;;;;;;oBAMrB,MAAM,eAAe,CAAC;kBAAQ,IAAI;;;;;;kBAM5C,IAAI;;;;;;;;;;;;;;;;;;UAlHnC,yBAAyB;mBAAiB,MAAM,QAAQ,YAAY,CAAC;;UACrE,QAAQ;;UACR,kBAAkB;WAAS,UAAU;UAAQ,IAAI;;UACjD,kBAAkB;YAAU,MAAM,eAAe,CAAC;UAAQ,IAAI;;UAC9D,KAAK;aAAW,MAAM;;UACtB,oBAAoB;UAAQ,IAAI;;UAChC,oBAAoB;UAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4FU,MAAM,QAAQ,YAAY,CAAC;;;;;;mBAI7B,UAAU;kBAAQ,IAAI;;;;;;oBAMrB,MAAM,eAAe,CAAC;kBAAQ,IAAI;;;;;;kBAM5C,IAAI;;;;;;;;;;;;iDA+H9C,CAAA"}