@powerhousedao/shared 6.2.0-dev.5 → 6.2.0-dev.51

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 (97) hide show
  1. package/dist/clis/args/access-token.mjs +1 -1
  2. package/dist/clis/args/{common-Dmf4BGPa.d.mts → common-Cr8LZG55.d.mts} +5 -2
  3. package/dist/clis/args/{common-Dmf4BGPa.d.mts.map → common-Cr8LZG55.d.mts.map} +1 -1
  4. package/dist/clis/args/{common-fPNESurz.mjs → common-dbsvksvf.mjs} +7 -2
  5. package/dist/clis/args/common-dbsvksvf.mjs.map +1 -0
  6. package/dist/clis/args/common.d.mts +2 -2
  7. package/dist/clis/args/common.mjs +2 -2
  8. package/dist/clis/args/connect.d.mts +18 -0
  9. package/dist/clis/args/connect.d.mts.map +1 -1
  10. package/dist/clis/args/connect.mjs +9 -2
  11. package/dist/clis/args/connect.mjs.map +1 -1
  12. package/dist/clis/args/{generate-CTTdiwMD.mjs → generate-Cs5okckF.mjs} +2 -2
  13. package/dist/clis/args/{generate-CTTdiwMD.mjs.map → generate-Cs5okckF.mjs.map} +1 -1
  14. package/dist/clis/args/generate.mjs +1 -1
  15. package/dist/clis/args/{help-CfBzQJpL.mjs → help-BkF9Cxud.mjs} +3 -3
  16. package/dist/clis/args/{help-CfBzQJpL.mjs.map → help-BkF9Cxud.mjs.map} +1 -1
  17. package/dist/clis/args/help.mjs +1 -1
  18. package/dist/clis/args/index.d.mts +3 -3
  19. package/dist/clis/args/index.mjs +4 -4
  20. package/dist/clis/args/init.d.mts +3 -0
  21. package/dist/clis/args/init.d.mts.map +1 -1
  22. package/dist/clis/args/init.mjs +9 -3
  23. package/dist/clis/args/init.mjs.map +1 -1
  24. package/dist/clis/args/inspect.mjs +1 -1
  25. package/dist/clis/args/install.mjs +1 -1
  26. package/dist/clis/args/list.mjs +1 -1
  27. package/dist/clis/args/login.mjs +1 -1
  28. package/dist/clis/args/migrate.mjs +1 -1
  29. package/dist/clis/args/publish.mjs +1 -1
  30. package/dist/clis/args/registry.mjs +1 -1
  31. package/dist/clis/args/service-C88bN_g_.d.mts +22 -0
  32. package/dist/clis/args/service-C88bN_g_.d.mts.map +1 -0
  33. package/dist/clis/args/service.d.mts +1 -1
  34. package/dist/clis/args/service.mjs +1 -1
  35. package/dist/clis/args/switchboard.mjs +1 -1
  36. package/dist/clis/args/uninstall.mjs +1 -1
  37. package/dist/clis/args/unpublish.mjs +1 -1
  38. package/dist/clis/args/vetra.d.mts +6 -0
  39. package/dist/clis/args/vetra.d.mts.map +1 -1
  40. package/dist/clis/args/vetra.mjs +7 -1
  41. package/dist/clis/args/vetra.mjs.map +1 -1
  42. package/dist/clis/build-config.d.mts.map +1 -1
  43. package/dist/clis/build-config.mjs +2 -1
  44. package/dist/clis/build-config.mjs.map +1 -1
  45. package/dist/clis/constants.d.mts +22 -97
  46. package/dist/clis/constants.d.mts.map +1 -1
  47. package/dist/clis/constants.mjs +47 -12
  48. package/dist/clis/constants.mjs.map +1 -1
  49. package/dist/clis/index.d.mts +73 -99
  50. package/dist/clis/index.d.mts.map +1 -1
  51. package/dist/clis/index.mjs +94 -15
  52. package/dist/clis/index.mjs.map +1 -1
  53. package/dist/{config-loader-DORViRnN.js → config-loader-237452Tn.js} +5 -1
  54. package/dist/config-loader-237452Tn.js.map +1 -0
  55. package/dist/connect/config-loader.d.ts +1 -1
  56. package/dist/connect/config-loader.js +1 -1
  57. package/dist/connect/index.d.ts +19 -1
  58. package/dist/connect/index.d.ts.map +1 -1
  59. package/dist/connect/index.js +19 -1
  60. package/dist/connect/index.js.map +1 -1
  61. package/dist/document-drive/index.d.ts +2 -2
  62. package/dist/document-model/index.d.ts +4 -4
  63. package/dist/document-model/index.js +315 -4
  64. package/dist/document-model/index.js.map +1 -1
  65. package/dist/document-model/mock.d.ts +1 -1
  66. package/dist/document-model/mock.js +7 -2
  67. package/dist/document-model/mock.js.map +1 -1
  68. package/dist/document-model/utils.d.ts +1 -1
  69. package/dist/{index-CxGZy8_i.d.ts → index-DLx4nU83.d.ts} +41 -3
  70. package/dist/index-DLx4nU83.d.ts.map +1 -0
  71. package/dist/index.d.ts +4 -4
  72. package/dist/{mock-CbrXTFOF.d.ts → mock-CBcf78ra.d.ts} +2 -2
  73. package/dist/mock-CBcf78ra.d.ts.map +1 -0
  74. package/dist/processors/index.d.ts +1 -1
  75. package/dist/registry/index.d.ts +4 -3
  76. package/dist/registry/index.d.ts.map +1 -1
  77. package/dist/registry/index.js +2 -1
  78. package/dist/registry/index.js.map +1 -1
  79. package/dist/registry/manifest-slim.d.ts +17 -0
  80. package/dist/registry/manifest-slim.d.ts.map +1 -0
  81. package/dist/registry/manifest-slim.js +57 -0
  82. package/dist/registry/manifest-slim.js.map +1 -0
  83. package/dist/{types-Lj1TT2LW.d.ts → types-BFTKHmzr.d.ts} +9 -3
  84. package/dist/{types-Lj1TT2LW.d.ts.map → types-BFTKHmzr.d.ts.map} +1 -1
  85. package/dist/types-Bo4Rb8Yf.d.ts +2492 -0
  86. package/dist/types-Bo4Rb8Yf.d.ts.map +1 -0
  87. package/dist/{types-CdiI9CJ9.d.ts → types-CgGSyOl6.d.ts} +2 -2
  88. package/dist/{types-CdiI9CJ9.d.ts.map → types-CgGSyOl6.d.ts.map} +1 -1
  89. package/package.json +16 -3
  90. package/dist/clis/args/common-fPNESurz.mjs.map +0 -1
  91. package/dist/clis/args/service-Bzt4_WtZ.d.mts +0 -106
  92. package/dist/clis/args/service-Bzt4_WtZ.d.mts.map +0 -1
  93. package/dist/config-loader-DORViRnN.js.map +0 -1
  94. package/dist/index-CxGZy8_i.d.ts.map +0 -1
  95. package/dist/mock-CbrXTFOF.d.ts.map +0 -1
  96. package/dist/types-DFeAUtLQ.d.ts +0 -21023
  97. package/dist/types-DFeAUtLQ.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { o as debugArgs } from "./common-fPNESurz.mjs";
