@ai-coders/installer 0.3.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 (127) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +18 -0
  3. package/README.md +64 -0
  4. package/dist/callback-page.d.ts +11 -0
  5. package/dist/callback-page.js +230 -0
  6. package/dist/callback-page.js.map +1 -0
  7. package/dist/clerk-auth.d.ts +18 -0
  8. package/dist/clerk-auth.js +296 -0
  9. package/dist/clerk-auth.js.map +1 -0
  10. package/dist/cli-command.d.ts +10 -0
  11. package/dist/cli-command.js +17 -0
  12. package/dist/cli-command.js.map +1 -0
  13. package/dist/cli.d.ts +2 -0
  14. package/dist/cli.js +84 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/i18n.d.ts +52 -0
  17. package/dist/i18n.js +163 -0
  18. package/dist/i18n.js.map +1 -0
  19. package/dist/product-manifest.d.ts +43 -0
  20. package/dist/product-manifest.js +140 -0
  21. package/dist/product-manifest.js.map +1 -0
  22. package/dist/products/second-brain/apply.d.ts +86 -0
  23. package/dist/products/second-brain/apply.js +277 -0
  24. package/dist/products/second-brain/apply.js.map +1 -0
  25. package/dist/products/second-brain/bearer.d.ts +29 -0
  26. package/dist/products/second-brain/bearer.js +78 -0
  27. package/dist/products/second-brain/bearer.js.map +1 -0
  28. package/dist/products/second-brain/bootstrap.d.ts +33 -0
  29. package/dist/products/second-brain/bootstrap.js +39 -0
  30. package/dist/products/second-brain/bootstrap.js.map +1 -0
  31. package/dist/products/second-brain/envfile.d.ts +35 -0
  32. package/dist/products/second-brain/envfile.js +136 -0
  33. package/dist/products/second-brain/envfile.js.map +1 -0
  34. package/dist/products/second-brain/github.d.ts +77 -0
  35. package/dist/products/second-brain/github.js +195 -0
  36. package/dist/products/second-brain/github.js.map +1 -0
  37. package/dist/products/second-brain/hostinger.d.ts +140 -0
  38. package/dist/products/second-brain/hostinger.js +607 -0
  39. package/dist/products/second-brain/hostinger.js.map +1 -0
  40. package/dist/products/second-brain/i18n.d.ts +887 -0
  41. package/dist/products/second-brain/i18n.js +587 -0
  42. package/dist/products/second-brain/i18n.js.map +1 -0
  43. package/dist/products/second-brain/keys.d.ts +5 -0
  44. package/dist/products/second-brain/keys.js +16 -0
  45. package/dist/products/second-brain/keys.js.map +1 -0
  46. package/dist/products/second-brain/main.d.ts +3 -0
  47. package/dist/products/second-brain/main.js +78 -0
  48. package/dist/products/second-brain/main.js.map +1 -0
  49. package/dist/products/second-brain/ports.d.ts +34 -0
  50. package/dist/products/second-brain/ports.js +77 -0
  51. package/dist/products/second-brain/ports.js.map +1 -0
  52. package/dist/products/second-brain/recovery.d.ts +50 -0
  53. package/dist/products/second-brain/recovery.js +96 -0
  54. package/dist/products/second-brain/recovery.js.map +1 -0
  55. package/dist/products/second-brain/sealed-box.d.ts +1 -0
  56. package/dist/products/second-brain/sealed-box.js +11 -0
  57. package/dist/products/second-brain/sealed-box.js.map +1 -0
  58. package/dist/products/second-brain/server.d.ts +143 -0
  59. package/dist/products/second-brain/server.js +280 -0
  60. package/dist/products/second-brain/server.js.map +1 -0
  61. package/dist/products/second-brain/service.d.ts +26 -0
  62. package/dist/products/second-brain/service.js +806 -0
  63. package/dist/products/second-brain/service.js.map +1 -0
  64. package/dist/products/second-brain/ssh.d.ts +35 -0
  65. package/dist/products/second-brain/ssh.js +140 -0
  66. package/dist/products/second-brain/ssh.js.map +1 -0
  67. package/dist/products/second-brain/state.d.ts +27 -0
  68. package/dist/products/second-brain/state.js +60 -0
  69. package/dist/products/second-brain/state.js.map +1 -0
  70. package/dist/products/second-brain/ui/assets/index-BoXpakUt.css +2 -0
  71. package/dist/products/second-brain/ui/assets/index-MgfOpW_R.js +66 -0
  72. package/dist/products/second-brain/ui/index.html +15 -0
  73. package/dist/products/second-brain/verify.d.ts +23 -0
  74. package/dist/products/second-brain/verify.js +59 -0
  75. package/dist/products/second-brain/verify.js.map +1 -0
  76. package/dist/products/severino/apply.d.ts +87 -0
  77. package/dist/products/severino/apply.js +250 -0
  78. package/dist/products/severino/apply.js.map +1 -0
  79. package/dist/products/severino/domain.d.ts +6 -0
  80. package/dist/products/severino/domain.js +20 -0
  81. package/dist/products/severino/domain.js.map +1 -0
  82. package/dist/products/severino/envfile.d.ts +20 -0
  83. package/dist/products/severino/envfile.js +89 -0
  84. package/dist/products/severino/envfile.js.map +1 -0
  85. package/dist/products/severino/github.d.ts +77 -0
  86. package/dist/products/severino/github.js +195 -0
  87. package/dist/products/severino/github.js.map +1 -0
  88. package/dist/products/severino/hostinger.d.ts +140 -0
  89. package/dist/products/severino/hostinger.js +607 -0
  90. package/dist/products/severino/hostinger.js.map +1 -0
  91. package/dist/products/severino/i18n.d.ts +887 -0
  92. package/dist/products/severino/i18n.js +587 -0
  93. package/dist/products/severino/i18n.js.map +1 -0
  94. package/dist/products/severino/keys.d.ts +5 -0
  95. package/dist/products/severino/keys.js +16 -0
  96. package/dist/products/severino/keys.js.map +1 -0
  97. package/dist/products/severino/main.d.ts +3 -0
  98. package/dist/products/severino/main.js +78 -0
  99. package/dist/products/severino/main.js.map +1 -0
  100. package/dist/products/severino/recovery.d.ts +50 -0
  101. package/dist/products/severino/recovery.js +96 -0
  102. package/dist/products/severino/recovery.js.map +1 -0
  103. package/dist/products/severino/sealed-box.d.ts +1 -0
  104. package/dist/products/severino/sealed-box.js +11 -0
  105. package/dist/products/severino/sealed-box.js.map +1 -0
  106. package/dist/products/severino/server.d.ts +123 -0
  107. package/dist/products/severino/server.js +274 -0
  108. package/dist/products/severino/server.js.map +1 -0
  109. package/dist/products/severino/service.d.ts +28 -0
  110. package/dist/products/severino/service.js +752 -0
  111. package/dist/products/severino/service.js.map +1 -0
  112. package/dist/products/severino/slack-manifest.d.ts +3 -0
  113. package/dist/products/severino/slack-manifest.js +45 -0
  114. package/dist/products/severino/slack-manifest.js.map +1 -0
  115. package/dist/products/severino/ssh.d.ts +35 -0
  116. package/dist/products/severino/ssh.js +140 -0
  117. package/dist/products/severino/ssh.js.map +1 -0
  118. package/dist/products/severino/state.d.ts +26 -0
  119. package/dist/products/severino/state.js +61 -0
  120. package/dist/products/severino/state.js.map +1 -0
  121. package/dist/products/severino/ui/assets/index-7S8Hl4jq.js +96 -0
  122. package/dist/products/severino/ui/assets/index-D5kql1Bh.css +2 -0
  123. package/dist/products/severino/ui/index.html +15 -0
  124. package/dist/products/severino/verify.d.ts +22 -0
  125. package/dist/products/severino/verify.js +149 -0
  126. package/dist/products/severino/verify.js.map +1 -0
  127. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../packages/severino/src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const slackRequestPath = "/eve/v1/slack";
