@forinda/kickjs-cli 2.0.0 → 2.1.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/bin.js +8 -0
- package/dist/cli.mjs +5351 -0
- package/dist/index.d.mts +246 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3532 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +31 -13
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -1552
- package/dist/commands/add.d.ts +0 -5
- package/dist/commands/add.d.ts.map +0 -1
- package/dist/commands/custom.d.ts +0 -56
- package/dist/commands/custom.d.ts.map +0 -1
- package/dist/commands/generate.d.ts +0 -3
- package/dist/commands/generate.d.ts.map +0 -1
- package/dist/commands/info.d.ts +0 -3
- package/dist/commands/info.d.ts.map +0 -1
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/inspect.d.ts +0 -3
- package/dist/commands/inspect.d.ts.map +0 -1
- package/dist/commands/remove.d.ts +0 -3
- package/dist/commands/remove.d.ts.map +0 -1
- package/dist/commands/run.d.ts +0 -3
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/tinker.d.ts +0 -3
- package/dist/commands/tinker.d.ts.map +0 -1
- package/dist/config-D9faxBLQ.js +0 -3108
- package/dist/config.d.ts +0 -131
- package/dist/config.d.ts.map +0 -1
- package/dist/generators/adapter.d.ts +0 -7
- package/dist/generators/adapter.d.ts.map +0 -1
- package/dist/generators/config.d.ts +0 -9
- package/dist/generators/config.d.ts.map +0 -1
- package/dist/generators/controller.d.ts +0 -11
- package/dist/generators/controller.d.ts.map +0 -1
- package/dist/generators/dto.d.ts +0 -11
- package/dist/generators/dto.d.ts.map +0 -1
- package/dist/generators/guard.d.ts +0 -11
- package/dist/generators/guard.d.ts.map +0 -1
- package/dist/generators/job.d.ts +0 -8
- package/dist/generators/job.d.ts.map +0 -1
- package/dist/generators/middleware.d.ts +0 -11
- package/dist/generators/middleware.d.ts.map +0 -1
- package/dist/generators/module.d.ts +0 -33
- package/dist/generators/module.d.ts.map +0 -1
- package/dist/generators/patterns/cqrs.d.ts +0 -3
- package/dist/generators/patterns/cqrs.d.ts.map +0 -1
- package/dist/generators/patterns/ddd.d.ts +0 -3
- package/dist/generators/patterns/ddd.d.ts.map +0 -1
- package/dist/generators/patterns/index.d.ts +0 -6
- package/dist/generators/patterns/index.d.ts.map +0 -1
- package/dist/generators/patterns/minimal.d.ts +0 -3
- package/dist/generators/patterns/minimal.d.ts.map +0 -1
- package/dist/generators/patterns/rest.d.ts +0 -3
- package/dist/generators/patterns/rest.d.ts.map +0 -1
- package/dist/generators/patterns/types.d.ts +0 -15
- package/dist/generators/patterns/types.d.ts.map +0 -1
- package/dist/generators/project.d.ts +0 -14
- package/dist/generators/project.d.ts.map +0 -1
- package/dist/generators/remove-module.d.ts +0 -12
- package/dist/generators/remove-module.d.ts.map +0 -1
- package/dist/generators/resolver.d.ts +0 -7
- package/dist/generators/resolver.d.ts.map +0 -1
- package/dist/generators/scaffold.d.ts +0 -20
- package/dist/generators/scaffold.d.ts.map +0 -1
- package/dist/generators/service.d.ts +0 -11
- package/dist/generators/service.d.ts.map +0 -1
- package/dist/generators/templates/constants.d.ts +0 -3
- package/dist/generators/templates/constants.d.ts.map +0 -1
- package/dist/generators/templates/controller.d.ts +0 -6
- package/dist/generators/templates/controller.d.ts.map +0 -1
- package/dist/generators/templates/cqrs.d.ts +0 -23
- package/dist/generators/templates/cqrs.d.ts.map +0 -1
- package/dist/generators/templates/domain.d.ts +0 -5
- package/dist/generators/templates/domain.d.ts.map +0 -1
- package/dist/generators/templates/drizzle/index.d.ts +0 -4
- package/dist/generators/templates/drizzle/index.d.ts.map +0 -1
- package/dist/generators/templates/dtos.d.ts +0 -5
- package/dist/generators/templates/dtos.d.ts.map +0 -1
- package/dist/generators/templates/index.d.ts +0 -14
- package/dist/generators/templates/index.d.ts.map +0 -1
- package/dist/generators/templates/module-index.d.ts +0 -13
- package/dist/generators/templates/module-index.d.ts.map +0 -1
- package/dist/generators/templates/prisma/index.d.ts +0 -3
- package/dist/generators/templates/prisma/index.d.ts.map +0 -1
- package/dist/generators/templates/project-app.d.ts +0 -9
- package/dist/generators/templates/project-app.d.ts.map +0 -1
- package/dist/generators/templates/project-config.d.ts +0 -23
- package/dist/generators/templates/project-config.d.ts.map +0 -1
- package/dist/generators/templates/project-docs.d.ts +0 -9
- package/dist/generators/templates/project-docs.d.ts.map +0 -1
- package/dist/generators/templates/repository.d.ts +0 -5
- package/dist/generators/templates/repository.d.ts.map +0 -1
- package/dist/generators/templates/rest-service.d.ts +0 -6
- package/dist/generators/templates/rest-service.d.ts.map +0 -1
- package/dist/generators/templates/tests.d.ts +0 -4
- package/dist/generators/templates/tests.d.ts.map +0 -1
- package/dist/generators/templates/types.d.ts +0 -20
- package/dist/generators/templates/types.d.ts.map +0 -1
- package/dist/generators/templates/use-cases.d.ts +0 -6
- package/dist/generators/templates/use-cases.d.ts.map +0 -1
- package/dist/generators/test.d.ts +0 -9
- package/dist/generators/test.d.ts.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/utils/fs.d.ts +0 -11
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/naming.d.ts +0 -18
- package/dist/utils/naming.d.ts.map +0 -1
- package/dist/utils/resolve-out-dir.d.ts +0 -25
- package/dist/utils/resolve-out-dir.d.ts.map +0 -1
- package/dist/utils/shell.d.ts +0 -3
- package/dist/utils/shell.d.ts.map +0 -1
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/config.d.ts
|
|
3
|
+
/** A custom command that developers can register via kick.config.ts */
|
|
4
|
+
interface KickCommandDefinition {
|
|
5
|
+
/** The command name (e.g. 'db:migrate', 'seed', 'proto:gen') */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Description shown in --help */
|
|
8
|
+
description: string;
|
|
9
|
+
/**
|
|
10
|
+
* Shell command(s) to run. Can be a single string or an array of
|
|
11
|
+
* sequential steps. Use {args} as a placeholder for CLI arguments.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* 'npx drizzle-kit migrate'
|
|
15
|
+
* ['npx drizzle-kit generate', 'npx drizzle-kit migrate']
|
|
16
|
+
*/
|
|
17
|
+
steps: string | string[];
|
|
18
|
+
/** Optional aliases (e.g. ['migrate'] for 'db:migrate') */
|
|
19
|
+
aliases?: string[];
|
|
20
|
+
}
|
|
21
|
+
/** Project pattern — controls what generators produce and which deps are installed */
|
|
22
|
+
type ProjectPattern = 'rest' | 'graphql' | 'ddd' | 'cqrs' | 'minimal';
|
|
23
|
+
/** Built-in repository types with first-class code generation support */
|
|
24
|
+
type BuiltinRepoType$1 = 'drizzle' | 'inmemory' | 'prisma';
|
|
25
|
+
/** Custom repository type — generates a stub with TODO markers */
|
|
26
|
+
interface CustomRepoType {
|
|
27
|
+
name: string;
|
|
28
|
+
}
|
|
29
|
+
/** Repository type — built-in string or custom object */
|
|
30
|
+
type RepoTypeConfig = BuiltinRepoType$1 | CustomRepoType;
|
|
31
|
+
/** Module generation settings — controls how `kick g module` produces code */
|
|
32
|
+
interface ModuleConfig {
|
|
33
|
+
/** Where modules live (default: 'src/modules') */
|
|
34
|
+
dir?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Default repository implementation for generators.
|
|
37
|
+
*
|
|
38
|
+
* Built-in types (string): `'drizzle'`, `'inmemory'`, `'prisma'`
|
|
39
|
+
* — generate fully working repository code.
|
|
40
|
+
*
|
|
41
|
+
* Custom types (object): `{ name: 'typeorm' }`
|
|
42
|
+
* — generate a stub repository with TODO markers.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* repo: 'prisma' // built-in
|
|
46
|
+
* repo: { name: 'typeorm' } // custom
|
|
47
|
+
*/
|
|
48
|
+
repo?: RepoTypeConfig;
|
|
49
|
+
/** Schema output directory (e.g. 'src/db/schema' for Drizzle, 'prisma/' for Prisma) */
|
|
50
|
+
schemaDir?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to pluralize module names in generated code.
|
|
53
|
+
* When true (default), `kick g module user` creates `src/modules/users/`.
|
|
54
|
+
* When false, it creates `src/modules/user/` and uses singular names throughout.
|
|
55
|
+
*/
|
|
56
|
+
pluralize?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Import path for the Prisma generated client in `--repo prisma` templates.
|
|
59
|
+
* Must resolve within `src/` for path alias compatibility.
|
|
60
|
+
*
|
|
61
|
+
* @default '@prisma/client' (Prisma 5/6)
|
|
62
|
+
* @example
|
|
63
|
+
* prismaClientPath: '@/generated/prisma/client' // Prisma 7+
|
|
64
|
+
* prismaClientPath: './generated/prisma/client' // relative
|
|
65
|
+
*/
|
|
66
|
+
prismaClientPath?: string;
|
|
67
|
+
}
|
|
68
|
+
/** Configuration for the kick.config.ts file */
|
|
69
|
+
interface KickConfig {
|
|
70
|
+
/**
|
|
71
|
+
* Project pattern — controls default generator behavior.
|
|
72
|
+
* - 'rest' — Express + Swagger (default)
|
|
73
|
+
* - 'graphql' — GraphQL + GraphiQL
|
|
74
|
+
* - 'ddd' — Full DDD modules with use cases, entities, value objects
|
|
75
|
+
* - 'cqrs' — CQRS with commands, queries, events, WebSocket + queue
|
|
76
|
+
* - 'minimal' — Bare Express with no scaffolding
|
|
77
|
+
*/
|
|
78
|
+
pattern?: ProjectPattern;
|
|
79
|
+
/**
|
|
80
|
+
* Module generation settings — directory, repo type, pluralization, schema dir.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* modules: {
|
|
84
|
+
* dir: 'src/modules',
|
|
85
|
+
* repo: 'prisma',
|
|
86
|
+
* pluralize: false,
|
|
87
|
+
* schemaDir: 'prisma/',
|
|
88
|
+
* }
|
|
89
|
+
*/
|
|
90
|
+
modules?: ModuleConfig;
|
|
91
|
+
/** @deprecated Use `modules.dir` instead */
|
|
92
|
+
modulesDir?: string;
|
|
93
|
+
/** @deprecated Use `modules.repo` instead */
|
|
94
|
+
defaultRepo?: RepoTypeConfig;
|
|
95
|
+
/** @deprecated Use `modules.schemaDir` instead */
|
|
96
|
+
schemaDir?: string;
|
|
97
|
+
/** @deprecated Use `modules.pluralize` instead */
|
|
98
|
+
pluralize?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Directories to copy to dist/ after build.
|
|
101
|
+
* Useful for EJS templates, email templates, static assets, etc.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* copyDirs: [
|
|
106
|
+
* 'src/views', // copies to dist/src/views
|
|
107
|
+
* { src: 'src/views', dest: 'dist/views' }, // custom dest
|
|
108
|
+
* 'src/emails',
|
|
109
|
+
* ]
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
copyDirs?: Array<string | {
|
|
113
|
+
src: string;
|
|
114
|
+
dest?: string;
|
|
115
|
+
}>;
|
|
116
|
+
/** Custom commands that extend the CLI */
|
|
117
|
+
commands?: KickCommandDefinition[];
|
|
118
|
+
/** Code style overrides (auto-detected from prettier when possible) */
|
|
119
|
+
style?: {
|
|
120
|
+
semicolons?: boolean;
|
|
121
|
+
quotes?: 'single' | 'double';
|
|
122
|
+
trailingComma?: 'all' | 'es5' | 'none';
|
|
123
|
+
indent?: number;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** Helper to define a type-safe kick.config.ts */
|
|
127
|
+
declare function defineConfig(config: KickConfig): KickConfig;
|
|
128
|
+
/** Load kick.config.* from the project root */
|
|
129
|
+
declare function loadKickConfig(cwd: string): Promise<KickConfig | null>;
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/generators/module.d.ts
|
|
132
|
+
type BuiltinRepoType = 'drizzle' | 'inmemory' | 'prisma';
|
|
133
|
+
type RepoType = BuiltinRepoType | (string & {});
|
|
134
|
+
interface GenerateModuleOptions {
|
|
135
|
+
name: string;
|
|
136
|
+
modulesDir: string;
|
|
137
|
+
noEntity?: boolean;
|
|
138
|
+
noTests?: boolean;
|
|
139
|
+
repo?: RepoType;
|
|
140
|
+
minimal?: boolean;
|
|
141
|
+
force?: boolean;
|
|
142
|
+
pattern?: ProjectPattern;
|
|
143
|
+
dryRun?: boolean;
|
|
144
|
+
/** When false, skip pluralization — use singular names for folders, routes, and classes */
|
|
145
|
+
pluralize?: boolean;
|
|
146
|
+
/** Prisma client import path (default: '@prisma/client', Prisma 7+: '@/generated/prisma/client') */
|
|
147
|
+
prismaClientPath?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Generate a module — structure depends on the project pattern.
|
|
151
|
+
*
|
|
152
|
+
* Patterns:
|
|
153
|
+
* rest — flat folder: controller + service + DTOs + repo
|
|
154
|
+
* ddd — nested DDD: presentation/ application/ domain/ infrastructure/
|
|
155
|
+
* graphql — flat folder: resolver + service + DTOs + repo (future)
|
|
156
|
+
* cqrs — commands, queries, events with WS/queue integration
|
|
157
|
+
* minimal — just controller + module index
|
|
158
|
+
*/
|
|
159
|
+
declare function generateModule(options: GenerateModuleOptions): Promise<string[]>;
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region src/generators/adapter.d.ts
|
|
162
|
+
interface GenerateAdapterOptions {
|
|
163
|
+
name: string;
|
|
164
|
+
outDir: string;
|
|
165
|
+
}
|
|
166
|
+
declare function generateAdapter(options: GenerateAdapterOptions): Promise<string[]>;
|
|
167
|
+
//#endregion
|
|
168
|
+
//#region src/generators/middleware.d.ts
|
|
169
|
+
interface GenerateMiddlewareOptions {
|
|
170
|
+
name: string;
|
|
171
|
+
outDir?: string;
|
|
172
|
+
moduleName?: string;
|
|
173
|
+
modulesDir?: string;
|
|
174
|
+
pattern?: ProjectPattern;
|
|
175
|
+
}
|
|
176
|
+
declare function generateMiddleware(options: GenerateMiddlewareOptions): Promise<string[]>;
|
|
177
|
+
//#endregion
|
|
178
|
+
//#region src/generators/guard.d.ts
|
|
179
|
+
interface GenerateGuardOptions {
|
|
180
|
+
name: string;
|
|
181
|
+
outDir?: string;
|
|
182
|
+
moduleName?: string;
|
|
183
|
+
modulesDir?: string;
|
|
184
|
+
pattern?: ProjectPattern;
|
|
185
|
+
}
|
|
186
|
+
declare function generateGuard(options: GenerateGuardOptions): Promise<string[]>;
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/generators/service.d.ts
|
|
189
|
+
interface GenerateServiceOptions {
|
|
190
|
+
name: string;
|
|
191
|
+
outDir?: string;
|
|
192
|
+
moduleName?: string;
|
|
193
|
+
modulesDir?: string;
|
|
194
|
+
pattern?: ProjectPattern;
|
|
195
|
+
}
|
|
196
|
+
declare function generateService(options: GenerateServiceOptions): Promise<string[]>;
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region src/generators/controller.d.ts
|
|
199
|
+
interface GenerateControllerOptions {
|
|
200
|
+
name: string;
|
|
201
|
+
outDir?: string;
|
|
202
|
+
moduleName?: string;
|
|
203
|
+
modulesDir?: string;
|
|
204
|
+
pattern?: ProjectPattern;
|
|
205
|
+
}
|
|
206
|
+
declare function generateController(options: GenerateControllerOptions): Promise<string[]>;
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/generators/dto.d.ts
|
|
209
|
+
interface GenerateDtoOptions {
|
|
210
|
+
name: string;
|
|
211
|
+
outDir?: string;
|
|
212
|
+
moduleName?: string;
|
|
213
|
+
modulesDir?: string;
|
|
214
|
+
pattern?: ProjectPattern;
|
|
215
|
+
}
|
|
216
|
+
declare function generateDto(options: GenerateDtoOptions): Promise<string[]>;
|
|
217
|
+
//#endregion
|
|
218
|
+
//#region src/generators/project.d.ts
|
|
219
|
+
type ProjectTemplate = 'rest' | 'graphql' | 'ddd' | 'cqrs' | 'minimal';
|
|
220
|
+
interface InitProjectOptions {
|
|
221
|
+
name: string;
|
|
222
|
+
directory: string;
|
|
223
|
+
packageManager?: 'pnpm' | 'npm' | 'yarn';
|
|
224
|
+
initGit?: boolean;
|
|
225
|
+
installDeps?: boolean;
|
|
226
|
+
template?: ProjectTemplate;
|
|
227
|
+
defaultRepo?: string;
|
|
228
|
+
}
|
|
229
|
+
/** Scaffold a new KickJS project */
|
|
230
|
+
declare function initProject(options: InitProjectOptions): Promise<void>;
|
|
231
|
+
//#endregion
|
|
232
|
+
//#region src/utils/naming.d.ts
|
|
233
|
+
/** Convert a name to PascalCase */
|
|
234
|
+
declare function toPascalCase(name: string): string;
|
|
235
|
+
/** Convert a name to camelCase */
|
|
236
|
+
declare function toCamelCase(name: string): string;
|
|
237
|
+
/** Convert a name to kebab-case */
|
|
238
|
+
declare function toKebabCase(name: string): string;
|
|
239
|
+
/**
|
|
240
|
+
* Pluralize a kebab-case name for directory/file names.
|
|
241
|
+
* If already plural (ends in 's'), returns as-is.
|
|
242
|
+
*/
|
|
243
|
+
declare function pluralize(name: string): string;
|
|
244
|
+
//#endregion
|
|
245
|
+
export { type KickCommandDefinition, type KickConfig, defineConfig, generateAdapter, generateController, generateDto, generateGuard, generateMiddleware, generateModule, generateService, initProject, loadKickConfig, pluralize, toCamelCase, toKebabCase, toPascalCase };
|
|
246
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config.ts","../src/generators/module.ts","../src/generators/adapter.ts","../src/generators/middleware.ts","../src/generators/guard.ts","../src/generators/service.ts","../src/generators/controller.ts","../src/generators/dto.ts","../src/generators/project.ts","../src/utils/naming.ts"],"mappings":";;;UAIiB,qBAAA;EAAqB;EAEpC,IAAA;EAFoC;EAIpC,WAAA;EAAA;;;;;AAeF;;;EANE,KAAA;EAMwB;EAJxB,OAAA;AAAA;;KAIU,cAAA;;KAGA,iBAAA;;UAKK,cAAA;EACf,IAAA;AAAA;;KAIU,cAAA,GAAiB,iBAAA,GAAkB,cAAA;;UAG9B,YAAA;EAAA;EAEf,GAAA;;;;;;;;;;;AAoCF;;;EAtBE,IAAA,GAAO,cAAA;EA2CG;EAzCV,SAAA;EAiEW;;;;;EA3DX,SAAA;EAmCA;;;;;;;;;EAzBA,gBAAA;AAAA;;UAIe,UAAA;EAiDf;;;;;;;AASF;EAjDE,OAAA,GAAU,cAAA;;;;;;;;AA8EZ;;;;EAlEE,OAAA,GAAU,YAAA;EAkEuC;EA9DjD,UAAA;EA8DmE;EA5DnE,WAAA,GAAc,cAAA;;EAEd,SAAA;;EAEA,SAAA;EC9FyB;;;;AAC3B;;;;;AAOC;;;;EDoGC,QAAA,GAAW,KAAA;IAAiB,GAAA;IAAa,IAAA;EAAA;EC7FzC;ED+FA,QAAA,GAAW,qBAAA;EC9FX;EDgGA,KAAA;IACE,UAAA;IACA,MAAA;IACA,aAAA;IACA,MAAA;EAAA;AAAA;;iBAKY,YAAA,CAAa,MAAA,EAAQ,UAAA,GAAa,UAAA;;iBA6B5B,cAAA,CAAe,GAAA,WAAc,OAAA,CAAQ,UAAA;;;KCtJ/C,eAAA;AAAA,KACA,QAAA,GAAW,eAAA;AAAA,UASb,qBAAA;EACR,IAAA;EACA,UAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA,GAAO,QAAA;EACP,OAAA;EACA,KAAA;EACA,OAAA,GAAU,cAAA;EACV,MAAA;EDVwB;ECYxB,SAAA;EDTyB;ECWzB,gBAAA;AAAA;;ADNF;;;;;AAKA;;;;iBCyBsB,cAAA,CAAe,OAAA,EAAS,qBAAA,GAAwB,OAAA;;;UCzD5D,sBAAA;EACR,IAAA;EACA,MAAA;AAAA;AAAA,iBAGoB,eAAA,CAAgB,OAAA,EAAS,sBAAA,GAAyB,OAAA;;;UCH9D,yBAAA;EACR,IAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA,GAAU,cAAA;AAAA;AAAA,iBAGU,kBAAA,CAAmB,OAAA,EAAS,yBAAA,GAA4B,OAAA;;;UCRpE,oBAAA;EACR,IAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA,GAAU,cAAA;AAAA;AAAA,iBAGU,aAAA,CAAc,OAAA,EAAS,oBAAA,GAAuB,OAAA;;;UCR1D,sBAAA;EACR,IAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA,GAAU,cAAA;AAAA;AAAA,iBAGU,eAAA,CAAgB,OAAA,EAAS,sBAAA,GAAyB,OAAA;;;UCR9D,yBAAA;EACR,IAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA,GAAU,cAAA;AAAA;AAAA,iBAGU,kBAAA,CAAmB,OAAA,EAAS,yBAAA,GAA4B,OAAA;;;UCRpE,kBAAA;EACR,IAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EACA,OAAA,GAAU,cAAA;AAAA;AAAA,iBAGU,WAAA,CAAY,OAAA,EAAS,kBAAA,GAAqB,OAAA;;;KCiB3D,eAAA;AAAA,UAEK,kBAAA;EACR,IAAA;EACA,SAAA;EACA,cAAA;EACA,OAAA;EACA,WAAA;EACA,QAAA,GAAW,eAAA;EACX,WAAA;AAAA;;iBAIoB,WAAA,CAAY,OAAA,EAAS,kBAAA,GAAqB,OAAA;;;;iBC3ChD,YAAA,CAAa,IAAA;;iBAOb,WAAA,CAAY,IAAA;;iBAMZ,WAAA,CAAY,IAAA;;;;;iBAWZ,SAAA,CAAU,IAAA"}
|