getmyenv 0.5.2 → 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.
Files changed (161) hide show
  1. package/README.md +57 -13
  2. package/dist/bin.js +1 -24
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts +10 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +179 -101
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/backup.d.ts +2 -1
  9. package/dist/commands/backup.d.ts.map +1 -1
  10. package/dist/commands/backup.js +15 -25
  11. package/dist/commands/backup.js.map +1 -1
  12. package/dist/commands/claim.d.ts +2 -1
  13. package/dist/commands/claim.d.ts.map +1 -1
  14. package/dist/commands/claim.js +114 -82
  15. package/dist/commands/claim.js.map +1 -1
  16. package/dist/commands/context.d.ts +11 -0
  17. package/dist/commands/context.d.ts.map +1 -0
  18. package/dist/commands/context.js +53 -0
  19. package/dist/commands/context.js.map +1 -0
  20. package/dist/commands/export.d.ts +11 -0
  21. package/dist/commands/export.d.ts.map +1 -0
  22. package/dist/commands/export.js +67 -0
  23. package/dist/commands/export.js.map +1 -0
  24. package/dist/commands/guest.d.ts +9 -3
  25. package/dist/commands/guest.d.ts.map +1 -1
  26. package/dist/commands/guest.js +32 -30
  27. package/dist/commands/guest.js.map +1 -1
  28. package/dist/commands/import.d.ts +26 -0
  29. package/dist/commands/import.d.ts.map +1 -0
  30. package/dist/commands/import.js +168 -0
  31. package/dist/commands/import.js.map +1 -0
  32. package/dist/commands/lock.d.ts +5 -0
  33. package/dist/commands/lock.d.ts.map +1 -0
  34. package/dist/commands/lock.js +18 -0
  35. package/dist/commands/lock.js.map +1 -0
  36. package/dist/commands/ls.d.ts +6 -0
  37. package/dist/commands/ls.d.ts.map +1 -0
  38. package/dist/commands/ls.js +37 -0
  39. package/dist/commands/ls.js.map +1 -0
  40. package/dist/commands/restore.d.ts +7 -2
  41. package/dist/commands/restore.d.ts.map +1 -1
  42. package/dist/commands/restore.js +58 -51
  43. package/dist/commands/restore.js.map +1 -1
  44. package/dist/commands/run.d.ts +7 -5
  45. package/dist/commands/run.d.ts.map +1 -1
  46. package/dist/commands/run.js +97 -185
  47. package/dist/commands/run.js.map +1 -1
  48. package/dist/commands/set.d.ts +16 -0
  49. package/dist/commands/set.d.ts.map +1 -0
  50. package/dist/commands/set.js +111 -0
  51. package/dist/commands/set.js.map +1 -0
  52. package/dist/commands/start.d.ts +16 -0
  53. package/dist/commands/start.d.ts.map +1 -0
  54. package/dist/commands/start.js +118 -0
  55. package/dist/commands/start.js.map +1 -0
  56. package/dist/commands/status.d.ts +5 -0
  57. package/dist/commands/status.d.ts.map +1 -0
  58. package/dist/commands/status.js +40 -0
  59. package/dist/commands/status.js.map +1 -0
  60. package/dist/commands/unlink.d.ts +9 -0
  61. package/dist/commands/unlink.d.ts.map +1 -0
  62. package/dist/commands/unlink.js +70 -0
  63. package/dist/commands/unlink.js.map +1 -0
  64. package/dist/lib/api-url.d.ts +12 -0
  65. package/dist/lib/api-url.d.ts.map +1 -1
  66. package/dist/lib/api-url.js +32 -0
  67. package/dist/lib/api-url.js.map +1 -1
  68. package/dist/lib/api.d.ts +35 -23
  69. package/dist/lib/api.d.ts.map +1 -1
  70. package/dist/lib/api.js +23 -59
  71. package/dist/lib/api.js.map +1 -1
  72. package/dist/lib/authorize.d.ts +13 -6
  73. package/dist/lib/authorize.d.ts.map +1 -1
  74. package/dist/lib/authorize.js +68 -63
  75. package/dist/lib/authorize.js.map +1 -1
  76. package/dist/lib/bootstrap.d.ts +18 -15
  77. package/dist/lib/bootstrap.d.ts.map +1 -1
  78. package/dist/lib/bootstrap.js +59 -58
  79. package/dist/lib/bootstrap.js.map +1 -1
  80. package/dist/lib/confirm.js +4 -4
  81. package/dist/lib/confirm.js.map +1 -1
  82. package/dist/lib/context.d.ts +12 -0
  83. package/dist/lib/context.d.ts.map +1 -0
  84. package/dist/lib/context.js +43 -0
  85. package/dist/lib/context.js.map +1 -0
  86. package/dist/lib/credentials.d.ts +8 -9
  87. package/dist/lib/credentials.d.ts.map +1 -1
  88. package/dist/lib/credentials.js +2 -10
  89. package/dist/lib/credentials.js.map +1 -1
  90. package/dist/lib/fs.d.ts +26 -37
  91. package/dist/lib/fs.d.ts.map +1 -1
  92. package/dist/lib/fs.js +112 -327
  93. package/dist/lib/fs.js.map +1 -1
  94. package/dist/lib/guest-key.d.ts +8 -6
  95. package/dist/lib/guest-key.d.ts.map +1 -1
  96. package/dist/lib/guest-key.js +26 -3
  97. package/dist/lib/guest-key.js.map +1 -1
  98. package/dist/lib/identity.d.ts +9 -11
  99. package/dist/lib/identity.d.ts.map +1 -1
  100. package/dist/lib/identity.js +34 -24
  101. package/dist/lib/identity.js.map +1 -1
  102. package/dist/lib/keychain.d.ts +21 -0
  103. package/dist/lib/keychain.d.ts.map +1 -0
  104. package/dist/lib/keychain.js +124 -0
  105. package/dist/lib/keychain.js.map +1 -0
  106. package/dist/lib/pek.d.ts +15 -22
  107. package/dist/lib/pek.d.ts.map +1 -1
  108. package/dist/lib/pek.js +31 -51
  109. package/dist/lib/pek.js.map +1 -1
  110. package/dist/lib/run-env.d.ts +50 -0
  111. package/dist/lib/run-env.d.ts.map +1 -0
  112. package/dist/lib/run-env.js +114 -0
  113. package/dist/lib/run-env.js.map +1 -0
  114. package/dist/lib/unlock.d.ts +24 -0
  115. package/dist/lib/unlock.d.ts.map +1 -0
  116. package/dist/lib/unlock.js +87 -0
  117. package/dist/lib/unlock.js.map +1 -0
  118. package/dist/lib/update-check.d.ts +4 -2
  119. package/dist/lib/update-check.d.ts.map +1 -1
  120. package/dist/lib/update-check.js +54 -68
  121. package/dist/lib/update-check.js.map +1 -1
  122. package/dist/lib/upload.d.ts +21 -0
  123. package/dist/lib/upload.d.ts.map +1 -0
  124. package/dist/lib/upload.js +53 -0
  125. package/dist/lib/upload.js.map +1 -0
  126. package/package.json +5 -3
  127. package/dist/commands/delete.d.ts +0 -6
  128. package/dist/commands/delete.d.ts.map +0 -1
  129. package/dist/commands/delete.js +0 -55
  130. package/dist/commands/delete.js.map +0 -1
  131. package/dist/commands/link.d.ts +0 -16
  132. package/dist/commands/link.d.ts.map +0 -1
  133. package/dist/commands/link.js +0 -142
  134. package/dist/commands/link.js.map +0 -1
  135. package/dist/commands/pull.d.ts +0 -15
  136. package/dist/commands/pull.d.ts.map +0 -1
  137. package/dist/commands/pull.js +0 -159
  138. package/dist/commands/pull.js.map +0 -1
  139. package/dist/commands/push.d.ts +0 -15
  140. package/dist/commands/push.d.ts.map +0 -1
  141. package/dist/commands/push.js +0 -262
  142. package/dist/commands/push.js.map +0 -1
  143. package/dist/commands/remove.d.ts +0 -11
  144. package/dist/commands/remove.d.ts.map +0 -1
  145. package/dist/commands/remove.js +0 -39
  146. package/dist/commands/remove.js.map +0 -1
  147. package/dist/commands/token.d.ts +0 -14
  148. package/dist/commands/token.d.ts.map +0 -1
  149. package/dist/commands/token.js +0 -132
  150. package/dist/commands/token.js.map +0 -1
  151. package/dist/commands/whoami.d.ts +0 -6
  152. package/dist/commands/whoami.d.ts.map +0 -1
  153. package/dist/commands/whoami.js +0 -46
  154. package/dist/commands/whoami.js.map +0 -1
  155. package/dist/lib/env-name.d.ts +0 -3
  156. package/dist/lib/env-name.d.ts.map +0 -1
  157. package/dist/lib/env-name.js +0 -5
  158. package/dist/lib/env-name.js.map +0 -1
  159. package/dist/lib/guest-key.test.d.ts +0 -2
  160. package/dist/lib/guest-key.test.d.ts.map +0 -1
  161. package/dist/lib/guest-key.test.js.map +0 -1