1
+ import { o as debugArgs } from "./common-dbsvksvf.mjs";
2
2
  import { option, optional, rest, string } from "cmd-ts";
3
3
  //#region clis/args/publish.ts
4
4
  const publishArgs = {
@@ -1,4 +1,4 @@
1
- import { o as debugArgs } from "./common-fPNESurz.mjs";
1
+ import { o as debugArgs } from "./common-dbsvksvf.mjs";
2
2
  import { option, optional, string } from "cmd-ts";
3
3
  //#region clis/args/registry.ts
4
4
  const DEFAULT_REGISTRY_LOGIN_EXPIRY = "30d";
@@ -0,0 +1,22 @@
1
+ import * as cmd_ts_dist_cjs_argparser_js0 from "cmd-ts/dist/cjs/argparser.js";
2
+ import * as cmd_ts_dist_cjs_helpdoc_js0 from "cmd-ts/dist/cjs/helpdoc.js";
3
+
4
+ //#region clis/constants.d.ts
5
+ declare const SERVICE_ACTIONS: readonly ["start", "stop", "status", "setup", "restart"];
6
+ //#endregion
7
+ //#region clis/types.d.ts
8
+ type ServiceActions = typeof SERVICE_ACTIONS;
9
+ type ServiceAction = ServiceActions[number];
10
+ //#endregion
11
+ //#region clis/args/service.d.ts
12
+ declare const serviceArgs: {
13
+ debug: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
14
+ parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<boolean | undefined>>;
15
+ } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & cmd_ts_dist_cjs_argparser_js0.Register & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
16
+ action: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
17
+ parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<"status" | "start" | "stop" | "setup" | "restart" | undefined>>;
18
+ } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
19
+ };
20
+ //#endregion
21
+ export { ServiceAction as n, serviceArgs as t };
22
+ //# sourceMappingURL=service-C88bN_g_.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-C88bN_g_.d.mts","names":[],"sources":["../../../clis/constants.ts","../../../clis/types.ts","../../../clis/args/service.ts"],"mappings":";;;;cAKa,eAAA;;;KCGD,cAAA,UAAwB,eAAA;AAAA,KACxB,aAAA,GAAgB,cAAA;;;cCHf,WAAA;iBAKZ,6BAAA,CAAA,QAAA"}
@@ -1,2 +1,2 @@
1
- import { n as ServiceAction, t as serviceArgs } from "./service-Bzt4_WtZ.mjs";
1
+ import { n as ServiceAction, t as serviceArgs } from "./service-C88bN_g_.mjs";
2
2
  export { ServiceAction, serviceArgs };
