sonamu 0.5.6 → 0.6.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/dist/api/base-frame.js +12 -2
- package/dist/api/caster.js +66 -2
- package/dist/api/code-converters.js +489 -2
- package/dist/api/config.d.ts +76 -0
- package/dist/api/config.d.ts.map +1 -0
- package/dist/api/config.js +32 -0
- package/dist/api/context.d.ts +1 -0
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +3 -2
- package/dist/api/decorators.d.ts +1 -0
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +142 -2
- package/dist/api/index.js +9 -2
- package/dist/api/sonamu.d.ts +8 -22
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +482 -2
- package/dist/bin/build-config.d.ts +2 -1
- package/dist/bin/build-config.d.ts.map +1 -1
- package/dist/bin/build-config.js +12 -2
- package/dist/bin/cli-wrapper.js +71 -2
- package/dist/bin/cli.js +418 -2
- package/dist/bin/hot-hook-register.d.ts +11 -0
- package/dist/bin/hot-hook-register.d.ts.map +1 -0
- package/dist/bin/hot-hook-register.js +21 -0
- package/dist/database/_batch_update.js +78 -2
- package/dist/database/base-model.js +247 -2
- package/dist/database/code-generator.js +53 -2
- package/dist/database/db.d.ts +5 -16
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +132 -2
- package/dist/database/knex-plugins/knex-on-duplicate-update.js +39 -2
- package/dist/database/puri-wrapper.d.ts +22 -10
- package/dist/database/puri-wrapper.d.ts.map +1 -1
- package/dist/database/puri-wrapper.js +109 -2
- package/dist/database/puri.d.ts +105 -73
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +539 -2
- package/dist/database/puri.types.d.ts +33 -42
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +3 -2
- package/dist/database/transaction-context.d.ts +3 -3
- package/dist/database/transaction-context.d.ts.map +1 -1
- package/dist/database/transaction-context.js +14 -2
- package/dist/database/upsert-builder.js +215 -2
- package/dist/entity/entity-manager.d.ts +3 -1
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +114 -2
- package/dist/entity/entity-utils.js +210 -2
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +651 -2
- package/dist/exceptions/error-handler.js +29 -2
- package/dist/exceptions/so-exceptions.js +85 -2
- package/dist/file-storage/driver.js +79 -2
- package/dist/file-storage/file-storage.js +75 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -2
- package/dist/migration/code-generation.js +558 -2
- package/dist/migration/migration-set.js +364 -2
- package/dist/migration/migrator.d.ts +0 -9
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +510 -2
- package/dist/migration/types.js +3 -2
- package/dist/naite/naite.d.ts +12 -0
- package/dist/naite/naite.d.ts.map +1 -0
- package/dist/naite/naite.js +72 -0
- package/dist/stream/index.js +3 -2
- package/dist/stream/sse.js +38 -2
- package/dist/syncer/api-parser.d.ts +20 -0
- package/dist/syncer/api-parser.d.ts.map +1 -0
- package/dist/syncer/api-parser.js +229 -0
- package/dist/syncer/checksum.d.ts +21 -0
- package/dist/syncer/checksum.d.ts.map +1 -0
- package/dist/syncer/checksum.js +98 -0
- package/dist/syncer/code-generator.d.ts +20 -0
- package/dist/syncer/code-generator.d.ts.map +1 -0
- package/dist/syncer/code-generator.js +141 -0
- package/dist/syncer/entity-operations.d.ts +17 -0
- package/dist/syncer/entity-operations.d.ts.map +1 -0
- package/dist/syncer/entity-operations.js +58 -0
- package/dist/syncer/file-patterns.d.ts +29 -0
- package/dist/syncer/file-patterns.d.ts.map +1 -0
- package/dist/syncer/file-patterns.js +38 -0
- package/dist/syncer/index.d.ts +6 -0
- package/dist/syncer/index.d.ts.map +1 -1
- package/dist/syncer/index.js +9 -2
- package/dist/syncer/module-loader.d.ts +35 -0
- package/dist/syncer/module-loader.d.ts.map +1 -0
- package/dist/syncer/module-loader.js +82 -0
- package/dist/syncer/syncer.d.ts +93 -108
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +375 -2
- package/dist/template/entity-converter.d.ts +14 -0
- package/dist/template/entity-converter.d.ts.map +1 -0
- package/dist/template/entity-converter.js +101 -0
- package/dist/template/helpers.d.ts +23 -0
- package/dist/template/helpers.d.ts.map +1 -0
- package/dist/template/helpers.js +64 -0
- package/dist/{templates → template/implementations}/entity.template.d.ts +3 -3
- package/dist/template/implementations/entity.template.d.ts.map +1 -0
- package/dist/template/implementations/entity.template.js +87 -0
- package/dist/{templates → template/implementations}/generated.template.d.ts +3 -3
- package/dist/template/implementations/generated.template.d.ts.map +1 -0
- package/dist/template/implementations/generated.template.js +232 -0
- package/dist/{templates → template/implementations}/generated_http.template.d.ts +3 -3
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -0
- package/dist/template/implementations/generated_http.template.js +131 -0
- package/dist/{templates → template/implementations}/generated_sso.template.d.ts +3 -3
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -0
- package/dist/template/implementations/generated_sso.template.js +105 -0
- package/dist/{templates → template/implementations}/init_types.template.d.ts +3 -3
- package/dist/template/implementations/init_types.template.d.ts.map +1 -0
- package/dist/template/implementations/init_types.template.js +38 -0
- package/dist/template/implementations/model.template.d.ts +17 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -0
- package/dist/template/implementations/model.template.js +171 -0
- package/dist/{templates → template/implementations}/model_test.template.d.ts +3 -3
- package/dist/template/implementations/model_test.template.d.ts.map +1 -0
- package/dist/template/implementations/model_test.template.js +35 -0
- package/dist/{templates → template/implementations}/service.template.d.ts +6 -6
- package/dist/template/implementations/service.template.d.ts.map +1 -0
- package/dist/template/implementations/service.template.js +193 -0
- package/dist/{templates → template/implementations}/view_enums_buttonset.template.d.ts +3 -3
- package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_buttonset.template.js +31 -0
- package/dist/{templates → template/implementations}/view_enums_dropdown.template.d.ts +3 -4
- package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_dropdown.template.js +50 -0
- package/dist/{templates → template/implementations}/view_enums_select.template.d.ts +3 -3
- package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_select.template.js +55 -0
- package/dist/{templates → template/implementations}/view_form.template.d.ts +5 -5
- package/dist/template/implementations/view_form.template.d.ts.map +1 -0
- package/dist/template/implementations/view_form.template.js +337 -0
- package/dist/{templates → template/implementations}/view_id_all_select.template.d.ts +3 -3
- package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_id_all_select.template.js +31 -0
- package/dist/{templates → template/implementations}/view_id_async_select.template.d.ts +3 -3
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_id_async_select.template.js +105 -0
- package/dist/{templates → template/implementations}/view_list.template.d.ts +5 -13
- package/dist/template/implementations/view_list.template.d.ts.map +1 -0
- package/dist/template/implementations/view_list.template.js +465 -0
- package/dist/{templates → template/implementations}/view_list_columns.template.d.ts +3 -3
- package/dist/template/implementations/view_list_columns.template.d.ts.map +1 -0
- package/dist/template/implementations/view_list_columns.template.js +49 -0
- package/dist/{templates → template/implementations}/view_search_input.template.d.ts +3 -3
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -0
- package/dist/template/implementations/view_search_input.template.js +64 -0
- package/dist/template/index.d.ts +5 -0
- package/dist/template/index.d.ts.map +1 -0
- package/dist/template/index.js +6 -0
- package/dist/template/template.d.ts +39 -0
- package/dist/template/template.d.ts.map +1 -0
- package/dist/template/template.js +47 -0
- package/dist/template/zod-converter.d.ts +18 -0
- package/dist/template/zod-converter.d.ts.map +1 -0
- package/dist/template/zod-converter.js +166 -0
- package/dist/testing/_relation-graph.js +80 -2
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +521 -2
- package/dist/types/types.d.ts +39 -40
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +289 -2
- package/dist/typings/knex.d.js +3 -2
- package/dist/utils/async-utils.d.ts +7 -0
- package/dist/utils/async-utils.d.ts.map +1 -1
- package/dist/utils/async-utils.js +57 -2
- package/dist/utils/console-util.d.ts +2 -0
- package/dist/utils/console-util.d.ts.map +1 -0
- package/dist/utils/console-util.js +6 -0
- package/dist/utils/controller.js +26 -2
- package/dist/utils/esm-utils.d.ts +45 -0
- package/dist/utils/esm-utils.d.ts.map +1 -0
- package/dist/utils/esm-utils.js +56 -0
- package/dist/utils/fs-utils.js +17 -2
- package/dist/utils/lodash-able.js +6 -2
- package/dist/utils/model.js +22 -2
- package/dist/utils/path-utils.d.ts +89 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +60 -0
- package/dist/utils/process-utils.d.ts +13 -0
- package/dist/utils/process-utils.d.ts.map +1 -0
- package/dist/utils/process-utils.js +36 -0
- package/dist/utils/sql-parser.js +35 -2
- package/dist/utils/utils.d.ts +4 -7
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +33 -2
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +19 -2
- package/package.json +21 -9
- package/src/api/code-converters.ts +2 -2
- package/src/api/config.ts +142 -0
- package/src/api/context.ts +1 -0
- package/src/api/decorators.ts +15 -5
- package/src/api/sonamu.ts +102 -87
- package/src/bin/build-config.ts +2 -1
- package/src/bin/cli-wrapper.ts +10 -3
- package/src/bin/cli.ts +108 -56
- package/src/bin/hot-hook-register.ts +22 -0
- package/src/database/base-model.ts +1 -1
- package/src/database/code-generator.ts +1 -1
- package/src/database/db.ts +53 -60
- package/src/database/puri-wrapper.ts +104 -26
- package/src/database/puri.ts +477 -580
- package/src/database/puri.types.ts +111 -201
- package/src/database/transaction-context.ts +4 -4
- package/src/database/upsert-builder.ts +1 -1
- package/src/entity/entity-manager.ts +19 -15
- package/src/entity/entity.ts +4 -3
- package/src/index.ts +2 -0
- package/src/migration/code-generation.ts +1 -1
- package/src/migration/migration-set.ts +1 -1
- package/src/migration/migrator.ts +23 -152
- package/src/naite/naite.ts +70 -0
- package/src/syncer/api-parser.ts +299 -0
- package/src/syncer/checksum.ts +152 -0
- package/src/syncer/code-generator.ts +202 -0
- package/src/syncer/entity-operations.ts +68 -0
- package/src/syncer/file-patterns.ts +56 -0
- package/src/syncer/index.ts +6 -0
- package/src/syncer/module-loader.ts +125 -0
- package/src/syncer/syncer.ts +363 -1420
- package/src/template/entity-converter.ts +123 -0
- package/src/template/helpers.ts +84 -0
- package/src/{templates → template/implementations}/entity.template.ts +4 -4
- package/src/{templates → template/implementations}/generated.template.ts +9 -9
- package/src/{templates → template/implementations}/generated_http.template.ts +9 -6
- package/src/{templates → template/implementations}/generated_sso.template.ts +7 -7
- package/src/{templates → template/implementations}/init_types.template.ts +4 -4
- package/src/{templates → template/implementations}/model.template.ts +9 -9
- package/src/{templates → template/implementations}/model_test.template.ts +5 -5
- package/src/{templates → template/implementations}/service.template.ts +29 -12
- package/src/{templates → template/implementations}/view_enums_buttonset.template.ts +3 -3
- package/src/{templates → template/implementations}/view_enums_dropdown.template.ts +5 -21
- package/src/{templates → template/implementations}/view_enums_select.template.ts +4 -4
- package/src/{templates → template/implementations}/view_form.template.ts +11 -13
- package/src/{templates → template/implementations}/view_id_all_select.template.ts +3 -3
- package/src/{templates → template/implementations}/view_id_async_select.template.ts +3 -3
- package/src/{templates → template/implementations}/view_list.template.ts +13 -64
- package/src/{templates → template/implementations}/view_list_columns.template.ts +3 -3
- package/src/{templates → template/implementations}/view_search_input.template.ts +3 -3
- package/src/template/index.ts +4 -0
- package/src/template/template.ts +86 -0
- package/src/template/zod-converter.ts +219 -0
- package/src/testing/fixture-manager.ts +8 -1
- package/src/types/types.ts +39 -62
- package/src/utils/async-utils.ts +17 -0
- package/src/utils/console-util.ts +4 -0
- package/src/utils/esm-utils.ts +69 -0
- package/src/utils/path-utils.ts +102 -0
- package/src/utils/process-utils.ts +46 -0
- package/src/utils/sql-parser.ts +1 -1
- package/src/utils/utils.ts +14 -40
- package/src/utils/zod-error.ts +0 -1
- package/dist/api/base-frame.js.map +0 -1
- package/dist/api/caster.js.map +0 -1
- package/dist/api/code-converters.js.map +0 -1
- package/dist/api/context.js.map +0 -1
- package/dist/api/decorators.js.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/sonamu.js.map +0 -1
- package/dist/bin/build-config.js.map +0 -1
- package/dist/bin/cli-wrapper.js.map +0 -1
- package/dist/bin/cli.js.map +0 -1
- package/dist/database/_batch_update.js.map +0 -1
- package/dist/database/base-model.js.map +0 -1
- package/dist/database/code-generator.js.map +0 -1
- package/dist/database/db.js.map +0 -1
- package/dist/database/knex-plugins/knex-on-duplicate-update.js.map +0 -1
- package/dist/database/puri-wrapper.js.map +0 -1
- package/dist/database/puri.js.map +0 -1
- package/dist/database/puri.types.js.map +0 -1
- package/dist/database/transaction-context.js.map +0 -1
- package/dist/database/upsert-builder.js.map +0 -1
- package/dist/entity/entity-manager.js.map +0 -1
- package/dist/entity/entity-utils.js.map +0 -1
- package/dist/entity/entity.js.map +0 -1
- package/dist/exceptions/error-handler.js.map +0 -1
- package/dist/exceptions/so-exceptions.js.map +0 -1
- package/dist/file-storage/driver.js.map +0 -1
- package/dist/file-storage/file-storage.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/migration/code-generation.js.map +0 -1
- package/dist/migration/migration-set.js.map +0 -1
- package/dist/migration/migrator.js.map +0 -1
- package/dist/migration/types.js.map +0 -1
- package/dist/stream/index.js.map +0 -1
- package/dist/stream/sse.js.map +0 -1
- package/dist/syncer/index.js.map +0 -1
- package/dist/syncer/syncer.js.map +0 -1
- package/dist/templates/base-template.d.ts +0 -13
- package/dist/templates/base-template.d.ts.map +0 -1
- package/dist/templates/base-template.js +0 -2
- package/dist/templates/base-template.js.map +0 -1
- package/dist/templates/entity.template.d.ts.map +0 -1
- package/dist/templates/entity.template.js +0 -2
- package/dist/templates/entity.template.js.map +0 -1
- package/dist/templates/generated.template.d.ts.map +0 -1
- package/dist/templates/generated.template.js +0 -2
- package/dist/templates/generated.template.js.map +0 -1
- package/dist/templates/generated_http.template.d.ts.map +0 -1
- package/dist/templates/generated_http.template.js +0 -2
- package/dist/templates/generated_http.template.js.map +0 -1
- package/dist/templates/generated_sso.template.d.ts.map +0 -1
- package/dist/templates/generated_sso.template.js +0 -2
- package/dist/templates/generated_sso.template.js.map +0 -1
- package/dist/templates/index.d.ts +0 -2
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -2
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/init_types.template.d.ts.map +0 -1
- package/dist/templates/init_types.template.js +0 -2
- package/dist/templates/init_types.template.js.map +0 -1
- package/dist/templates/model.template.d.ts +0 -17
- package/dist/templates/model.template.d.ts.map +0 -1
- package/dist/templates/model.template.js +0 -2
- package/dist/templates/model.template.js.map +0 -1
- package/dist/templates/model_test.template.d.ts.map +0 -1
- package/dist/templates/model_test.template.js +0 -2
- package/dist/templates/model_test.template.js.map +0 -1
- package/dist/templates/service.template.d.ts.map +0 -1
- package/dist/templates/service.template.js +0 -2
- package/dist/templates/service.template.js.map +0 -1
- package/dist/templates/view_enums_buttonset.template.d.ts.map +0 -1
- package/dist/templates/view_enums_buttonset.template.js +0 -2
- package/dist/templates/view_enums_buttonset.template.js.map +0 -1
- package/dist/templates/view_enums_dropdown.template.d.ts.map +0 -1
- package/dist/templates/view_enums_dropdown.template.js +0 -2
- package/dist/templates/view_enums_dropdown.template.js.map +0 -1
- package/dist/templates/view_enums_select.template.d.ts.map +0 -1
- package/dist/templates/view_enums_select.template.js +0 -2
- package/dist/templates/view_enums_select.template.js.map +0 -1
- package/dist/templates/view_form.template.d.ts.map +0 -1
- package/dist/templates/view_form.template.js +0 -2
- package/dist/templates/view_form.template.js.map +0 -1
- package/dist/templates/view_id_all_select.template.d.ts.map +0 -1
- package/dist/templates/view_id_all_select.template.js +0 -2
- package/dist/templates/view_id_all_select.template.js.map +0 -1
- package/dist/templates/view_id_async_select.template.d.ts.map +0 -1
- package/dist/templates/view_id_async_select.template.js +0 -2
- package/dist/templates/view_id_async_select.template.js.map +0 -1
- package/dist/templates/view_list.template.d.ts.map +0 -1
- package/dist/templates/view_list.template.js +0 -2
- package/dist/templates/view_list.template.js.map +0 -1
- package/dist/templates/view_list_columns.template.d.ts.map +0 -1
- package/dist/templates/view_list_columns.template.js +0 -2
- package/dist/templates/view_list_columns.template.js.map +0 -1
- package/dist/templates/view_search_input.template.d.ts.map +0 -1
- package/dist/templates/view_search_input.template.js +0 -2
- package/dist/templates/view_search_input.template.js.map +0 -1
- package/dist/testing/_relation-graph.js.map +0 -1
- package/dist/testing/fixture-manager.js.map +0 -1
- package/dist/types/types.js.map +0 -1
- package/dist/typings/knex.d.js.map +0 -1
- package/dist/utils/async-utils.js.map +0 -1
- package/dist/utils/controller.js.map +0 -1
- package/dist/utils/fs-utils.js.map +0 -1
- package/dist/utils/lodash-able.js.map +0 -1
- package/dist/utils/model.js.map +0 -1
- package/dist/utils/sql-parser.js.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/dist/utils/zod-error.js.map +0 -1
- package/src/templates/base-template.ts +0 -19
- package/src/templates/index.ts +0 -1
package/dist/types/types.d.ts
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
import type { GuardKey } from "./../api/decorators";
|
|
2
|
-
import type {
|
|
3
|
-
import type { FastifyFormbodyOptions } from "@fastify/formbody";
|
|
4
|
-
import type { FastifyInstance, FastifyReply, FastifyRequest, FastifyServerOptions } from "fastify";
|
|
5
|
-
import type { QsPluginOptions } from "fastify-qs";
|
|
2
|
+
import type { FastifyReply, FastifyRequest } from "fastify";
|
|
6
3
|
import { z } from "zod";
|
|
7
4
|
import type { ApiDecoratorOptions, AuthContext, Context } from "../api";
|
|
8
|
-
import type { FastifyMultipartOptions } from "@fastify/multipart";
|
|
9
|
-
import type { Driver } from "../file-storage/driver";
|
|
10
|
-
import type { SsePluginOptions } from "fastify-sse-v2/lib/types";
|
|
11
|
-
import type { FastifyStaticOptions } from "@fastify/static";
|
|
12
|
-
import { SecureSessionPluginOptions } from "@fastify/secure-session";
|
|
13
|
-
import { DeserializeFunction, SerializeFunction } from "@fastify/passport/dist/Authenticator";
|
|
14
5
|
export type EnumsLabel<T extends string, L extends "ko" | "en"> = {
|
|
15
6
|
[key in T]: {
|
|
16
7
|
[lang in L]: string;
|
|
@@ -178,6 +169,22 @@ export type SMDInput<T extends string> = {
|
|
|
178
169
|
[subset: string]: T[];
|
|
179
170
|
};
|
|
180
171
|
};
|
|
172
|
+
/**
|
|
173
|
+
* 엔티티의 필드 구조를 트리 형태로 표현하는 중간 노드입니다.
|
|
174
|
+
*
|
|
175
|
+
* **목적**: Entity의 subset 필드 표현식(예: "id", "user.name", "tags[]")을
|
|
176
|
+
* 재귀적인 트리 구조로 파싱하여 Zod 스키마 생성의 중간 단계로 사용합니다.
|
|
177
|
+
*
|
|
178
|
+
* **변환 흐름**:
|
|
179
|
+
* Entity subset → EntityPropNode (트리 구조) → Zod 스키마 → RenderingNode (UI용)
|
|
180
|
+
*
|
|
181
|
+
* **nodeType**:
|
|
182
|
+
* - "plain": 단일 필드 (예: "id", "name")
|
|
183
|
+
* - "object": 중첩 객체 (예: "user.name" → user 객체)
|
|
184
|
+
* - "array": 배열 (예: "tags[]" → tags 배열)
|
|
185
|
+
*
|
|
186
|
+
* **사용 위치**: entity-converter.ts의 propNodeToZodType()
|
|
187
|
+
*/
|
|
181
188
|
export type EntityPropNode = {
|
|
182
189
|
nodeType: "plain";
|
|
183
190
|
prop: EntityProp;
|
|
@@ -251,8 +258,8 @@ export type SubsetQuery = {
|
|
|
251
258
|
};
|
|
252
259
|
export declare const SonamuQueryMode: z.ZodEnum<{
|
|
253
260
|
count: "count";
|
|
254
|
-
both: "both";
|
|
255
261
|
list: "list";
|
|
262
|
+
both: "both";
|
|
256
263
|
}>;
|
|
257
264
|
export type SonamuQueryMode = z.infer<typeof SonamuQueryMode>;
|
|
258
265
|
export type KnexError = {
|
|
@@ -394,6 +401,26 @@ export declare namespace ApiParamType {
|
|
|
394
401
|
function isTypeParam(v: any): v is ApiParamType.TypeParam;
|
|
395
402
|
}
|
|
396
403
|
export type ApiParamType = "string" | "number" | "boolean" | "null" | "undefined" | "void" | "any" | "unknown" | "true" | "false" | ApiParamType.StringLiteral | ApiParamType.NumericLiteral | ApiParamType.Object | ApiParamType.Union | ApiParamType.Intersection | ApiParamType.Array | ApiParamType.Ref | ApiParamType.IndexedAccess | ApiParamType.TypeParam | ApiParamType.TupleType;
|
|
404
|
+
/**
|
|
405
|
+
* UI 컴포넌트 렌더링을 위한 메타데이터 노드입니다.
|
|
406
|
+
*
|
|
407
|
+
* **목적**: Zod 스키마로부터 프론트엔드 UI 컴포넌트를 자동 생성하기 위한
|
|
408
|
+
* 렌더링 정보를 담은 트리 구조입니다. 각 필드가 어떤 UI 컴포넌트로
|
|
409
|
+
* 표현되어야 하는지(텍스트, 이미지, 날짜, Enum 선택 등)를 명시합니다.
|
|
410
|
+
*
|
|
411
|
+
* **변환 흐름**:
|
|
412
|
+
* Entity subset → EntityPropNode → Zod 스키마 → RenderingNode (UI용) → React 컴포넌트 코드 생성
|
|
413
|
+
*
|
|
414
|
+
* **주요 필드**:
|
|
415
|
+
* - `renderType`: UI 컴포넌트 유형 (string-plain, number-fk_id, enums, array 등)
|
|
416
|
+
* - `zodType`: 원본 Zod 스키마 (validation 용)
|
|
417
|
+
* - `children`: 중첩된 객체 필드들 (object일 때)
|
|
418
|
+
* - `element`: 배열 요소 타입 (array일 때)
|
|
419
|
+
*
|
|
420
|
+
* **사용 위치**:
|
|
421
|
+
* - zod-converter.ts의 zodTypeToRenderingNode()에서 생성
|
|
422
|
+
* - view_form.template.ts, view_list.template.ts 등에서 React 컴포넌트 코드 생성에 사용
|
|
423
|
+
*/
|
|
397
424
|
export declare const RenderingNode: z.ZodAny;
|
|
398
425
|
export type RenderingNode = {
|
|
399
426
|
name: string;
|
|
@@ -564,7 +591,7 @@ export type ManyToManyBaseSchema<FromIdKey extends string, ToIdKey extends strin
|
|
|
564
591
|
[K in `${ToIdKey}_id`]: number;
|
|
565
592
|
};
|
|
566
593
|
export type SonamuFastifyConfig = {
|
|
567
|
-
contextProvider: (defaultContext: Pick<Context, "request" | "reply" | "headers" | "createSSE"> & AuthContext, request: FastifyRequest, reply: FastifyReply) => Context
|
|
594
|
+
contextProvider: (defaultContext: Pick<Context, "request" | "reply" | "headers" | "createSSE" | "naiteStore"> & AuthContext, request: FastifyRequest, reply: FastifyReply) => Context | Promise<Context>;
|
|
568
595
|
guardHandler: (guard: GuardKey, request: FastifyRequest, api: {
|
|
569
596
|
typeParameters: ApiParamType.TypeParam[];
|
|
570
597
|
parameters: ApiParam[];
|
|
@@ -588,33 +615,5 @@ export type SonamuFastifyConfig = {
|
|
|
588
615
|
};
|
|
589
616
|
};
|
|
590
617
|
};
|
|
591
|
-
export type SonamuServerOptions = {
|
|
592
|
-
fastify?: FastifyServerOptions;
|
|
593
|
-
listen?: {
|
|
594
|
-
port: number;
|
|
595
|
-
host?: string;
|
|
596
|
-
};
|
|
597
|
-
plugins?: {
|
|
598
|
-
cors?: boolean | FastifyCorsOptions;
|
|
599
|
-
formbody?: boolean | FastifyFormbodyOptions;
|
|
600
|
-
multipart?: boolean | FastifyMultipartOptions;
|
|
601
|
-
qs?: boolean | QsPluginOptions;
|
|
602
|
-
sse?: boolean | SsePluginOptions;
|
|
603
|
-
static?: boolean | FastifyStaticOptions;
|
|
604
|
-
session?: boolean | SecureSessionPluginOptions;
|
|
605
|
-
custom?: (server: FastifyInstance) => void;
|
|
606
|
-
};
|
|
607
|
-
auth?: boolean | {
|
|
608
|
-
userSerializer: SerializeFunction<unknown, unknown>;
|
|
609
|
-
userDeserializer: DeserializeFunction<unknown, unknown>;
|
|
610
|
-
};
|
|
611
|
-
apiConfig: SonamuFastifyConfig;
|
|
612
|
-
storage?: Driver;
|
|
613
|
-
lifecycle?: {
|
|
614
|
-
onStart?: (server: FastifyInstance) => Promise<void> | void;
|
|
615
|
-
onShutdown?: (server: FastifyInstance) => Promise<void> | void;
|
|
616
|
-
onError?: (error: Error, request: FastifyRequest, reply: FastifyReply) => Promise<void> | void;
|
|
617
|
-
};
|
|
618
|
-
};
|
|
619
618
|
export {};
|
|
620
619
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.js
CHANGED
|
@@ -1,2 +1,289 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/*
|
|
3
|
+
Custom Scalars
|
|
4
|
+
*/ export const SQLDateTimeString = z.string().regex(/([0-9]{4}-[0-9]{2}-[0-9]{2}( [0-9]{2}:[0-9]{2}:[0-9]{2})*)$/, {
|
|
5
|
+
message: "잘못된 SQLDate 타입"
|
|
6
|
+
}).min(10).max(19).describe("SQLDateTimeString");
|
|
7
|
+
/*
|
|
8
|
+
Utility Types
|
|
9
|
+
*/ export function zArrayable(shape) {
|
|
10
|
+
return z.union([
|
|
11
|
+
shape,
|
|
12
|
+
shape.array()
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
/*
|
|
16
|
+
Prop Type Guards
|
|
17
|
+
*/ export function isIntegerProp(p) {
|
|
18
|
+
return p?.type === "integer";
|
|
19
|
+
}
|
|
20
|
+
export function isBigIntegerProp(p) {
|
|
21
|
+
return p?.type === "bigInteger";
|
|
22
|
+
}
|
|
23
|
+
export function isTextProp(p) {
|
|
24
|
+
return p?.type === "text";
|
|
25
|
+
}
|
|
26
|
+
export function isStringProp(p) {
|
|
27
|
+
return p?.type === "string";
|
|
28
|
+
}
|
|
29
|
+
export function isEnumProp(p) {
|
|
30
|
+
return p?.type === "enum";
|
|
31
|
+
}
|
|
32
|
+
export function isFloatProp(p) {
|
|
33
|
+
return p?.type === "float";
|
|
34
|
+
}
|
|
35
|
+
export function isDoubleProp(p) {
|
|
36
|
+
return p?.type === "double";
|
|
37
|
+
}
|
|
38
|
+
export function isDecimalProp(p) {
|
|
39
|
+
return p?.type === "decimal";
|
|
40
|
+
}
|
|
41
|
+
export function isBooleanProp(p) {
|
|
42
|
+
return p?.type === "boolean";
|
|
43
|
+
}
|
|
44
|
+
export function isDateProp(p) {
|
|
45
|
+
return p?.type === "date";
|
|
46
|
+
}
|
|
47
|
+
export function isDateTimeProp(p) {
|
|
48
|
+
return p?.type === "datetime";
|
|
49
|
+
}
|
|
50
|
+
export function isTimeProp(p) {
|
|
51
|
+
return p?.type === "time";
|
|
52
|
+
}
|
|
53
|
+
export function isTimestampProp(p) {
|
|
54
|
+
return p?.type === "timestamp";
|
|
55
|
+
}
|
|
56
|
+
export function isJsonProp(p) {
|
|
57
|
+
return p?.type === "json";
|
|
58
|
+
}
|
|
59
|
+
export function isUuidProp(p) {
|
|
60
|
+
return p?.type === "uuid";
|
|
61
|
+
}
|
|
62
|
+
export function isVirtualProp(p) {
|
|
63
|
+
return p?.type === "virtual";
|
|
64
|
+
}
|
|
65
|
+
export function isRelationProp(p) {
|
|
66
|
+
return p?.type === "relation";
|
|
67
|
+
}
|
|
68
|
+
export function isOneToOneRelationProp(p) {
|
|
69
|
+
return p?.relationType === "OneToOne";
|
|
70
|
+
}
|
|
71
|
+
export function isBelongsToOneRelationProp(p) {
|
|
72
|
+
return p?.relationType === "BelongsToOne";
|
|
73
|
+
}
|
|
74
|
+
export function isHasManyRelationProp(p) {
|
|
75
|
+
return p?.relationType === "HasMany";
|
|
76
|
+
}
|
|
77
|
+
export function isManyToManyRelationProp(p) {
|
|
78
|
+
return p?.relationType === "ManyToMany";
|
|
79
|
+
}
|
|
80
|
+
export function isCustomJoinClause(p) {
|
|
81
|
+
return p?.custom;
|
|
82
|
+
}
|
|
83
|
+
/* BaseModel */ export const SonamuQueryMode = z.enum([
|
|
84
|
+
"both",
|
|
85
|
+
"list",
|
|
86
|
+
"count"
|
|
87
|
+
]);
|
|
88
|
+
export function isKnexError(e) {
|
|
89
|
+
return e.code && e.sqlMessage && e.sqlState;
|
|
90
|
+
}
|
|
91
|
+
(function(ApiParamType) {
|
|
92
|
+
function isObject(v) {
|
|
93
|
+
return v?.t === "object";
|
|
94
|
+
}
|
|
95
|
+
ApiParamType.isObject = isObject;
|
|
96
|
+
function isUnion(v) {
|
|
97
|
+
return v?.t === "union";
|
|
98
|
+
}
|
|
99
|
+
ApiParamType.isUnion = isUnion;
|
|
100
|
+
function isIntersection(v) {
|
|
101
|
+
return v?.t === "intersection";
|
|
102
|
+
}
|
|
103
|
+
ApiParamType.isIntersection = isIntersection;
|
|
104
|
+
function isStringLiteral(v) {
|
|
105
|
+
return v?.t === "string-literal";
|
|
106
|
+
}
|
|
107
|
+
ApiParamType.isStringLiteral = isStringLiteral;
|
|
108
|
+
function isNumericLiteral(v) {
|
|
109
|
+
return v?.t === "numeric-literal";
|
|
110
|
+
}
|
|
111
|
+
ApiParamType.isNumericLiteral = isNumericLiteral;
|
|
112
|
+
function isArray(v) {
|
|
113
|
+
return v?.t === "array";
|
|
114
|
+
}
|
|
115
|
+
ApiParamType.isArray = isArray;
|
|
116
|
+
function isRef(v) {
|
|
117
|
+
return v?.t === "ref";
|
|
118
|
+
}
|
|
119
|
+
ApiParamType.isRef = isRef;
|
|
120
|
+
function isIndexedAccess(v) {
|
|
121
|
+
return v?.t === "indexed-access";
|
|
122
|
+
}
|
|
123
|
+
ApiParamType.isIndexedAccess = isIndexedAccess;
|
|
124
|
+
function isTupleType(v) {
|
|
125
|
+
return v?.t === "tuple-type";
|
|
126
|
+
}
|
|
127
|
+
ApiParamType.isTupleType = isTupleType;
|
|
128
|
+
function isPick(v) {
|
|
129
|
+
return v?.t === "ref" && v.id === "Pick";
|
|
130
|
+
}
|
|
131
|
+
ApiParamType.isPick = isPick;
|
|
132
|
+
function isOmit(v) {
|
|
133
|
+
return v?.t === "ref" && v.id === "Omit";
|
|
134
|
+
}
|
|
135
|
+
ApiParamType.isOmit = isOmit;
|
|
136
|
+
function isPartial(v) {
|
|
137
|
+
return v?.t === "ref" && v.id === "Partial";
|
|
138
|
+
}
|
|
139
|
+
ApiParamType.isPartial = isPartial;
|
|
140
|
+
function isPromise(v) {
|
|
141
|
+
return v?.t === "ref" && v.id === "Promise";
|
|
142
|
+
}
|
|
143
|
+
ApiParamType.isPromise = isPromise;
|
|
144
|
+
function isContext(v) {
|
|
145
|
+
return v?.t === "ref" && v.id === "Context";
|
|
146
|
+
}
|
|
147
|
+
ApiParamType.isContext = isContext;
|
|
148
|
+
function isRefKnex(v) {
|
|
149
|
+
return v?.t === "ref" && v.id === "Knex";
|
|
150
|
+
}
|
|
151
|
+
ApiParamType.isRefKnex = isRefKnex;
|
|
152
|
+
function isTypeParam(v) {
|
|
153
|
+
return v?.t === "type-param";
|
|
154
|
+
}
|
|
155
|
+
ApiParamType.isTypeParam = isTypeParam;
|
|
156
|
+
})(ApiParamType || (ApiParamType = {}));
|
|
157
|
+
/* Template */ /**
|
|
158
|
+
* UI 컴포넌트 렌더링을 위한 메타데이터 노드입니다.
|
|
159
|
+
*
|
|
160
|
+
* **목적**: Zod 스키마로부터 프론트엔드 UI 컴포넌트를 자동 생성하기 위한
|
|
161
|
+
* 렌더링 정보를 담은 트리 구조입니다. 각 필드가 어떤 UI 컴포넌트로
|
|
162
|
+
* 표현되어야 하는지(텍스트, 이미지, 날짜, Enum 선택 등)를 명시합니다.
|
|
163
|
+
*
|
|
164
|
+
* **변환 흐름**:
|
|
165
|
+
* Entity subset → EntityPropNode → Zod 스키마 → RenderingNode (UI용) → React 컴포넌트 코드 생성
|
|
166
|
+
*
|
|
167
|
+
* **주요 필드**:
|
|
168
|
+
* - `renderType`: UI 컴포넌트 유형 (string-plain, number-fk_id, enums, array 등)
|
|
169
|
+
* - `zodType`: 원본 Zod 스키마 (validation 용)
|
|
170
|
+
* - `children`: 중첩된 객체 필드들 (object일 때)
|
|
171
|
+
* - `element`: 배열 요소 타입 (array일 때)
|
|
172
|
+
*
|
|
173
|
+
* **사용 위치**:
|
|
174
|
+
* - zod-converter.ts의 zodTypeToRenderingNode()에서 생성
|
|
175
|
+
* - view_form.template.ts, view_list.template.ts 등에서 React 컴포넌트 코드 생성에 사용
|
|
176
|
+
*/ // 셀프 참조 타입이므로 Zod 생략하고 직접 정의
|
|
177
|
+
export const RenderingNode = z.any();
|
|
178
|
+
export const TemplateOptions = z.object({
|
|
179
|
+
entity: z.object({
|
|
180
|
+
entityId: z.string(),
|
|
181
|
+
parentId: z.string().optional(),
|
|
182
|
+
title: z.string(),
|
|
183
|
+
table: z.string().optional(),
|
|
184
|
+
props: z.array(z.object({})).optional(),
|
|
185
|
+
indexes: z.array(z.object({})).optional(),
|
|
186
|
+
subsets: z.object({}).optional(),
|
|
187
|
+
enums: z.object({}).optional()
|
|
188
|
+
}),
|
|
189
|
+
init_types: z.object({
|
|
190
|
+
entityId: z.string()
|
|
191
|
+
}),
|
|
192
|
+
generated: z.object({}),
|
|
193
|
+
generated_sso: z.object({}),
|
|
194
|
+
generated_http: z.object({
|
|
195
|
+
entityId: z.string()
|
|
196
|
+
}),
|
|
197
|
+
model: z.object({
|
|
198
|
+
entityId: z.string(),
|
|
199
|
+
defaultSearchField: z.string(),
|
|
200
|
+
defaultOrderBy: z.string()
|
|
201
|
+
}),
|
|
202
|
+
model_test: z.object({
|
|
203
|
+
entityId: z.string()
|
|
204
|
+
}),
|
|
205
|
+
bridge: z.object({
|
|
206
|
+
entityId: z.string()
|
|
207
|
+
}),
|
|
208
|
+
service: z.object({
|
|
209
|
+
namesRecord: z.object({
|
|
210
|
+
fs: z.string(),
|
|
211
|
+
fsPlural: z.string(),
|
|
212
|
+
camel: z.string(),
|
|
213
|
+
camelPlural: z.string(),
|
|
214
|
+
capital: z.string(),
|
|
215
|
+
capitalPlural: z.string(),
|
|
216
|
+
upper: z.string(),
|
|
217
|
+
constant: z.string()
|
|
218
|
+
}),
|
|
219
|
+
modelTsPath: z.string()
|
|
220
|
+
}),
|
|
221
|
+
view_list: z.object({
|
|
222
|
+
entityId: z.string(),
|
|
223
|
+
extra: z.unknown()
|
|
224
|
+
}),
|
|
225
|
+
view_list_columns: z.object({
|
|
226
|
+
entityId: z.string(),
|
|
227
|
+
columns: z.object({
|
|
228
|
+
name: z.string(),
|
|
229
|
+
label: z.string(),
|
|
230
|
+
tc: z.string()
|
|
231
|
+
}).array(),
|
|
232
|
+
columnImports: z.string()
|
|
233
|
+
}),
|
|
234
|
+
view_search_input: z.object({
|
|
235
|
+
entityId: z.string()
|
|
236
|
+
}),
|
|
237
|
+
view_form: z.object({
|
|
238
|
+
entityId: z.string()
|
|
239
|
+
}),
|
|
240
|
+
view_id_all_select: z.object({
|
|
241
|
+
entityId: z.string()
|
|
242
|
+
}),
|
|
243
|
+
view_id_async_select: z.object({
|
|
244
|
+
entityId: z.string(),
|
|
245
|
+
textField: z.string()
|
|
246
|
+
}),
|
|
247
|
+
view_enums_select: z.object({
|
|
248
|
+
entityId: z.string(),
|
|
249
|
+
enumId: z.string()
|
|
250
|
+
}),
|
|
251
|
+
view_enums_dropdown: z.object({
|
|
252
|
+
entityId: z.string(),
|
|
253
|
+
enumId: z.string()
|
|
254
|
+
}),
|
|
255
|
+
view_enums_buttonset: z.object({
|
|
256
|
+
entityId: z.string(),
|
|
257
|
+
enumId: z.string()
|
|
258
|
+
})
|
|
259
|
+
});
|
|
260
|
+
export const TemplateKey = z.enum([
|
|
261
|
+
"entity",
|
|
262
|
+
"init_types",
|
|
263
|
+
"generated",
|
|
264
|
+
"generated_sso",
|
|
265
|
+
"generated_http",
|
|
266
|
+
"model",
|
|
267
|
+
"model_test",
|
|
268
|
+
"bridge",
|
|
269
|
+
"service",
|
|
270
|
+
"view_list",
|
|
271
|
+
"view_list_columns",
|
|
272
|
+
"view_search_input",
|
|
273
|
+
"view_form",
|
|
274
|
+
"view_id_all_select",
|
|
275
|
+
"view_id_async_select",
|
|
276
|
+
"view_enums_select",
|
|
277
|
+
"view_enums_dropdown",
|
|
278
|
+
"view_enums_buttonset"
|
|
279
|
+
]);
|
|
280
|
+
export const GenerateOptions = z.object({
|
|
281
|
+
overwrite: z.boolean().optional()
|
|
282
|
+
});
|
|
283
|
+
export const PathAndCode = z.object({
|
|
284
|
+
path: z.string(),
|
|
285
|
+
code: z.string()
|
|
286
|
+
});
|
|
287
|
+
export var ApiParamType;
|
|
288
|
+
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEd1YXJkS2V5IH0gZnJvbSBcIi4vLi4vYXBpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgRmFzdGlmeVJlcGx5LCBGYXN0aWZ5UmVxdWVzdCB9IGZyb20gXCJmYXN0aWZ5XCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHR5cGUgeyBBcGlEZWNvcmF0b3JPcHRpb25zLCBBdXRoQ29udGV4dCwgQ29udGV4dCB9IGZyb20gXCIuLi9hcGlcIjtcblxuLypcbiAgRW51bXNcbiovXG5leHBvcnQgdHlwZSBFbnVtc0xhYmVsPFQgZXh0ZW5kcyBzdHJpbmcsIEwgZXh0ZW5kcyBcImtvXCIgfCBcImVuXCI+ID0ge1xuICBba2V5IGluIFRdOiB7IFtsYW5nIGluIExdOiBzdHJpbmcgfTtcbn07XG5leHBvcnQgdHlwZSBFbnVtc0xhYmVsS288VCBleHRlbmRzIHN0cmluZz4gPSBFbnVtc0xhYmVsPFQsIFwia29cIj47XG5cbi8qXG4gIEN1c3RvbSBTY2FsYXJzXG4qL1xuZXhwb3J0IGNvbnN0IFNRTERhdGVUaW1lU3RyaW5nID0gelxuICAuc3RyaW5nKClcbiAgLnJlZ2V4KC8oWzAtOV17NH0tWzAtOV17Mn0tWzAtOV17Mn0oIFswLTldezJ9OlswLTldezJ9OlswLTldezJ9KSopJC8sIHtcbiAgICBtZXNzYWdlOiBcIuyemOuqu+uQnCBTUUxEYXRlIO2DgOyehVwiLFxuICB9KVxuICAubWluKDEwKVxuICAubWF4KDE5KVxuICAuZGVzY3JpYmUoXCJTUUxEYXRlVGltZVN0cmluZ1wiKTtcbmV4cG9ydCB0eXBlIFNRTERhdGVUaW1lU3RyaW5nID0gei5pbmZlcjx0eXBlb2YgU1FMRGF0ZVRpbWVTdHJpbmc+O1xuXG4vKlxuICBVdGlsaXR5IFR5cGVzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIHpBcnJheWFibGU8VCBleHRlbmRzIHouWm9kVHlwZUFueT4oXG4gIHNoYXBlOiBUXG4pOiB6LlpvZFVuaW9uPFtULCB6LlpvZEFycmF5PFQ+XT4ge1xuICByZXR1cm4gei51bmlvbihbc2hhcGUsIHNoYXBlLmFycmF5KCldKTtcbn1cbmV4cG9ydCB0eXBlIERpc3RyaWJ1dGl2ZU9taXQ8VCwgSyBleHRlbmRzIGtleW9mIGFueT4gPSBUIGV4dGVuZHMgYW55XG4gID8gT21pdDxULCBLPlxuICA6IG5ldmVyO1xuXG4vKlxuICBNb2RlbC1EZWZpbnRpb25cbiovXG5leHBvcnQgdHlwZSBDb21tb25Qcm9wID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG51bGxhYmxlPzogYm9vbGVhbjtcbiAgdG9GaWx0ZXI/OiB0cnVlO1xuICBkZXNjPzogc3RyaW5nO1xuICBkYkRlZmF1bHQ/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgSW50ZWdlclByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImludGVnZXJcIjtcbiAgdW5zaWduZWQ/OiB0cnVlO1xufTtcbmV4cG9ydCB0eXBlIEJpZ0ludGVnZXJQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJiaWdJbnRlZ2VyXCI7XG4gIHVuc2lnbmVkPzogdHJ1ZTtcbn07XG5leHBvcnQgdHlwZSBUZXh0UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwidGV4dFwiO1xuICB0ZXh0VHlwZTogXCJ0ZXh0XCIgfCBcIm1lZGl1bXRleHRcIiB8IFwibG9uZ3RleHRcIjtcbn07XG5leHBvcnQgdHlwZSBTdHJpbmdQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJzdHJpbmdcIjtcbiAgbGVuZ3RoOiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgRW51bVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImVudW1cIjtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgRmxvYXRQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJmbG9hdFwiO1xuICB1bnNpZ25lZD86IHRydWU7XG4gIHByZWNpc2lvbjogbnVtYmVyO1xuICBzY2FsZTogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIERvdWJsZVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImRvdWJsZVwiO1xuICB1bnNpZ25lZD86IHRydWU7XG4gIHByZWNpc2lvbjogbnVtYmVyO1xuICBzY2FsZTogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIERlY2ltYWxQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJkZWNpbWFsXCI7XG4gIHVuc2lnbmVkPzogdHJ1ZTtcbiAgcHJlY2lzaW9uOiBudW1iZXI7XG4gIHNjYWxlOiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgQm9vbGVhblByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImJvb2xlYW5cIjtcbn07XG5leHBvcnQgdHlwZSBEYXRlUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZGF0ZVwiO1xufTtcbmV4cG9ydCB0eXBlIERhdGVUaW1lUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZGF0ZXRpbWVcIjtcbn07XG5leHBvcnQgdHlwZSBUaW1lUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwidGltZVwiO1xufTtcbmV4cG9ydCB0eXBlIFRpbWVzdGFtcFByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInRpbWVzdGFtcFwiO1xufTtcbmV4cG9ydCB0eXBlIEpzb25Qcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJqc29uXCI7XG4gIGlkOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgVXVpZFByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInV1aWRcIjtcbn07XG5leHBvcnQgdHlwZSBWaXJ0dWFsUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwidmlydHVhbFwiO1xuICBpZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25UeXBlID1cbiAgfCBcIkhhc01hbnlcIlxuICB8IFwiQmVsb25nc1RvT25lXCJcbiAgfCBcIk1hbnlUb01hbnlcIlxuICB8IFwiT25lVG9PbmVcIjtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uT24gPVxuICB8IFwiQ0FTQ0FERVwiXG4gIHwgXCJTRVQgTlVMTFwiXG4gIHwgXCJOTyBBQ1RJT05cIlxuICB8IFwiU0VUIERFRkFVTFRcIlxuICB8IFwiUkVTVFJJQ1RcIjtcbnR5cGUgX1JlbGF0aW9uUHJvcCA9IHtcbiAgdHlwZTogXCJyZWxhdGlvblwiO1xuICBuYW1lOiBzdHJpbmc7XG4gIHdpdGg6IHN0cmluZztcbiAgbnVsbGFibGU/OiBib29sZWFuOyAvLyBERUZBVUxUOiBmYWxzZVxuICB0b0ZpbHRlcj86IHRydWU7IC8vIERFRkFVTFQ6IGZhbHNlXG4gIGRlc2M/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgT25lVG9PbmVSZWxhdGlvblByb3AgPSBfUmVsYXRpb25Qcm9wICYge1xuICByZWxhdGlvblR5cGU6IFwiT25lVG9PbmVcIjtcbiAgY3VzdG9tSm9pbkNsYXVzZT86IHN0cmluZztcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIGhhc0pvaW5Db2x1bW46IHRydWU7XG4gICAgICAgIHVzZUNvbnN0cmFpbnQ/OiBib29sZWFuOyAvLyBERUZBVUxUOiB0cnVlXG4gICAgICAgIG9uVXBkYXRlPzogUmVsYXRpb25PbjsgLy8gREVGQVVMVDogUkVTVFJJQ1RcbiAgICAgICAgb25EZWxldGU/OiBSZWxhdGlvbk9uOyAvLyBERUZBVUxUOiBSRVNUUklDVFxuICAgICAgfVxuICAgIHwge1xuICAgICAgICBoYXNKb2luQ29sdW1uOiBmYWxzZTtcbiAgICAgIH1cbiAgKTtcbmV4cG9ydCB0eXBlIEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCA9IF9SZWxhdGlvblByb3AgJiB7XG4gIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIjtcbiAgY3VzdG9tSm9pbkNsYXVzZT86IHN0cmluZztcbiAgdXNlQ29uc3RyYWludD86IGJvb2xlYW47IC8vIERFRkFVTFQ6IHRydWVcbiAgb25VcGRhdGU/OiBSZWxhdGlvbk9uOyAvLyBERUZBVUxUOiBSRVNUUklDVFxuICBvbkRlbGV0ZT86IFJlbGF0aW9uT247IC8vIERFRkFVTFQ6IFJFU1RSSUNUXG59O1xuZXhwb3J0IHR5cGUgSGFzTWFueVJlbGF0aW9uUHJvcCA9IF9SZWxhdGlvblByb3AgJiB7XG4gIHJlbGF0aW9uVHlwZTogXCJIYXNNYW55XCI7XG4gIGpvaW5Db2x1bW46IHN0cmluZztcbiAgZnJvbUNvbHVtbj86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBNYW55VG9NYW55UmVsYXRpb25Qcm9wID0gX1JlbGF0aW9uUHJvcCAmIHtcbiAgcmVsYXRpb25UeXBlOiBcIk1hbnlUb01hbnlcIjtcbiAgam9pblRhYmxlOiBgJHtzdHJpbmd9X18ke3N0cmluZ31gO1xuICBvblVwZGF0ZTogUmVsYXRpb25PbjtcbiAgb25EZWxldGU6IFJlbGF0aW9uT247XG59O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25Qcm9wID1cbiAgfCBPbmVUb09uZVJlbGF0aW9uUHJvcFxuICB8IEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcFxuICB8IEhhc01hbnlSZWxhdGlvblByb3BcbiAgfCBNYW55VG9NYW55UmVsYXRpb25Qcm9wO1xuXG5leHBvcnQgdHlwZSBFbnRpdHlQcm9wID1cbiAgfCBJbnRlZ2VyUHJvcFxuICB8IEJpZ0ludGVnZXJQcm9wXG4gIHwgVGV4dFByb3BcbiAgfCBTdHJpbmdQcm9wXG4gIHwgRmxvYXRQcm9wXG4gIHwgRG91YmxlUHJvcFxuICB8IERlY2ltYWxQcm9wXG4gIHwgQm9vbGVhblByb3BcbiAgfCBEYXRlUHJvcFxuICB8IERhdGVUaW1lUHJvcFxuICB8IFRpbWVQcm9wXG4gIHwgVGltZXN0YW1wUHJvcFxuICB8IEpzb25Qcm9wXG4gIHwgVXVpZFByb3BcbiAgfCBFbnVtUHJvcFxuICB8IFZpcnR1YWxQcm9wXG4gIHwgUmVsYXRpb25Qcm9wO1xuXG5leHBvcnQgdHlwZSBFbnRpdHlJbmRleCA9IHtcbiAgdHlwZTogXCJpbmRleFwiIHwgXCJ1bmlxdWVcIiB8IFwiZnVsbHRleHRcIjtcbiAgY29sdW1uczogc3RyaW5nW107XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBhcnNlcj86IFwiYnVpbHQtaW5cIiB8IFwibmdyYW1cIjtcbn07XG5leHBvcnQgdHlwZSBFbnRpdHlKc29uID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXJlbnRJZD86IHN0cmluZztcbiAgdGFibGU6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHByb3BzOiBFbnRpdHlQcm9wW107XG4gIGluZGV4ZXM6IEVudGl0eUluZGV4W107XG4gIHN1YnNldHM6IHtcbiAgICBbc3Vic2V0OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgfTtcbiAgZW51bXM6IHtcbiAgICBbZW51bUlkOiBzdHJpbmddOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5leHBvcnQgdHlwZSBFbnRpdHlTdWJzZXRSb3cgPSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIGhhczoge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG4gIGNoaWxkcmVuOiBFbnRpdHlTdWJzZXRSb3dbXTtcbiAgcHJlZml4ZXM6IHN0cmluZ1tdO1xuICByZWxhdGlvbkVudGl0eT86IHN0cmluZztcbiAgaXNPcGVuPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBGbGF0dGVuU3Vic2V0Um93ID0gT21pdDxFbnRpdHlTdWJzZXRSb3csIFwiY2hpbGRyZW5cIj47XG5cbi8vIFNNRCBMZWdhY3lcbmV4cG9ydCB0eXBlIFNNRElucHV0PFQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXJlbnRJZD86IHN0cmluZztcbiAgdGFibGU/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBwcm9wcz86IEVudGl0eVByb3BbXTtcbiAgaW5kZXhlcz86IEVudGl0eUluZGV4W107XG4gIHN1YnNldHM/OiB7XG4gICAgW3N1YnNldDogc3RyaW5nXTogVFtdO1xuICB9O1xufTtcblxuLypcbiAgUHJvcE5vZGVcbiovXG5cbi8qKlxuICog7JeU7Yuw7Yuw7J2YIO2VhOuTnCDqtazsobDrpbwg7Yq466asIO2Yle2DnOuhnCDtkZztmITtlZjripQg7KSR6rCEIOuFuOuTnOyeheuLiOuLpC5cbiAqXG4gKiAqKuuqqeyggSoqOiBFbnRpdHnsnZggc3Vic2V0IO2VhOuTnCDtkZztmITsi50o7JiIOiBcImlkXCIsIFwidXNlci5uYW1lXCIsIFwidGFnc1tdXCIp7J2EXG4gKiDsnqzqt4DsoIHsnbgg7Yq466asIOq1rOyhsOuhnCDtjIzsi7HtlZjsl6wgWm9kIOyKpO2CpOuniCDsg53shLHsnZgg7KSR6rCEIOuLqOqzhOuhnCDsgqzsmqntlanri4jri6QuXG4gKlxuICogKirrs4DtmZgg7Z2Q66aEKio6XG4gKiBFbnRpdHkgc3Vic2V0IOKGkiBFbnRpdHlQcm9wTm9kZSAo7Yq466asIOq1rOyhsCkg4oaSIFpvZCDsiqTtgqTrp4gg4oaSIFJlbmRlcmluZ05vZGUgKFVJ7JqpKVxuICpcbiAqICoqbm9kZVR5cGUqKjpcbiAqIC0gXCJwbGFpblwiOiDri6jsnbwg7ZWE65OcICjsmIg6IFwiaWRcIiwgXCJuYW1lXCIpXG4gKiAtIFwib2JqZWN0XCI6IOykkeyyqSDqsJ3ssrQgKOyYiDogXCJ1c2VyLm5hbWVcIiDihpIgdXNlciDqsJ3ssrQpXG4gKiAtIFwiYXJyYXlcIjog67Cw7Je0ICjsmIg6IFwidGFnc1tdXCIg4oaSIHRhZ3Mg67Cw7Je0KVxuICpcbiAqICoq7IKs7JqpIOychOy5mCoqOiBlbnRpdHktY29udmVydGVyLnRz7J2YIHByb3BOb2RlVG9ab2RUeXBlKClcbiAqL1xuZXhwb3J0IHR5cGUgRW50aXR5UHJvcE5vZGUgPVxuICB8IHtcbiAgICAgIG5vZGVUeXBlOiBcInBsYWluXCI7XG4gICAgICBwcm9wOiBFbnRpdHlQcm9wO1xuICAgIH1cbiAgfCB7XG4gICAgICBub2RlVHlwZTogXCJvYmplY3RcIiB8IFwiYXJyYXlcIjtcbiAgICAgIHByb3A/OiBFbnRpdHlQcm9wO1xuICAgICAgY2hpbGRyZW46IEVudGl0eVByb3BOb2RlW107XG4gICAgfTtcblxuLypcbiAgUHJvcCBUeXBlIEd1YXJkc1xuKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXJQcm9wKHA6IGFueSk6IHAgaXMgSW50ZWdlclByb3Age1xuICByZXR1cm4gcD8udHlwZSA9PT0gXCJpbnRlZ2VyXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCaWdJbnRlZ2VyUHJvcChwOiBhbnkpOiBwIGlzIEJpZ0ludGVnZXJQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwiYmlnSW50ZWdlclwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVGV4dFByb3AocDogYW55KTogcCBpcyBUZXh0UHJvcCB7XG4gIHJldHVybiBwPy50eXBlID09PSBcInRleHRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ1Byb3AocDogYW55KTogcCBpcyBTdHJpbmdQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwic3RyaW5nXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNFbnVtUHJvcChwOiBhbnkpOiBwIGlzIEVudW1Qcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwiZW51bVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRmxvYXRQcm9wKHA6IGFueSk6IHAgaXMgRmxvYXRQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwiZmxvYXRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RvdWJsZVByb3AocDogYW55KTogcCBpcyBEb3VibGVQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwiZG91YmxlXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNEZWNpbWFsUHJvcChwOiBhbnkpOiBwIGlzIERlY2ltYWxQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwiZGVjaW1hbFwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhblByb3AocDogYW55KTogcCBpcyBCb29sZWFuUHJvcCB7XG4gIHJldHVybiBwPy50eXBlID09PSBcImJvb2xlYW5cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVQcm9wKHA6IGFueSk6IHAgaXMgRGF0ZVByb3Age1xuICByZXR1cm4gcD8udHlwZSA9PT0gXCJkYXRlXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVGltZVByb3AocDogYW55KTogcCBpcyBEYXRlVGltZVByb3Age1xuICByZXR1cm4gcD8udHlwZSA9PT0gXCJkYXRldGltZVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVGltZVByb3AocDogYW55KTogcCBpcyBUaW1lUHJvcCB7XG4gIHJldHVybiBwPy50eXBlID09PSBcInRpbWVcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1RpbWVzdGFtcFByb3AocDogYW55KTogcCBpcyBUaW1lc3RhbXBQcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwidGltZXN0YW1wXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUHJvcChwOiBhbnkpOiBwIGlzIEpzb25Qcm9wIHtcbiAgcmV0dXJuIHA/LnR5cGUgPT09IFwianNvblwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVXVpZFByb3AocDogYW55KTogcCBpcyBVdWlkUHJvcCB7XG4gIHJldHVybiBwPy50eXBlID09PSBcInV1aWRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZpcnR1YWxQcm9wKHA6IGFueSk6IHAgaXMgVmlydHVhbFByb3Age1xuICByZXR1cm4gcD8udHlwZSA9PT0gXCJ2aXJ0dWFsXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNSZWxhdGlvblByb3AocDogYW55KTogcCBpcyBSZWxhdGlvblByb3Age1xuICByZXR1cm4gcD8udHlwZSA9PT0gXCJyZWxhdGlvblwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzT25lVG9PbmVSZWxhdGlvblByb3AocDogYW55KTogcCBpcyBPbmVUb09uZVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiBwPy5yZWxhdGlvblR5cGUgPT09IFwiT25lVG9PbmVcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcChcbiAgcDogYW55XG4pOiBwIGlzIEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiBwPy5yZWxhdGlvblR5cGUgPT09IFwiQmVsb25nc1RvT25lXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNIYXNNYW55UmVsYXRpb25Qcm9wKHA6IGFueSk6IHAgaXMgSGFzTWFueVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiBwPy5yZWxhdGlvblR5cGUgPT09IFwiSGFzTWFueVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcChwOiBhbnkpOiBwIGlzIE1hbnlUb01hbnlSZWxhdGlvblByb3Age1xuICByZXR1cm4gcD8ucmVsYXRpb25UeXBlID09PSBcIk1hbnlUb01hbnlcIjtcbn1cblxudHlwZSBKb2luQ2xhdXNlID1cbiAgfCB7XG4gICAgICBmcm9tOiBzdHJpbmc7XG4gICAgICB0bzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBjdXN0b206IHN0cmluZztcbiAgICB9O1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tSm9pbkNsYXVzZShwOiBhbnkpOiBwIGlzIHsgY3VzdG9tOiBzdHJpbmcgfSB7XG4gIHJldHVybiBwPy5jdXN0b207XG59XG5cbi8qIOyEnOu4jOyFiyAqL1xuLy8gdHlwZSBTdWJzZXRMb2FkZXIgPSB7XG4vLyAgIGFzOiBzdHJpbmc7XG4vLyAgIHRhYmxlOiBzdHJpbmc7XG4vLyAgIG1hbnlKb2luOiB7XG4vLyAgICAgZnJvbVRhYmxlOiBzdHJpbmc7XG4vLyAgICAgZnJvbUNvbDogc3RyaW5nO1xuLy8gICAgIGlkRmllbGQ6IHN0cmluZztcbi8vICAgICB0b1RhYmxlOiBzdHJpbmc7XG4vLyAgICAgdG9Db2w6IHN0cmluZztcbi8vICAgICB0aHJvdWdoPzoge1xuLy8gICAgICAgdGFibGU6IHN0cmluZztcbi8vICAgICAgIGZyb21Db2w6IHN0cmluZztcbi8vICAgICAgIHRvQ29sOiBzdHJpbmc7XG4vLyAgICAgfTtcbi8vICAgfTtcbi8vICAgb25lSm9pbnM6ICh7XG4vLyAgICAgYXM6IHN0cmluZztcbi8vICAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4vLyAgICAgdGFibGU6IHN0cmluZztcbi8vICAgfSAmIEpvaW5DbGF1c2UpW107XG4vLyAgIHNlbGVjdDogKHN0cmluZyB8IEtuZXguUmF3KVtdO1xuLy8gICBsb2FkZXJzPzogU3Vic2V0TG9hZGVyW107XG4vLyB9O1xuLy8gZXhwb3J0IHR5cGUgU3Vic2V0UXVlcnkgPSB7XG4vLyAgIHNlbGVjdDogKHN0cmluZyB8IEtuZXguUmF3KVtdO1xuLy8gICB2aXJ0dWFsOiBzdHJpbmdbXTtcbi8vICAgam9pbnM6ICh7XG4vLyAgICAgYXM6IHN0cmluZztcbi8vICAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4vLyAgICAgdGFibGU6IHN0cmluZztcbi8vICAgfSAmIEpvaW5DbGF1c2UpW107XG4vLyAgIGxvYWRlcnM6IFN1YnNldExvYWRlcltdO1xuLy8gfTtcblxudHlwZSBTdWJzZXRMb2FkZXIgPSB7XG4gIGFzOiBzdHJpbmc7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIG1hbnlKb2luOiB7XG4gICAgZnJvbVRhYmxlOiBzdHJpbmc7XG4gICAgZnJvbUNvbDogc3RyaW5nO1xuICAgIGlkRmllbGQ6IHN0cmluZztcbiAgICB0b1RhYmxlOiBzdHJpbmc7XG4gICAgdG9Db2w6IHN0cmluZztcbiAgICB0aHJvdWdoPzoge1xuICAgICAgdGFibGU6IHN0cmluZztcbiAgICAgIGZyb21Db2w6IHN0cmluZztcbiAgICAgIHRvQ29sOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgb25lSm9pbnM6ICh7XG4gICAgYXM6IHN0cmluZztcbiAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4gICAgdGFibGU6IHN0cmluZztcbiAgfSAmIEpvaW5DbGF1c2UpW107XG4gIHNlbGVjdDogc3RyaW5nW107XG4gIGxvYWRlcnM/OiBTdWJzZXRMb2FkZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFN1YnNldFF1ZXJ5ID0ge1xuICBzZWxlY3Q6IHN0cmluZ1tdO1xuICB2aXJ0dWFsOiBzdHJpbmdbXTtcbiAgam9pbnM6ICh7XG4gICAgYXM6IHN0cmluZztcbiAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4gICAgdGFibGU6IHN0cmluZztcbiAgfSAmIEpvaW5DbGF1c2UpW107XG4gIGxvYWRlcnM6IFN1YnNldExvYWRlcltdO1xufTtcblxuLyogQmFzZU1vZGVsICovXG5leHBvcnQgY29uc3QgU29uYW11UXVlcnlNb2RlID0gei5lbnVtKFtcImJvdGhcIiwgXCJsaXN0XCIsIFwiY291bnRcIl0pO1xuZXhwb3J0IHR5cGUgU29uYW11UXVlcnlNb2RlID0gei5pbmZlcjx0eXBlb2YgU29uYW11UXVlcnlNb2RlPjtcblxuLyogS25leCBNaWdyYXRpb24gKi9cbmV4cG9ydCB0eXBlIEtuZXhFcnJvciA9IHtcbiAgY29kZTogc3RyaW5nO1xuICBlcnJubzogbnVtYmVyO1xuICBzcWw6IHN0cmluZztcbiAgc3FsTWVzc2FnZTogc3RyaW5nO1xuICBzcWxTdGF0ZTogc3RyaW5nO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBpc0tuZXhFcnJvcihlOiBhbnkpOiBlIGlzIEtuZXhFcnJvciB7XG4gIHJldHVybiBlLmNvZGUgJiYgZS5zcWxNZXNzYWdlICYmIGUuc3FsU3RhdGU7XG59XG5cbmV4cG9ydCB0eXBlIEtuZXhDb2x1bW5UeXBlID1cbiAgfCBcInN0cmluZ1wiXG4gIHwgXCJ0ZXh0XCJcbiAgfCBcInNtYWxsdGV4dFwiXG4gIHwgXCJtZWRpdW10ZXh0XCJcbiAgfCBcImxvbmd0ZXh0XCJcbiAgfCBcImludGVnZXJcIlxuICB8IFwiYmlnSW50ZWdlclwiXG4gIHwgXCJkZWNpbWFsXCJcbiAgfCBcInRpbWVzdGFtcFwiXG4gIHwgXCJib29sZWFuXCJcbiAgfCBcImZvcmVpZ25cIlxuICB8IFwidXVpZFwiXG4gIHwgXCJqc29uXCJcbiAgfCBcImZsb2F0XCJcbiAgfCBcImRhdGVcIlxuICB8IFwidGltZVwiXG4gIHwgXCJkYXRldGltZVwiO1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uQ29sdW1uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEtuZXhDb2x1bW5UeXBlO1xuICBudWxsYWJsZTogYm9vbGVhbjtcbiAgdW5zaWduZWQ/OiBib29sZWFuO1xuICBsZW5ndGg/OiBudW1iZXI7XG4gIGRlZmF1bHRUbz86IHN0cmluZztcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBzY2FsZT86IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25JbmRleCA9IHtcbiAgY29sdW1uczogc3RyaW5nW107XG4gIHR5cGU6IFwidW5pcXVlXCIgfCBcImluZGV4XCIgfCBcImZ1bGx0ZXh0XCI7XG4gIHBhcnNlcj86IFwiYnVpbHQtaW5cIiB8IFwibmdyYW1cIjtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25Gb3JlaWduID0ge1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgdG86IHN0cmluZztcbiAgb25VcGRhdGU6IFJlbGF0aW9uT247XG4gIG9uRGVsZXRlOiBSZWxhdGlvbk9uO1xufTtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkpvaW5UYWJsZSA9IHtcbiAgdGFibGU6IHN0cmluZztcbiAgaW5kZXhlczogTWlncmF0aW9uSW5kZXhbXTtcbiAgY29sdW1uczogTWlncmF0aW9uQ29sdW1uW107XG4gIGZvcmVpZ25zOiBNaWdyYXRpb25Gb3JlaWduW107XG59O1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uU2V0ID0ge1xuICB0YWJsZTogc3RyaW5nO1xuICBjb2x1bW5zOiBNaWdyYXRpb25Db2x1bW5bXTtcbiAgaW5kZXhlczogTWlncmF0aW9uSW5kZXhbXTtcbiAgZm9yZWlnbnM6IE1pZ3JhdGlvbkZvcmVpZ25bXTtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25TZXRBbmRKb2luVGFibGUgPSBNaWdyYXRpb25TZXQgJiB7XG4gIGpvaW5UYWJsZXM6IE1pZ3JhdGlvbkpvaW5UYWJsZVtdO1xufTtcbmV4cG9ydCB0eXBlIEdlbk1pZ3JhdGlvbkNvZGUgPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIHR5cGU6IFwibm9ybWFsXCIgfCBcImZvcmVpZ25cIjtcbiAgZm9ybWF0dGVkOiBzdHJpbmcgfCBudWxsO1xufTtcblxuLyogQXBpICovXG5leHBvcnQgdHlwZSBBcGlQYXJhbSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBBcGlQYXJhbVR5cGU7XG4gIG9wdGlvbmFsOiBib29sZWFuO1xuICBkZWZhdWx0RGVmPzogc3RyaW5nO1xufTtcbmV4cG9ydCBuYW1lc3BhY2UgQXBpUGFyYW1UeXBlIHtcbiAgZXhwb3J0IHR5cGUgT2JqZWN0ID0ge1xuICAgIHQ6IFwib2JqZWN0XCI7XG4gICAgcHJvcHM6IEFwaVBhcmFtW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIFVuaW9uID0ge1xuICAgIHQ6IFwidW5pb25cIjtcbiAgICB0eXBlczogQXBpUGFyYW1UeXBlW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIEludGVyc2VjdGlvbiA9IHtcbiAgICB0OiBcImludGVyc2VjdGlvblwiO1xuICAgIHR5cGVzOiBBcGlQYXJhbVR5cGVbXTtcbiAgfTtcbiAgZXhwb3J0IHR5cGUgU3RyaW5nTGl0ZXJhbCA9IHtcbiAgICB0OiBcInN0cmluZy1saXRlcmFsXCI7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgZXhwb3J0IHR5cGUgTnVtZXJpY0xpdGVyYWwgPSB7XG4gICAgdDogXCJudW1lcmljLWxpdGVyYWxcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9O1xuICBleHBvcnQgdHlwZSBBcnJheSA9IHtcbiAgICB0OiBcImFycmF5XCI7XG4gICAgZWxlbWVudHNUeXBlOiBBcGlQYXJhbVR5cGU7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFJlZiA9IHtcbiAgICB0OiBcInJlZlwiO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgYXJncz86IEFwaVBhcmFtVHlwZVtdO1xuICB9O1xuICBleHBvcnQgdHlwZSBJbmRleGVkQWNjZXNzID0ge1xuICAgIHQ6IFwiaW5kZXhlZC1hY2Nlc3NcIjtcbiAgICBvYmplY3Q6IEFwaVBhcmFtVHlwZTtcbiAgICBpbmRleDogQXBpUGFyYW1UeXBlO1xuICB9O1xuICBleHBvcnQgdHlwZSBUdXBsZVR5cGUgPSB7XG4gICAgdDogXCJ0dXBsZS10eXBlXCI7XG4gICAgZWxlbWVudHM6IEFwaVBhcmFtVHlwZVtdO1xuICB9O1xuICBleHBvcnQgdHlwZSBQaWNrID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUGlja1wiO1xuICB9O1xuICBleHBvcnQgdHlwZSBPbWl0ID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiT21pdFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBQYXJ0aWFsID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUGFydGlhbFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBQcm9taXNlID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUHJvbWlzZVwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBDb250ZXh0ID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiQ29udGV4dFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBUeXBlUGFyYW0gPSB7XG4gICAgdDogXCJ0eXBlLXBhcmFtXCI7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25zdHJhaW50PzogQXBpUGFyYW1UeXBlO1xuICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5PYmplY3Qge1xuICAgIHJldHVybiB2Py50ID09PSBcIm9iamVjdFwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1VuaW9uKHY6IGFueSk6IHYgaXMgQXBpUGFyYW1UeXBlLlVuaW9uIHtcbiAgICByZXR1cm4gdj8udCA9PT0gXCJ1bmlvblwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc0ludGVyc2VjdGlvbih2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5JbnRlcnNlY3Rpb24ge1xuICAgIHJldHVybiB2Py50ID09PSBcImludGVyc2VjdGlvblwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ0xpdGVyYWwodjogYW55KTogdiBpcyBBcGlQYXJhbVR5cGUuU3RyaW5nTGl0ZXJhbCB7XG4gICAgcmV0dXJuIHY/LnQgPT09IFwic3RyaW5nLWxpdGVyYWxcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNOdW1lcmljTGl0ZXJhbCh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5OdW1lcmljTGl0ZXJhbCB7XG4gICAgcmV0dXJuIHY/LnQgPT09IFwibnVtZXJpYy1saXRlcmFsXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodjogYW55KTogdiBpcyBBcGlQYXJhbVR5cGUuQXJyYXkge1xuICAgIHJldHVybiB2Py50ID09PSBcImFycmF5XCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUmVmKHY6IGFueSk6IHYgaXMgQXBpUGFyYW1UeXBlLlJlZiB7XG4gICAgcmV0dXJuIHY/LnQgPT09IFwicmVmXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzSW5kZXhlZEFjY2Vzcyh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5JbmRleGVkQWNjZXNzIHtcbiAgICByZXR1cm4gdj8udCA9PT0gXCJpbmRleGVkLWFjY2Vzc1wiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1R1cGxlVHlwZSh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5UdXBsZVR5cGUge1xuICAgIHJldHVybiB2Py50ID09PSBcInR1cGxlLXR5cGVcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNQaWNrKHY6IGFueSk6IHYgaXMgQXBpUGFyYW1UeXBlLlBpY2sge1xuICAgIHJldHVybiB2Py50ID09PSBcInJlZlwiICYmIHYuaWQgPT09IFwiUGlja1wiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc09taXQodjogYW55KTogdiBpcyBBcGlQYXJhbVR5cGUuT21pdCB7XG4gICAgcmV0dXJuIHY/LnQgPT09IFwicmVmXCIgJiYgdi5pZCA9PT0gXCJPbWl0XCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUGFydGlhbCh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5QYXJ0aWFsIHtcbiAgICByZXR1cm4gdj8udCA9PT0gXCJyZWZcIiAmJiB2LmlkID09PSBcIlBhcnRpYWxcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNQcm9taXNlKHY6IGFueSk6IHYgaXMgQXBpUGFyYW1UeXBlLlByb21pc2Uge1xuICAgIHJldHVybiB2Py50ID09PSBcInJlZlwiICYmIHYuaWQgPT09IFwiUHJvbWlzZVwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc0NvbnRleHQodjogYW55KTogdiBpcyBBcGlQYXJhbVR5cGUuQ29udGV4dCB7XG4gICAgcmV0dXJuIHY/LnQgPT09IFwicmVmXCIgJiYgdi5pZCA9PT0gXCJDb250ZXh0XCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUmVmS25leCh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5SZWYge1xuICAgIHJldHVybiB2Py50ID09PSBcInJlZlwiICYmIHYuaWQgPT09IFwiS25leFwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1R5cGVQYXJhbSh2OiBhbnkpOiB2IGlzIEFwaVBhcmFtVHlwZS5UeXBlUGFyYW0ge1xuICAgIHJldHVybiB2Py50ID09PSBcInR5cGUtcGFyYW1cIjtcbiAgfVxufVxuZXhwb3J0IHR5cGUgQXBpUGFyYW1UeXBlID1cbiAgfCBcInN0cmluZ1wiXG4gIHwgXCJudW1iZXJcIlxuICB8IFwiYm9vbGVhblwiXG4gIHwgXCJudWxsXCJcbiAgfCBcInVuZGVmaW5lZFwiXG4gIHwgXCJ2b2lkXCJcbiAgfCBcImFueVwiXG4gIHwgXCJ1bmtub3duXCJcbiAgfCBcInRydWVcIlxuICB8IFwiZmFsc2VcIlxuICB8IEFwaVBhcmFtVHlwZS5TdHJpbmdMaXRlcmFsXG4gIHwgQXBpUGFyYW1UeXBlLk51bWVyaWNMaXRlcmFsXG4gIHwgQXBpUGFyYW1UeXBlLk9iamVjdFxuICB8IEFwaVBhcmFtVHlwZS5VbmlvblxuICB8IEFwaVBhcmFtVHlwZS5JbnRlcnNlY3Rpb25cbiAgfCBBcGlQYXJhbVR5cGUuQXJyYXlcbiAgfCBBcGlQYXJhbVR5cGUuUmVmXG4gIHwgQXBpUGFyYW1UeXBlLkluZGV4ZWRBY2Nlc3NcbiAgfCBBcGlQYXJhbVR5cGUuVHlwZVBhcmFtXG4gIHwgQXBpUGFyYW1UeXBlLlR1cGxlVHlwZTtcblxuLyogVGVtcGxhdGUgKi9cbi8qKlxuICogVUkg7Lu07Y+s64SM7Yq4IOugjOuNlOungeydhCDsnITtlZwg66mU7YOA642w7J207YSwIOuFuOuTnOyeheuLiOuLpC5cbiAqXG4gKiAqKuuqqeyggSoqOiBab2Qg7Iqk7YKk66eI66Gc67aA7YSwIO2UhOuhoO2KuOyXlOuTnCBVSSDsu7Ttj6zrhIztirjrpbwg7J6Q64+ZIOyDneyEse2VmOq4sCDsnITtlZxcbiAqIOugjOuNlOungSDsoJXrs7Trpbwg64u07J2AIO2KuOumrCDqtazsobDsnoXri4jri6QuIOqwgSDtlYTrk5zqsIAg7Ja065akIFVJIOy7tO2PrOuEjO2KuOuhnFxuICog7ZGc7ZiE65CY7Ja07JW8IO2VmOuKlOyngCjthY3siqTtirgsIOydtOuvuOyngCwg64Kg7KecLCBFbnVtIOyEoO2DnSDrk7Ep66W8IOuqheyLnO2VqeuLiOuLpC5cbiAqXG4gKiAqKuuzgO2ZmCDtnZDrpoQqKjpcbiAqIEVudGl0eSBzdWJzZXQg4oaSIEVudGl0eVByb3BOb2RlIOKGkiBab2Qg7Iqk7YKk66eIIOKGkiBSZW5kZXJpbmdOb2RlIChVSeyaqSkg4oaSIFJlYWN0IOy7tO2PrOuEjO2KuCDsvZTrk5wg7IOd7ISxXG4gKlxuICogKirso7zsmpQg7ZWE65OcKio6XG4gKiAtIGByZW5kZXJUeXBlYDogVUkg7Lu07Y+s64SM7Yq4IOycoO2YlSAoc3RyaW5nLXBsYWluLCBudW1iZXItZmtfaWQsIGVudW1zLCBhcnJheSDrk7EpXG4gKiAtIGB6b2RUeXBlYDog7JuQ67O4IFpvZCDsiqTtgqTrp4ggKHZhbGlkYXRpb24g7JqpKVxuICogLSBgY2hpbGRyZW5gOiDspJHssqnrkJwg6rCd7LK0IO2VhOuTnOuTpCAob2JqZWN07J28IOuVjClcbiAqIC0gYGVsZW1lbnRgOiDrsLDsl7Qg7JqU7IaMIO2DgOyehSAoYXJyYXnsnbwg65WMKVxuICpcbiAqICoq7IKs7JqpIOychOy5mCoqOlxuICogLSB6b2QtY29udmVydGVyLnRz7J2YIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUoKeyXkOyEnCDsg53shLFcbiAqIC0gdmlld19mb3JtLnRlbXBsYXRlLnRzLCB2aWV3X2xpc3QudGVtcGxhdGUudHMg65Ox7JeQ7IScIFJlYWN0IOy7tO2PrOuEjO2KuCDsvZTrk5wg7IOd7ISx7JeQIOyCrOyaqVxuICovXG4vLyDshYDtlIQg7LC47KGwIO2DgOyeheydtOuvgOuhnCBab2Qg7IOd65617ZWY6rOgIOyngeygkSDsoJXsnZhcbmV4cG9ydCBjb25zdCBSZW5kZXJpbmdOb2RlID0gei5hbnkoKTtcbmV4cG9ydCB0eXBlIFJlbmRlcmluZ05vZGUgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcmVuZGVyVHlwZTpcbiAgICB8IFwic3RyaW5nLXBsYWluXCJcbiAgICB8IFwic3RyaW5nLWltYWdlXCJcbiAgICB8IFwic3RyaW5nLWRhdGV0aW1lXCJcbiAgICB8IFwic3RyaW5nLWRhdGVcIlxuICAgIHwgXCJkYXRldGltZVwiXG4gICAgfCBcIm51bWJlci1wbGFpblwiXG4gICAgfCBcIm51bWJlci1pZFwiXG4gICAgfCBcIm51bWJlci1ma19pZFwiXG4gICAgfCBcImJvb2xlYW5cIlxuICAgIHwgXCJlbnVtc1wiXG4gICAgfCBcImFycmF5XCJcbiAgICB8IFwiYXJyYXktaW1hZ2VzXCJcbiAgICB8IFwib2JqZWN0XCJcbiAgICB8IFwib2JqZWN0LXBpY2tcIlxuICAgIHwgXCJyZWNvcmRcIjtcbiAgem9kVHlwZTogei5ab2RUeXBlQW55O1xuICBlbGVtZW50PzogUmVuZGVyaW5nTm9kZTtcbiAgY2hpbGRyZW4/OiBSZW5kZXJpbmdOb2RlW107XG4gIGNvbmZpZz86IHtcbiAgICBwaWNrZWQ6IHN0cmluZztcbiAgfTtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgVGVtcGxhdGVPcHRpb25zID0gei5vYmplY3Qoe1xuICBlbnRpdHk6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgICBwYXJlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHRhYmxlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgcHJvcHM6IHouYXJyYXkoei5vYmplY3Qoe30pKS5vcHRpb25hbCgpLFxuICAgIGluZGV4ZXM6IHouYXJyYXkoei5vYmplY3Qoe30pKS5vcHRpb25hbCgpLFxuICAgIHN1YnNldHM6IHoub2JqZWN0KHt9KS5vcHRpb25hbCgpLFxuICAgIGVudW1zOiB6Lm9iamVjdCh7fSkub3B0aW9uYWwoKSxcbiAgfSksXG4gIGluaXRfdHlwZXM6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIGdlbmVyYXRlZDogei5vYmplY3Qoe30pLFxuICBnZW5lcmF0ZWRfc3NvOiB6Lm9iamVjdCh7fSksXG4gIGdlbmVyYXRlZF9odHRwOiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICBtb2RlbDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGRlZmF1bHRTZWFyY2hGaWVsZDogei5zdHJpbmcoKSxcbiAgICBkZWZhdWx0T3JkZXJCeTogei5zdHJpbmcoKSxcbiAgfSksXG4gIG1vZGVsX3Rlc3Q6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIGJyaWRnZTogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgc2VydmljZTogei5vYmplY3Qoe1xuICAgIG5hbWVzUmVjb3JkOiB6Lm9iamVjdCh7XG4gICAgICBmczogei5zdHJpbmcoKSxcbiAgICAgIGZzUGx1cmFsOiB6LnN0cmluZygpLFxuICAgICAgY2FtZWw6IHouc3RyaW5nKCksXG4gICAgICBjYW1lbFBsdXJhbDogei5zdHJpbmcoKSxcbiAgICAgIGNhcGl0YWw6IHouc3RyaW5nKCksXG4gICAgICBjYXBpdGFsUGx1cmFsOiB6LnN0cmluZygpLFxuICAgICAgdXBwZXI6IHouc3RyaW5nKCksXG4gICAgICBjb25zdGFudDogei5zdHJpbmcoKSxcbiAgICB9KSxcbiAgICBtb2RlbFRzUGF0aDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfbGlzdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGV4dHJhOiB6LnVua25vd24oKSxcbiAgfSksXG4gIHZpZXdfbGlzdF9jb2x1bW5zOiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgY29sdW1uczogelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgICAgIGxhYmVsOiB6LnN0cmluZygpLFxuICAgICAgICB0Yzogei5zdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICAuYXJyYXkoKSxcbiAgICBjb2x1bW5JbXBvcnRzOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19zZWFyY2hfaW5wdXQ6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZm9ybTogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19pZF9hbGxfc2VsZWN0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2lkX2FzeW5jX3NlbGVjdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIHRleHRGaWVsZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZW51bXNfc2VsZWN0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgZW51bUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19lbnVtc19kcm9wZG93bjogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGVudW1JZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZW51bXNfYnV0dG9uc2V0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgZW51bUlkOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuZXhwb3J0IHR5cGUgVGVtcGxhdGVPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgVGVtcGxhdGVPcHRpb25zPjtcblxuZXhwb3J0IGNvbnN0IFRlbXBsYXRlS2V5ID0gei5lbnVtKFtcbiAgXCJlbnRpdHlcIixcbiAgXCJpbml0X3R5cGVzXCIsXG4gIFwiZ2VuZXJhdGVkXCIsXG4gIFwiZ2VuZXJhdGVkX3Nzb1wiLFxuICBcImdlbmVyYXRlZF9odHRwXCIsXG4gIFwibW9kZWxcIixcbiAgXCJtb2RlbF90ZXN0XCIsXG4gIFwiYnJpZGdlXCIsXG4gIFwic2VydmljZVwiLFxuICBcInZpZXdfbGlzdFwiLFxuICBcInZpZXdfbGlzdF9jb2x1bW5zXCIsXG4gIFwidmlld19zZWFyY2hfaW5wdXRcIixcbiAgXCJ2aWV3X2Zvcm1cIixcbiAgXCJ2aWV3X2lkX2FsbF9zZWxlY3RcIixcbiAgXCJ2aWV3X2lkX2FzeW5jX3NlbGVjdFwiLFxuICBcInZpZXdfZW51bXNfc2VsZWN0XCIsXG4gIFwidmlld19lbnVtc19kcm9wZG93blwiLFxuICBcInZpZXdfZW51bXNfYnV0dG9uc2V0XCIsXG5dKTtcbmV4cG9ydCB0eXBlIFRlbXBsYXRlS2V5ID0gei5pbmZlcjx0eXBlb2YgVGVtcGxhdGVLZXk+O1xuXG5leHBvcnQgY29uc3QgR2VuZXJhdGVPcHRpb25zID0gei5vYmplY3Qoe1xuICBvdmVyd3JpdGU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEdlbmVyYXRlT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlT3B0aW9ucz47XG5cbmV4cG9ydCBjb25zdCBQYXRoQW5kQ29kZSA9IHoub2JqZWN0KHtcbiAgcGF0aDogei5zdHJpbmcoKSxcbiAgY29kZTogei5zdHJpbmcoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUGF0aEFuZENvZGUgPSB6LmluZmVyPHR5cGVvZiBQYXRoQW5kQ29kZT47XG5cbmV4cG9ydCB0eXBlIEZpeHR1cmVTZWFyY2hPcHRpb25zID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBzZWFyY2hUeXBlOiBcImVxdWFsc1wiIHwgXCJsaWtlXCI7XG59O1xuXG5leHBvcnQgdHlwZSBGaXh0dXJlUmVjb3JkID0ge1xuICBmaXh0dXJlSWQ6IHN0cmluZztcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgaWQ6IG51bWJlcjtcbiAgY29sdW1uczoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIHByb3A6IEVudGl0eVByb3A7XG4gICAgICB2YWx1ZTogYW55O1xuICAgIH07XG4gIH07XG4gIGZldGNoZWRSZWNvcmRzOiBzdHJpbmdbXTtcbiAgYmVsb25nc1JlY29yZHM6IHN0cmluZ1tdO1xuICB0YXJnZXQ/OiBGaXh0dXJlUmVjb3JkOyAvLyBJbXBvcnQg64yA7IOBIERCIOugiOy9lOuTnChpZOqwgCDqsJnsnYApXG4gIHVuaXF1ZT86IEZpeHR1cmVSZWNvcmQ7IC8vIEltcG9ydCDrjIDsg4EgREIg66CI7L2U65OcKHVuaXF1ZSBrZXnqsIAg6rCZ7J2AKVxuICBvdmVycmlkZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaXh0dXJlSW1wb3J0UmVzdWx0ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBkYXRhOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25Ob2RlID0ge1xuICBmaXh0dXJlSWQ6IHN0cmluZztcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgcmVsYXRlZDogU2V0PHN0cmluZz47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlU2NoZW1hRXh0ZW5kIHt9XG5leHBvcnQgdHlwZSBNYW55VG9NYW55QmFzZVNjaGVtYTxcbiAgRnJvbUlkS2V5IGV4dGVuZHMgc3RyaW5nLFxuICBUb0lkS2V5IGV4dGVuZHMgc3RyaW5nLFxuPiA9IHtcbiAgaWQ6IG51bWJlcjtcbn0gJiB7XG4gIFtLIGluIGAke0Zyb21JZEtleX1faWRgXTogbnVtYmVyO1xufSAmIHtcbiAgW0sgaW4gYCR7VG9JZEtleX1faWRgXTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgU29uYW11RmFzdGlmeUNvbmZpZyA9IHtcbiAgY29udGV4dFByb3ZpZGVyOiAoXG4gICAgZGVmYXVsdENvbnRleHQ6IFBpY2s8XG4gICAgICBDb250ZXh0LFxuICAgICAgXCJyZXF1ZXN0XCIgfCBcInJlcGx5XCIgfCBcImhlYWRlcnNcIiB8IFwiY3JlYXRlU1NFXCIgfCBcIm5haXRlU3RvcmVcIlxuICAgID4gJlxuICAgICAgQXV0aENvbnRleHQsXG4gICAgcmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsXG4gICAgcmVwbHk6IEZhc3RpZnlSZXBseVxuICApID0+IENvbnRleHQgfCBQcm9taXNlPENvbnRleHQ+O1xuICBndWFyZEhhbmRsZXI6IChcbiAgICBndWFyZDogR3VhcmRLZXksXG4gICAgcmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsXG4gICAgYXBpOiB7XG4gICAgICB0eXBlUGFyYW1ldGVyczogQXBpUGFyYW1UeXBlLlR5cGVQYXJhbVtdO1xuICAgICAgcGFyYW1ldGVyczogQXBpUGFyYW1bXTtcbiAgICAgIHJldHVyblR5cGU6IEFwaVBhcmFtVHlwZTtcbiAgICAgIG1vZGVsTmFtZTogc3RyaW5nO1xuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nO1xuICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgb3B0aW9uczogQXBpRGVjb3JhdG9yT3B0aW9ucztcbiAgICB9XG4gICkgPT4gdm9pZDtcbiAgY2FjaGU/OiB7XG4gICAgZ2V0OiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8dW5rbm93biB8IG51bGw+O1xuICAgIHB1dDogKGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93biwgdHRsPzogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIHJlc29sdmVLZXk6IChcbiAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgIHJlcUJvZHk6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICB8IHtcbiAgICAgICAgICBjYWNoZTogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIHwge1xuICAgICAgICAgIGNhY2hlOiB0cnVlO1xuICAgICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgICAgfTtcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsieiIsIlNRTERhdGVUaW1lU3RyaW5nIiwic3RyaW5nIiwicmVnZXgiLCJtZXNzYWdlIiwibWluIiwibWF4IiwiZGVzY3JpYmUiLCJ6QXJyYXlhYmxlIiwic2hhcGUiLCJ1bmlvbiIsImFycmF5IiwiaXNJbnRlZ2VyUHJvcCIsInAiLCJ0eXBlIiwiaXNCaWdJbnRlZ2VyUHJvcCIsImlzVGV4dFByb3AiLCJpc1N0cmluZ1Byb3AiLCJpc0VudW1Qcm9wIiwiaXNGbG9hdFByb3AiLCJpc0RvdWJsZVByb3AiLCJpc0RlY2ltYWxQcm9wIiwiaXNCb29sZWFuUHJvcCIsImlzRGF0ZVByb3AiLCJpc0RhdGVUaW1lUHJvcCIsImlzVGltZVByb3AiLCJpc1RpbWVzdGFtcFByb3AiLCJpc0pzb25Qcm9wIiwiaXNVdWlkUHJvcCIsImlzVmlydHVhbFByb3AiLCJpc1JlbGF0aW9uUHJvcCIsImlzT25lVG9PbmVSZWxhdGlvblByb3AiLCJyZWxhdGlvblR5cGUiLCJpc0JlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCIsImlzSGFzTWFueVJlbGF0aW9uUHJvcCIsImlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCIsImlzQ3VzdG9tSm9pbkNsYXVzZSIsImN1c3RvbSIsIlNvbmFtdVF1ZXJ5TW9kZSIsImVudW0iLCJpc0tuZXhFcnJvciIsImUiLCJjb2RlIiwic3FsTWVzc2FnZSIsInNxbFN0YXRlIiwiQXBpUGFyYW1UeXBlIiwiaXNPYmplY3QiLCJ2IiwidCIsImlzVW5pb24iLCJpc0ludGVyc2VjdGlvbiIsImlzU3RyaW5nTGl0ZXJhbCIsImlzTnVtZXJpY0xpdGVyYWwiLCJpc0FycmF5IiwiaXNSZWYiLCJpc0luZGV4ZWRBY2Nlc3MiLCJpc1R1cGxlVHlwZSIsImlzUGljayIsImlkIiwiaXNPbWl0IiwiaXNQYXJ0aWFsIiwiaXNQcm9taXNlIiwiaXNDb250ZXh0IiwiaXNSZWZLbmV4IiwiaXNUeXBlUGFyYW0iLCJSZW5kZXJpbmdOb2RlIiwiYW55IiwiVGVtcGxhdGVPcHRpb25zIiwib2JqZWN0IiwiZW50aXR5IiwiZW50aXR5SWQiLCJwYXJlbnRJZCIsIm9wdGlvbmFsIiwidGl0bGUiLCJ0YWJsZSIsInByb3BzIiwiaW5kZXhlcyIsInN1YnNldHMiLCJlbnVtcyIsImluaXRfdHlwZXMiLCJnZW5lcmF0ZWQiLCJnZW5lcmF0ZWRfc3NvIiwiZ2VuZXJhdGVkX2h0dHAiLCJtb2RlbCIsImRlZmF1bHRTZWFyY2hGaWVsZCIsImRlZmF1bHRPcmRlckJ5IiwibW9kZWxfdGVzdCIsImJyaWRnZSIsInNlcnZpY2UiLCJuYW1lc1JlY29yZCIsImZzIiwiZnNQbHVyYWwiLCJjYW1lbCIsImNhbWVsUGx1cmFsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJ1cHBlciIsImNvbnN0YW50IiwibW9kZWxUc1BhdGgiLCJ2aWV3X2xpc3QiLCJleHRyYSIsInVua25vd24iLCJ2aWV3X2xpc3RfY29sdW1ucyIsImNvbHVtbnMiLCJuYW1lIiwibGFiZWwiLCJ0YyIsImNvbHVtbkltcG9ydHMiLCJ2aWV3X3NlYXJjaF9pbnB1dCIsInZpZXdfZm9ybSIsInZpZXdfaWRfYWxsX3NlbGVjdCIsInZpZXdfaWRfYXN5bmNfc2VsZWN0IiwidGV4dEZpZWxkIiwidmlld19lbnVtc19zZWxlY3QiLCJlbnVtSWQiLCJ2aWV3X2VudW1zX2Ryb3Bkb3duIiwidmlld19lbnVtc19idXR0b25zZXQiLCJUZW1wbGF0ZUtleSIsIkdlbmVyYXRlT3B0aW9ucyIsIm92ZXJ3cml0ZSIsImJvb2xlYW4iLCJQYXRoQW5kQ29kZSIsInBhdGgiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLENBQUMsUUFBUSxNQUFNO0FBV3hCOztBQUVBLEdBQ0EsT0FBTyxNQUFNQyxvQkFBb0JELEVBQzlCRSxNQUFNLEdBQ05DLEtBQUssQ0FBQywrREFBK0Q7SUFDcEVDLFNBQVM7QUFDWCxHQUNDQyxHQUFHLENBQUMsSUFDSkMsR0FBRyxDQUFDLElBQ0pDLFFBQVEsQ0FBQyxxQkFBcUI7QUFHakM7O0FBRUEsR0FDQSxPQUFPLFNBQVNDLFdBQ2RDLEtBQVE7SUFFUixPQUFPVCxFQUFFVSxLQUFLLENBQUM7UUFBQ0Q7UUFBT0EsTUFBTUUsS0FBSztLQUFHO0FBQ3ZDO0FBMk9BOztBQUVBLEdBQ0EsT0FBTyxTQUFTQyxjQUFjQyxDQUFNO0lBQ2xDLE9BQU9BLEdBQUdDLFNBQVM7QUFDckI7QUFDQSxPQUFPLFNBQVNDLGlCQUFpQkYsQ0FBTTtJQUNyQyxPQUFPQSxHQUFHQyxT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
|
package/dist/typings/knex.d.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export { };
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBpbmdzL2tuZXguZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJrbmV4XCIge1xuICBuYW1lc3BhY2UgS25leCB7XG4gICAgaW50ZXJmYWNlIFF1ZXJ5QnVpbGRlciB7XG4gICAgICBvbkR1cGxpY2F0ZVVwZGF0ZTxUUmVjb3JkIGV4dGVuZHMge30sIFRSZXN1bHQ+KFxuICAgICAgICAuLi5jb2x1bW5zOiBzdHJpbmdbXVxuICAgICAgKTogS25leC5RdWVyeUJ1aWxkZXI8VFJlY29yZCwgVFJlc3VsdD47XG5cbiAgICAgIGNvbHVtbkluZm88VFJlY29yZD4oXG4gICAgICAgIGNvbHVtbj86IGtleW9mIFRSZWNvcmRcbiAgICAgICk6IFByb21pc2U8S25leC5Db2x1bW5JbmZvIHwgQ29sdW1uSW5mb3NPYmo+O1xuXG4gICAgICB3aGVyZUJldHdlZW48VFJlY29yZCwgVFJlc3VsdD4oXG4gICAgICAgIGNvbHVtbk5hbWU6IHN0cmluZyxcbiAgICAgICAgcmFuZ2U6IHJlYWRvbmx5IFthbnksIGFueV1cbiAgICAgICk6IEtuZXguUXVlcnlCdWlsZGVyO1xuICAgIH1cblxuICAgIHR5cGUgQ29sdW1uSW5mb3NPYmogPSB7XG4gICAgICBbY29sdW1uTmFtZTogc3RyaW5nXTogS25leC5Db2x1bW5JbmZvO1xuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUE0QiJ9
|
|
@@ -22,4 +22,11 @@ export declare function mapAsync<T, U>(arr: T[], mapper: (item: T, index: number
|
|
|
22
22
|
* const sum = await reduceAsync([1, 2, 3], async (acc, x) => acc + x, 0);
|
|
23
23
|
*/
|
|
24
24
|
export declare function reduceAsync<T, U>(arr: T[], reducer: (accumulator: U, currentValue: T, index: number, array: T[]) => Promise<U>, initialValue: U): Promise<U>;
|
|
25
|
+
/**
|
|
26
|
+
* 비동기 glob 함수입니다.
|
|
27
|
+
* AsyncIterableIterator로 날아오는 glob의 반환을 받아 끝까지 돌아서 배열로 반환합니다.
|
|
28
|
+
* @param pathPattern
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export declare function globAsync(pathPattern: string): Promise<string[]>;
|
|
25
32
|
//# sourceMappingURL=async-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../../src/utils/async-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../../src/utils/async-utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,GAAG,EAAE,CAAC,EAAE,EACR,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAClE,OAAO,CAAC,CAAC,EAAE,CAAC,CAOd;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,CAAC,EAAE,EACR,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAClE,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EACjC,GAAG,EAAE,CAAC,EAAE,EACR,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,CAAC,EAAE,CAAC,CAId;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,CAAC,EAAE,EACR,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACnF,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMtE"}
|