package/dist/lib/fs.d.ts CHANGED
@@ -1,19 +1,21 @@
1
+ /**
2
+ * `.getmyenv/project.json`, committed so a clone knows its project.
3
+ * Holds no API URL: a committed file must not redirect where tokens go.
4
+ */
1
5
  export type ProjectMeta = {
2
6
  projectId?: string;
3
7
  projectName?: string;
4
- apiUrl?: string;
5
- /** Environment for this folder, set at link time. */
6
- environment?: "development" | "production";
7
- };
8
- export type RequirementsMeta = {
9
- required: string[];
8
+ /** Default context slug for this folder. */
9
+ context?: string;
10
10
  };
11
+ /**
12
+ * Nearest folder at or above cwd with a linked `.getmyenv/`, so commands work
13
+ * from subfolders. Stops at a git repo root. Falls back to cwd.
14
+ */
11
15
  export declare function getProjectRoot(cwd?: string): string;
12
16
  export declare function getGetenvDir(cwd?: string): string;
13
17
  export declare function readProjectMeta(cwd?: string): ProjectMeta | null;
14
18
  export declare function writeProjectMeta(meta: ProjectMeta, cwd?: string): void;
15
- export declare function writeRequirements(required: string[], cwd?: string): void;
16
- export declare function readRequirements(cwd?: string): string[];
17
19
  /** OS user config for machine identity - never in the repo. */