@@ -1,4 +1,4 @@
1
- import { O as SERVICE_ACTIONS, o as debugArgs } from "./common-fPNESurz.mjs";
1
+ import { k as SERVICE_ACTIONS, o as debugArgs } from "./common-dbsvksvf.mjs";
2
2
  import { oneOf, optional, positional } from "cmd-ts";
3
3
  //#region clis/args/service.ts
4
4
  const serviceArgs = {
@@ -1,4 +1,4 @@
1
- import { D as DEFAULT_VETRA_DRIVE_ID, T as DEFAULT_SWITCHBOARD_PORT, v as packages, y as vetraSwitchboardArgs } from "./common-fPNESurz.mjs";
1
+ import { E as DEFAULT_SWITCHBOARD_PORT, O as DEFAULT_VETRA_DRIVE_ID, b as vetraSwitchboardArgs, v as packages } from "./common-dbsvksvf.mjs";
2
2
  import { boolean, flag, number, option, optional, string } from "cmd-ts";
3
3
  //#region clis/args/switchboard.ts
4
4
  const switchboardArgs = {
@@ -1,4 +1,4 @@
1
- import { _ as packageManagerArgs, o as debugArgs } from "./common-fPNESurz.mjs";
1
+ import { _ as packageManagerArgs, o as debugArgs } from "./common-dbsvksvf.mjs";
2
2
  import { restPositionals, string } from "cmd-ts";
3
3
  //#region clis/args/uninstall.ts
4
4
  const uninstallArgs = {
@@ -1,4 +1,4 @@
1
- import { o as debugArgs } from "./common-fPNESurz.mjs";
1
+ import { o as debugArgs } from "./common-dbsvksvf.mjs";
2
2
  import { boolean, flag, option, optional, positional, rest, string } from "cmd-ts";
3
3
  //#region clis/args/unpublish.ts
4
4
  const unpublishArgs = {
@@ -87,9 +87,15 @@ declare const vetraArgs: {
87
87
  interactive: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
88
88
  parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<boolean>>;
89
89
  } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & cmd_ts_dist_cjs_argparser_js0.Register & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
90
+ drivesPublicBase: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
91
+ parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
92
+ } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
90
93
  dbPath: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
91
94
  parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
92
95
  } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
96
+ renownNamespace: Partial<cmd_ts_dist_cjs_argparser_js0.Register> & {
97
+ parse(context: cmd_ts_dist_cjs_argparser_js0.ParseContext): Promise<cmd_ts_dist_cjs_argparser_js0.ParsingResult<string | undefined>>;
98
+ } & cmd_ts_dist_cjs_helpdoc_js0.ProvidesHelp & Partial<cmd_ts_dist_cjs_helpdoc_js0.Descriptive>;
93
99
  };
94
100
  //#endregion
95
101
  export { vetraArgs };
@@ -1 +1 @@
1
- {"version":3,"file":"vetra.d.mts","names":[],"sources":["../../../clis/args/vetra.ts"],"mappings":";;;;cAYa,SAAA;iBAoEZ,6BAAA,CAAA,QAAA"}
1
+ {"version":3,"file":"vetra.d.mts","names":[],"sources":["../../../clis/args/vetra.ts"],"mappings":";;;;cAaa,SAAA;iBA2EZ,6BAAA,CAAA,QAAA"}
@@ -1,4 +1,4 @@
1
- import { E as DEFAULT_VETRA_CONNECT_PORT, b as getConfig, i as commonServerArgs, r as commonArgs, y as vetraSwitchboardArgs } from "./common-fPNESurz.mjs";
1
+ import { D as DEFAULT_VETRA_CONNECT_PORT, b as vetraSwitchboardArgs, i as commonServerArgs, r as commonArgs, x as getConfig, y as renownNamespace } from "./common-dbsvksvf.mjs";
2
2
  import { boolean, flag, number, option, optional, string } from "cmd-ts";
3
3
  //#region clis/args/vetra.ts
4
4
  const vetraArgs = {
@@ -54,11 +54,17 @@ const vetraArgs = {
54
54
  defaultValue: () => false,
55
55
  defaultValueIsSerializable: true
56
56
  }),
57
+ drivesPublicBase: option({
58
+ type: optional(string),
59
+ long: "drives-public-base",
60
+ description: "public base URL for the drive URLs advertised to Connect; each drive is exposed as <base>/d/<slug> instead of http://localhost:<switchboard-port>/d/<slug>. Use when the switchboard is reachable through a reverse proxy."
61
+ }),
57
62
  dbPath: option({
58
63
  type: optional(string),
59
64
  long: "db-path",
60
65
  description: "Database path or connection string. Use a `postgres://` URL for Postgres; otherwise treated as a PGlite filesystem path. Leave unset for in-memory PGlite."
61
66
  }),
67
+ renownNamespace,
62
68
  ...commonArgs,
63
69
  ...commonServerArgs,
64
70
  ...vetraSwitchboardArgs
@@ -1 +1 @@
1
- {"version":3,"file":"vetra.mjs","names":[],"sources":["../../../clis/args/vetra.ts"],"sourcesContent":["import { boolean, flag, number, option, optional, string } from \"cmd-ts\";\nimport {\n DEFAULT_SWITCHBOARD_PORT,\n DEFAULT_VETRA_CONNECT_PORT,\n} from \"../constants.js\";\nimport { getConfig } from \"../file-system/get-config.js\";\nimport {\n commonArgs,\n commonServerArgs,\n vetraSwitchboardArgs,\n} from \"./common.js\";\n\nexport const vetraArgs = {\n switchboardPort: option({\n type: number,\n long: \"switchboard-port\",\n description: \"port to use for the Vetra Switchboard\",\n defaultValue: () => {\n const baseConfig = getConfig();\n return baseConfig.reactor?.port ?? DEFAULT_SWITCHBOARD_PORT;\n },\n }),\n connectPort: option({\n type: number,\n long: \"connect-port\",\n description: \"port to use for the Vetra Connect\",\n defaultValue: () => DEFAULT_VETRA_CONNECT_PORT,\n defaultValueIsSerializable: true,\n }),\n remoteDrive: option({\n type: optional(string),\n long: \"remote-drive\",\n description:\n \"URL of remote drive to connect to (skips switchboard initialization)\",\n defaultValue: () => {\n const baseConfig = getConfig();\n return baseConfig.vetra?.driveUrl;\n },\n }),\n watch: flag({\n type: boolean,\n long: \"watch\",\n short: \"w\",\n description:\n \"Enable dynamic loading for document-models and editors in connect-studio and switchboard\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n verbose: flag({\n type: boolean,\n long: \"logs\",\n description: \"Show additional logs\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n disableConnect: flag({\n type: boolean,\n long: \"disable-connect\",\n description:\n \"Skip Connect initialization (only start switchboard and reactor)\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n interactive: flag({\n type: boolean,\n long: \"interactive\",\n description:\n \"Enable interactive mode for code generation (requires user confirmation before generating code)\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n dbPath: option({\n type: optional(string),\n long: \"db-path\",\n description:\n \"Database path or connection string. Use a `postgres://` URL for Postgres; otherwise treated as a PGlite filesystem path. Leave unset for in-memory PGlite.\",\n }),\n ...commonArgs,\n ...commonServerArgs,\n ...vetraSwitchboardArgs,\n};\n"],"mappings":";;;AAYA,MAAa,YAAY;CACvB,iBAAiB,OAAO;EACtB,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;AAElB,UADmB,WAAW,CACZ,SAAS,QAAA;;EAE9B,CAAC;CACF,aAAa,OAAO;EAClB,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,aAAa,OAAO;EAClB,MAAM,SAAS,OAAO;EACtB,MAAM;EACN,aACE;EACF,oBAAoB;AAElB,UADmB,WAAW,CACZ,OAAO;;EAE5B,CAAC;CACF,OAAO,KAAK;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,SAAS,KAAK;EACZ,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,gBAAgB,KAAK;EACnB,MAAM;EACN,MAAM;EACN,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,aAAa,KAAK;EAChB,MAAM;EACN,MAAM;EACN,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,QAAQ,OAAO;EACb,MAAM,SAAS,OAAO;EACtB,MAAM;EACN,aACE;EACH,CAAC;CACF,GAAG;CACH,GAAG;CACH,GAAG;CACJ"}
1
+ {"version":3,"file":"vetra.mjs","names":[],"sources":["../../../clis/args/vetra.ts"],"sourcesContent":["import { boolean, flag, number, option, optional, string } from \"cmd-ts\";\nimport {\n DEFAULT_SWITCHBOARD_PORT,\n DEFAULT_VETRA_CONNECT_PORT,\n} from \"../constants.js\";\nimport { getConfig } from \"../file-system/get-config.js\";\nimport {\n commonArgs,\n commonServerArgs,\n renownNamespace,\n vetraSwitchboardArgs,\n} from \"./common.js\";\n\nexport const vetraArgs = {\n switchboardPort: option({\n type: number,\n long: \"switchboard-port\",\n description: \"port to use for the Vetra Switchboard\",\n defaultValue: () => {\n const baseConfig = getConfig();\n return baseConfig.reactor?.port ?? DEFAULT_SWITCHBOARD_PORT;\n },\n }),\n connectPort: option({\n type: number,\n long: \"connect-port\",\n description: \"port to use for the Vetra Connect\",\n defaultValue: () => DEFAULT_VETRA_CONNECT_PORT,\n defaultValueIsSerializable: true,\n }),\n remoteDrive: option({\n type: optional(string),\n long: \"remote-drive\",\n description:\n \"URL of remote drive to connect to (skips switchboard initialization)\",\n defaultValue: () => {\n const baseConfig = getConfig();\n return baseConfig.vetra?.driveUrl;\n },\n }),\n watch: flag({\n type: boolean,\n long: \"watch\",\n short: \"w\",\n description:\n \"Enable dynamic loading for document-models and editors in connect-studio and switchboard\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n verbose: flag({\n type: boolean,\n long: \"logs\",\n description: \"Show additional logs\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n disableConnect: flag({\n type: boolean,\n long: \"disable-connect\",\n description:\n \"Skip Connect initialization (only start switchboard and reactor)\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n interactive: flag({\n type: boolean,\n long: \"interactive\",\n description:\n \"Enable interactive mode for code generation (requires user confirmation before generating code)\",\n defaultValue: () => false,\n defaultValueIsSerializable: true,\n }),\n drivesPublicBase: option({\n type: optional(string),\n long: \"drives-public-base\",\n description:\n \"public base URL for the drive URLs advertised to Connect; each drive is exposed as <base>/d/<slug> instead of http://localhost:<switchboard-port>/d/<slug>. Use when the switchboard is reachable through a reverse proxy.\",\n }),\n dbPath: option({\n type: optional(string),\n long: \"db-path\",\n description:\n \"Database path or connection string. Use a `postgres://` URL for Postgres; otherwise treated as a PGlite filesystem path. Leave unset for in-memory PGlite.\",\n }),\n renownNamespace,\n ...commonArgs,\n ...commonServerArgs,\n ...vetraSwitchboardArgs,\n};\n"],"mappings":";;;AAaA,MAAa,YAAY;CACvB,iBAAiB,OAAO;EACtB,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;AAElB,UADmB,WAAW,CACZ,SAAS,QAAA;;EAE9B,CAAC;CACF,aAAa,OAAO;EAClB,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,aAAa,OAAO;EAClB,MAAM,SAAS,OAAO;EACtB,MAAM;EACN,aACE;EACF,oBAAoB;AAElB,UADmB,WAAW,CACZ,OAAO;;EAE5B,CAAC;CACF,OAAO,KAAK;EACV,MAAM;EACN,MAAM;EACN,OAAO;EACP,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,SAAS,KAAK;EACZ,MAAM;EACN,MAAM;EACN,aAAa;EACb,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,gBAAgB,KAAK;EACnB,MAAM;EACN,MAAM;EACN,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,aAAa,KAAK;EAChB,MAAM;EACN,MAAM;EACN,aACE;EACF,oBAAoB;EACpB,4BAA4B;EAC7B,CAAC;CACF,kBAAkB,OAAO;EACvB,MAAM,SAAS,OAAO;EACtB,MAAM;EACN,aACE;EACH,CAAC;CACF,QAAQ,OAAO;EACb,MAAM,SAAS,OAAO;EACtB,MAAM;EACN,aACE;EACH,CAAC;CACF;CACA,GAAG;CACH,GAAG;CACH,GAAG;CACJ"}