2
+ export declare function slackRequestUrl(domain: string): string;
3
+ export declare function buildSlackAppManifest(domain: string): string;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Slack app manifest for a VPS install. Generated from the chosen public
3
+ * hostname so Event Subscriptions and Interactivity hit this agent, not a
4
+ * leftover Vercel Connect destination.
5
+ */
6
+ import { normalizeDomain } from "./domain.js";
7
+ export const slackRequestPath = "/eve/v1/slack";
8
+ export function slackRequestUrl(domain) {
9
+ return `https://${normalizeDomain(domain)}${slackRequestPath}`;
10
+ }
11
+ export function buildSlackAppManifest(domain) {
12
+ const requestUrl = slackRequestUrl(domain);
13
+ return `display_information:
14
+ name: Severino
15
+ description: Task-execution assistant on your VPS.
16
+ background_color: "#070707"
17
+ features:
18
+ bot_user:
19
+ display_name: Severino
20
+ always_online: true
21
+ oauth_config:
22
+ scopes:
23
+ bot:
24
+ - app_mentions:read
25
+ - chat:write
26
+ - channels:history
27
+ - groups:history
28
+ - im:history
29
+ - im:read
30
+ - im:write
31
+ settings:
32
+ event_subscriptions:
33
+ request_url: ${requestUrl}
34
+ bot_events:
35
+ - app_mention
36
+ - message.im
37
+ interactivity:
38
+ is_enabled: true
39
+ request_url: ${requestUrl}
40
+ org_deploy_enabled: false
41
+ socket_mode_enabled: false
42
+ token_rotation_enabled: false
43
+ `;
44
+ }
45
+ //# sourceMappingURL=slack-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-manifest.js","sourceRoot":"","sources":["../../../packages/severino/src/slack-manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,WAAW,eAAe,CAAC,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO;;;;;;;;;;;;;;;;;;;;mBAoBU,UAAU;;;;;;mBAMV,UAAU;;;;CAI5B,CAAC;AACF,CAAC"}
@@ -0,0 +1,35 @@
1
+ export declare function shellQuote(value: string): string;
2
+ export declare function buildAuthorizedKeysCommand(publicKey: string): string;
3
+ export type SshCredentials = {
4
+ readonly host: string;
5
+ readonly port: number;
6
+ readonly username: string;
7
+ readonly auth: {
8
+ readonly kind: "password";
9
+ readonly password: string;
10
+ } | {
11
+ readonly kind: "key";
12
+ readonly privateKey: string;
13
+ };
14
+ };
15
+ export interface SshCommandResult {
16
+ readonly code: number;
17
+ readonly stdout: string;
18
+ readonly stderr: string;
19
+ }
20
+ export declare class SshSession {
21
+ private readonly client;
22
+ private constructor();
23
+ static connect(credentials: SshCredentials): Promise<SshSession>;
24
+ /**
25
+ * Runs one remote command. `input` is written to the command's standard
26
+ * input and the stream is then closed, which is how a secret reaches the
27
+ * remote process without ever appearing in the command line. Commands that
28
+ * pass no input keep the stream untouched, as before.
29
+ */
30
+ exec(command: string, input?: string): Promise<SshCommandResult>;
31
+ private sftp;
32
+ readFileIfExists(path: string): Promise<string | null>;
33
+ writeFile(path: string, content: string | Buffer, mode?: number): Promise<void>;
34
+ close(): void;
35
+ }
@@ -0,0 +1,140 @@
1
+ /**
2
+ * SSH access for the installer. The pure helpers (quoting, authorized_keys
3
+ * command) are unit-tested; SshSession is a thin ssh2 wrapper verified only
4
+ * end-to-end against a real VPS.
5
+ */
6
+ import ssh2 from "ssh2";
7
+ export function shellQuote(value) {
8
+ if (value.includes("\0") || value.includes("\n") || value.includes("\r")) {
9
+ throw new Error("The value must not contain line breaks.");
10
+ }
11
+ return `'${value.replaceAll("'", `'\\''`)}'`;
12
+ }
13
+ export function buildAuthorizedKeysCommand(publicKey) {
14
+ const key = shellQuote(publicKey.trim());
15
+ return [
16
+ "mkdir -p ~/.ssh",
17
+ "chmod 700 ~/.ssh",
18
+ "touch ~/.ssh/authorized_keys",
19
+ `grep -qxF ${key} ~/.ssh/authorized_keys || printf '%s\\n' ${key} >> ~/.ssh/authorized_keys`,
20
+ "chmod 600 ~/.ssh/authorized_keys",
21
+ ].join(" && ");
22
+ }
23
+ export class SshSession {
24
+ client;
25
+ constructor(client) {
26
+ this.client = client;
27
+ }
28
+ static connect(credentials) {
29
+ const client = new ssh2.Client();
30
+ return new Promise((resolve, reject) => {
31
+ client.on("ready", () => resolve(new SshSession(client)));
32
+ client.on("error", (error) => {
33
+ const message = String(error.message ?? error);
34
+ if (/authentication/i.test(message)) {
35
+ reject(new Error("The server refused the credentials."));
36
+ }
37
+ else if (/ECONNREFUSED|EHOSTUNREACH|ENOTFOUND|ETIMEDOUT|timed? ?out/i.test(message)) {
38
+ reject(new Error("The server could not be reached."));
39
+ }
40
+ else {
41
+ reject(new Error(`SSH connection failed: ${message}`));
42
+ }
43
+ });
44
+ client.connect({
45
+ host: credentials.host,
46
+ port: credentials.port,
47
+ username: credentials.username,
48
+ readyTimeout: 15_000,
49
+ keepaliveInterval: 10_000,
50
+ ...(credentials.auth.kind === "password"
51
+ ? { password: credentials.auth.password }
52
+ : { privateKey: credentials.auth.privateKey }),
53
+ });
54
+ });
55
+ }
56
+ /**
57
+ * Runs one remote command. `input` is written to the command's standard
58
+ * input and the stream is then closed, which is how a secret reaches the
59
+ * remote process without ever appearing in the command line. Commands that
60
+ * pass no input keep the stream untouched, as before.
61
+ */
62
+ exec(command, input) {
63
+ return new Promise((resolve, reject) => {
64
+ this.client.exec(command, (error, stream) => {
65
+ if (error) {
66
+ reject(error);
67
+ return;
68
+ }
69
+ let stdout = "";
70
+ let stderr = "";
71
+ stream.on("data", (chunk) => {
72
+ stdout += chunk.toString("utf8");
73
+ });
74
+ stream.stderr.on("data", (chunk) => {
75
+ stderr += chunk.toString("utf8");
76
+ });
77
+ stream.on("close", (code) => {
78
+ resolve({ code: code ?? 1, stdout, stderr });
79
+ });
80
+ if (input !== undefined)
81
+ stream.end(input);
82
+ });
83
+ });
84
+ }
85
+ sftp() {
86
+ return new Promise((resolve, reject) => {
87
+ this.client.sftp((error, sftp) => {
88
+ if (error)
89
+ reject(error);
90
+ else
91
+ resolve(sftp);
92
+ });
93
+ });
94
+ }
95
+ async readFileIfExists(path) {
96
+ const sftp = await this.sftp();
97
+ return new Promise((resolve, reject) => {
98
+ sftp.readFile(path, (error, contents) => {
99
+ if (error) {
100
+ // Only a genuine "no such file" may report absence. Any other
101
+ // failure must surface: treating it as absence would make the
102
+ // installer regenerate the database password over a live volume.
103
+ const code = error.code;
104
+ const message = String(error.message ?? error);
105
+ if (code === 2 || /no such file/i.test(message))
106
+ resolve(null);
107
+ else
108
+ reject(error instanceof Error ? error : new Error(message));
109
+ }
110
+ else {
111
+ resolve(contents.toString("utf8"));
112
+ }
113
+ });
114
+ });
115
+ }
116
+ async writeFile(path, content, mode = 0o600) {
117
+ const sftp = await this.sftp();
118
+ const data = typeof content === "string" ? Buffer.from(content, "utf8") : content;
119
+ await new Promise((resolve, reject) => {
120
+ sftp.writeFile(path, data, { mode }, (error) => {
121
+ if (error)
122
+ reject(error);
123
+ else
124
+ resolve();
125
+ });
126
+ });
127
+ await new Promise((resolve, reject) => {
128
+ sftp.chmod(path, mode, (error) => {
129
+ if (error)
130
+ reject(error);
131
+ else
132
+ resolve();
133
+ });
134
+ });
135
+ }
136
+ close() {
137
+ this.client.end();
138
+ }
139
+ }
140
+ //# sourceMappingURL=ssh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../packages/severino/src/ssh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { InstallerLanguage } from "./i18n.js";
2
+ export declare const stateFileName = ".installer-state.json";
3
+ export interface InstallerState {
4
+ readonly version: 1;
5
+ readonly language: InstallerLanguage;
6
+ readonly repository?: {
7
+ readonly owner: string;
8
+ readonly repo: string;
9
+ };
10
+ readonly githubToken?: string;
11
+ readonly vps: {
12
+ readonly host: string;
13
+ readonly port: number;
14
+ readonly username: string;
15
+ };
16
+ readonly deployKey: {
17
+ readonly publicKey: string;
18
+ readonly privateKey: string;
19
+ };
20
+ readonly domain: string;
21
+ readonly installedAt: string;
22
+ readonly updatedAt: string;
23
+ }
24
+ export declare function loadState(path: string): Promise<InstallerState | null>;
25
+ export declare function saveState(path: string, state: InstallerState): Promise<void>;
26
+ export declare function deleteState(path: string): Promise<void>;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Installer state persisted at the repo root (gitignored). Holds the deploy
3
+ * private key and, once automatic deploys are activated, the GitHub token,
4
+ * so the file is written with mode 0600. Never stores the OpenRouter key,
5
+ * channel credentials, or the VPS root password.
6
+ */
7
+ import { chmod, readFile, rm, writeFile } from "node:fs/promises";
8
+ export const stateFileName = ".installer-state.json";
9
+ export async function loadState(path) {
10
+ let raw;
11
+ try {
12
+ raw = await readFile(path, "utf8");
13
+ }
14
+ catch {
15
+ return null;
16
+ }
17
+ try {
18
+ const parsed = JSON.parse(raw);
19
+ if (parsed.version !== 1)
20
+ return null;
21
+ return parsed;
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ export async function saveState(path, state) {
28
+ // Runtime objects can carry properties that TypeScript does not know about.
29
+ // Encode the persistence contract explicitly so an accidental object spread
30
+ // can never write transient API tokens, passwords, or confirmation handles.
31
+ const persisted = {
32
+ version: 1,
33
+ language: state.language,
34
+ ...(state.repository === undefined ? {} : { repository: state.repository }),
35
+ ...(state.githubToken === undefined
36
+ ? {}
37
+ : { githubToken: state.githubToken }),
38
+ vps: {
39
+ host: state.vps.host,
40
+ port: state.vps.port,
41
+ username: state.vps.username,
42
+ },
43
+ deployKey: {
44
+ publicKey: state.deployKey.publicKey,
45
+ privateKey: state.deployKey.privateKey,
46
+ },
47
+ domain: state.domain,
48
+ installedAt: state.installedAt,
49
+ updatedAt: state.updatedAt,
50
+ };
51
+ await writeFile(path, `${JSON.stringify(persisted, null, 2)}\n`, {
52
+ mode: 0o600,
53
+ });
54
+ // The mode option only applies when the file is created; re-saving over an
55
+ // existing file needs an explicit chmod.
56
+ await chmod(path, 0o600);
57
+ }
58
+ export async function deleteState(path) {
59
+ await rm(path, { force: true });
60
+ }
61
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../packages/severino/src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAqBrD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,MAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAY,EACZ,KAAqB;IAErB,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,SAAS,GAAmB;QAChC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,GAAG,EAAE;YACH,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACpB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACpB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ;SAC7B;QACD,SAAS,EAAE;YACT,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS;YACpC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;SACvC;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC/D,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,2EAA2E;IAC3E,yCAAyC;IACzC,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC"}