18
20
  export declare function getConfigDir(): string;
19
21
  /**
@@ -29,16 +31,15 @@ export declare function readLine(question: string): Promise<string>;
29
31
  export declare function promptHidden(question: string, opts?: {
30
32
  allowStdin?: boolean;
31
33
  }): Promise<string>;
34
+ /** Yes/no on a TTY. Empty input picks the default, which is No unless `defaultYes`. */
32
35
  export declare function promptConfirm(question: string, opts?: {
33
36
  defaultYes?: boolean;
34
37
  }): Promise<boolean>;
35
38
  /** 1-based numbered choice. Empty input selects defaultIndex (0-based). */
36
39
  export declare function promptChoice(question: string, options: string[], defaultIndex?: number): Promise<number>;
37
- /** Throw with clear next steps when this folder has no linked project. */
38
- export declare function requireLinkedProject(meta: ProjectMeta | null): asserts meta is ProjectMeta & {
39
- projectId: NonNullable<ProjectMeta["projectId"]>;
40
- };
41
40
  export declare function ensureGitignoreHasEnv(cwd?: string): void;
41
+ /** Ignore one plaintext file written by `export -o`. Files outside the project are left alone. */
42
+ export declare function ensureGitignoreHas(file: string, cwd?: string): void;
42
43
  export type ClaimFile = {
43
44
  version: 1;
44
45
  claimCode: string;
@@ -52,36 +53,24 @@ export declare function claimFilePath(cwd?: string): string;
52
53
  export declare function readClaimFile(cwd?: string): ClaimFile | null;
53
54
  export declare function writeClaimFile(data: Omit<ClaimFile, "version">, cwd?: string): string;
54
55
  export declare function clearClaimFile(cwd?: string): boolean;
55
- /** First-class languages shown on landing / docs. */
56
- export type DetectedLanguage = "node" | "python" | "ruby" | "rust" | "go" | "php" | "java" | "dotnet";
57
- /** Detect project languages from framework markers (names only, no values). */
58
- export declare function detectLanguages(cwd?: string): Array<{
59
- language: DetectedLanguage;
60
- label: string;
61
- }>;
62
- /** Native env-read snippet for a language (for migrate / docs messaging). */
63
- export declare function envReadSnippet(language: DetectedLanguage | null, name: string): string;
64
- /**
65
- * Detect env var names from .env* and common source patterns across languages.
66
- * NEVER returns or collects secret values.
67
- */
68
- export declare function detectEnvNames(cwd?: string): string[];
56
+ /** dotenv rules (multiline values, inline comments, BOM), valid names only. */
57
+ export declare function parseEnvText(text: string): Record<string, string>;
58
+ /** `parseEnvText` for a file. A missing file reads as empty. */
69
59
  export declare function parseEnvFile(filePath: string): Record<string, string>;
60
+ /** `.example`, `.sample` and `.template` files hold placeholders, not values. */
70
61
  export declare function isEnvSampleFile(filePath: string): boolean;
71
62
  /**
72
- * Recursively find .env* files under cwd (including .example / .sample after a pull).
73
- * Skips common junk directories and *.migrated.local.
63
+ * Recursively find .env* files under cwd, including .example / .sample.
64
+ * Skips common junk directories.
74
65
  */
75
66
  export declare function listEnvFiles(cwd?: string): string[];
76
- /** First candidate from listEnvFiles, or null. */
77
- export declare function findEnvFile(cwd?: string): string | null;
78
- /** Basename contains "production" (e.g. .env.production, .env.production.local). */
79
- export declare function isProductionEnvFilename(filePath: string): boolean;
67
+ /** Env files in this folder only (not subfolders). Samples skipped. */
68
+ export declare function rootEnvFiles(cwd?: string): string[];
80
69
  /**
81
- * Env files safe to push: every .env* candidate except production-named files.
82
- * Production values belong in the dashboard, not in the repo.
70
+ * Context slug implied by an env file name.
71
+ * `.env.staging` and `.env.staging.local` map to `staging`.
72
+ * `.env` and `.env.local` map to null (use the default context).
73
+ * Sample files map to null too.
83
74
  */
84
- export declare function listPushEnvFiles(cwd?: string): string[];
85
- /** Infer CLI -e name from an env file basename. */
86
- export declare function inferEnvNameFromFile(filePath: string): string;
75
+ export declare function contextSlugFromEnvFile(filePath: string): string | null;
87
76
  //# sourceMappingURL=fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,SAAgB,GAAG,MAAM,CAE1D;AAED,wBAAgB,YAAY,CAAC,GAAG,SAAgB,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,GAAG,SAAgB,GAAG,WAAW,GAAG,IAAI,CAoCvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,SAAgB,GAAG,IAAI,CAoB7E;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,SAAgB,GAClB,IAAI,CAWN;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAK9D;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAcD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB1D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,2EAA2E;AAC3E,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,SAAI,GACf,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,GAAG,IAAI,GACvB,OAAO,CAAC,IAAI,IAAI,WAAW,GAAG;IAAE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAUpF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,SAAgB,GAAG,IAAI,CAgC/D;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,GAAG,SAAgB,GAAG,SAAS,GAAG,IAAI,CA2BnE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,SAAgB,GAAG,MAAM,CAQ5F;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAgB,GAAG,OAAO,CAK3D;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,IAAI,GACJ,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;AAuGb,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,GAAG,SAAgB,GAAG,KAAK,CAAC;IAC1D,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAmBD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,IAAI,EAAE,MAAM,GACX,MAAM,CAoBR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAwD5D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBrE;AAsCD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOzD;AAsBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CA6B1D;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,GAAG,SAAgB,GAAG,MAAM,GAAG,IAAI,CAE9D;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAE9D;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK7D"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,SAAgB,GAAG,MAAM,CAc1D;AAED,wBAAgB,YAAY,CAAC,GAAG,SAAgB,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,GAAG,SAAgB,GAAG,WAAW,GAAG,IAAI,CAwBvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,SAAgB,GAAG,IAAI,CAiB7E;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAkBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB1D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,MAAM,CAAC,CAsDjB;AAED,uFAAuF;AACvF,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,2EAA2E;AAC3E,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,SAAI,GACf,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,SAAgB,GAAG,IAAI,CAwB/D;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,IAAI,CAY1E;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,GAAG,SAAgB,GAAG,SAAS,GAAG,IAAI,CA2BnE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,SAAgB,GAAG,MAAM,CAQ5F;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAgB,GAAG,OAAO,CAK3D;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjE;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGrE;AAqCD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOzD;AAsBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CA6B1D;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAK1D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtE"}