@openagt/dashboard 0.53.0 → 0.55.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 (181) hide show
  1. package/README.md +4 -2
  2. package/dist/appearance.d.ts +50 -0
  3. package/dist/appearance.d.ts.map +1 -0
  4. package/dist/appearance.js +51 -0
  5. package/dist/appearance.js.map +1 -0
  6. package/dist/cli/skills.d.ts.map +1 -1
  7. package/dist/cli/skills.js +1 -1
  8. package/dist/cli/skills.js.map +1 -1
  9. package/dist/client.d.ts +1 -0
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +1 -0
  12. package/dist/client.js.map +1 -1
  13. package/dist/clone-project.js +1 -1
  14. package/dist/clone-project.js.map +1 -1
  15. package/dist/daemon-runtime.d.ts.map +1 -1
  16. package/dist/daemon-runtime.js +8 -4
  17. package/dist/daemon-runtime.js.map +1 -1
  18. package/dist/daemon-services.d.ts +4 -4
  19. package/dist/daemon-services.js +6 -6
  20. package/dist/daemon-services.js.map +1 -1
  21. package/dist/daemon.d.ts +1 -1
  22. package/dist/daemon.d.ts.map +1 -1
  23. package/dist/daemon.js +11 -1
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/dashboard/elsewhere.d.ts +1 -1
  26. package/dist/dashboard/elsewhere.d.ts.map +1 -1
  27. package/dist/dashboard/projects.js +1 -1
  28. package/dist/dashboard/projects.js.map +1 -1
  29. package/dist/dashboard/rpc-serve.d.ts +6 -0
  30. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  31. package/dist/dashboard/rpc-serve.js +21 -1
  32. package/dist/dashboard/rpc-serve.js.map +1 -1
  33. package/dist/dashboard/run-inbox.d.ts +4 -3
  34. package/dist/dashboard/run-inbox.d.ts.map +1 -1
  35. package/dist/dashboard/run-inbox.js +6 -5
  36. package/dist/dashboard/run-inbox.js.map +1 -1
  37. package/dist/dashboard/server.d.ts +16 -1
  38. package/dist/dashboard/server.d.ts.map +1 -1
  39. package/dist/dashboard/server.js +54 -12
  40. package/dist/dashboard/server.js.map +1 -1
  41. package/dist/dashboard/static.d.ts +15 -2
  42. package/dist/dashboard/static.d.ts.map +1 -1
  43. package/dist/dashboard/static.js +33 -18
  44. package/dist/dashboard/static.js.map +1 -1
  45. package/dist/dashboard/website.d.ts +34 -0
  46. package/dist/dashboard/website.d.ts.map +1 -0
  47. package/dist/dashboard/website.js +82 -0
  48. package/dist/dashboard/website.js.map +1 -0
  49. package/dist/dashboard-bundle/assets/host/module-BMyNrbiB.js +1 -0
  50. package/dist/dashboard-bundle/assets/main-BLY-EDtL.css +2 -0
  51. package/dist/dashboard-bundle/assets/main-DPdJVm4s.js +152 -0
  52. package/dist/dashboard-bundle/assets/module-DY3Aigsz.js +19 -0
  53. package/dist/dashboard-bundle/index.html +8 -8
  54. package/dist/dashboard-rpc/control.d.ts +22 -6
  55. package/dist/dashboard-rpc/control.d.ts.map +1 -1
  56. package/dist/dashboard-rpc/control.js +45 -9
  57. package/dist/dashboard-rpc/control.js.map +1 -1
  58. package/dist/dashboard-rpc/index.d.ts +3 -1
  59. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  60. package/dist/dashboard-rpc/index.js +6 -2
  61. package/dist/dashboard-rpc/index.js.map +1 -1
  62. package/dist/dashboard-rpc/machines.d.ts.map +1 -1
  63. package/dist/dashboard-rpc/machines.js +1 -2
  64. package/dist/dashboard-rpc/machines.js.map +1 -1
  65. package/dist/dashboard-rpc/modules.js +2 -2
  66. package/dist/dashboard-rpc/modules.js.map +1 -1
  67. package/dist/dashboard-rpc/personal-folder.d.ts +23 -0
  68. package/dist/dashboard-rpc/personal-folder.d.ts.map +1 -0
  69. package/dist/dashboard-rpc/personal-folder.js +30 -0
  70. package/dist/dashboard-rpc/personal-folder.js.map +1 -0
  71. package/dist/dashboard-rpc/project-agent-data.d.ts +20 -0
  72. package/dist/dashboard-rpc/project-agent-data.d.ts.map +1 -0
  73. package/dist/dashboard-rpc/project-agent-data.js +38 -0
  74. package/dist/dashboard-rpc/project-agent-data.js.map +1 -0
  75. package/dist/dashboard-rpc/projects.d.ts +3 -5
  76. package/dist/dashboard-rpc/projects.d.ts.map +1 -1
  77. package/dist/dashboard-rpc/projects.js +5 -17
  78. package/dist/dashboard-rpc/projects.js.map +1 -1
  79. package/dist/dashboard-rpc/reads.d.ts +4 -4
  80. package/dist/dashboard-rpc/reads.d.ts.map +1 -1
  81. package/dist/dashboard-rpc/reads.js +5 -5
  82. package/dist/dashboard-rpc/reads.js.map +1 -1
  83. package/dist/dashboard-rpc/relay-dispatch.js +5 -5
  84. package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
  85. package/dist/events.d.ts +2 -0
  86. package/dist/events.d.ts.map +1 -1
  87. package/dist/events.js.map +1 -1
  88. package/dist/index.d.ts +0 -1
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/join-dashboard.d.ts +6 -2
  91. package/dist/join-dashboard.d.ts.map +1 -1
  92. package/dist/join-dashboard.js +4 -2
  93. package/dist/join-dashboard.js.map +1 -1
  94. package/dist/module-types/dashboard/components/Markdown.d.ts +8 -1
  95. package/dist/module-types/dashboard/components/SettingsRows.d.ts +2 -2
  96. package/dist/module-types/dashboard/components/ui/dropdown-menu.d.ts +3 -2
  97. package/dist/module-types/dashboard/lib/highlight.d.ts +13 -8
  98. package/dist/module-types/dashboard/module/index.d.ts +15 -1
  99. package/dist/module-types/src/appearance.d.ts +49 -0
  100. package/dist/module-types/src/client.d.ts +1 -0
  101. package/dist/module-types/src/dashboard/elsewhere.d.ts +1 -1
  102. package/dist/module-types/src/dashboard/rpc-serve.d.ts +6 -0
  103. package/dist/module-types/src/dashboard/run-inbox.d.ts +4 -3
  104. package/dist/module-types/src/dashboard-rpc/control.d.ts +22 -6
  105. package/dist/module-types/src/dashboard-rpc/index.d.ts +3 -1
  106. package/dist/module-types/src/dashboard-rpc/personal-folder.d.ts +22 -0
  107. package/dist/module-types/src/dashboard-rpc/project-agent-data.d.ts +19 -0
  108. package/dist/module-types/src/dashboard-rpc/projects.d.ts +3 -5
  109. package/dist/module-types/src/dashboard-rpc/reads.d.ts +4 -4
  110. package/dist/module-types/src/events.d.ts +2 -0
  111. package/dist/module-types/src/index.d.ts +0 -1
  112. package/dist/module-types/src/personal-folder-shown.d.ts +10 -0
  113. package/dist/module-types/src/registry.d.ts +11 -0
  114. package/dist/module-types/src/repository-url.d.ts +6 -0
  115. package/dist/module-types/src/secure-address.d.ts +31 -0
  116. package/dist/module.css +6 -4
  117. package/dist/personal-folder-shown.d.ts +11 -0
  118. package/dist/personal-folder-shown.d.ts.map +1 -0
  119. package/dist/personal-folder-shown.js +8 -0
  120. package/dist/personal-folder-shown.js.map +1 -0
  121. package/dist/registry.d.ts +11 -0
  122. package/dist/registry.d.ts.map +1 -1
  123. package/dist/registry.js +13 -0
  124. package/dist/registry.js.map +1 -1
  125. package/dist/remove-files.d.ts +4 -3
  126. package/dist/remove-files.d.ts.map +1 -1
  127. package/dist/remove-files.js +6 -1
  128. package/dist/remove-files.js.map +1 -1
  129. package/dist/repository-url.d.ts +7 -0
  130. package/dist/repository-url.d.ts.map +1 -0
  131. package/dist/repository-url.js +17 -0
  132. package/dist/repository-url.js.map +1 -0
  133. package/dist/secure-address.d.ts +32 -0
  134. package/dist/secure-address.d.ts.map +1 -0
  135. package/dist/secure-address.js +50 -0
  136. package/dist/secure-address.js.map +1 -0
  137. package/dist/store/run-record.d.ts.map +1 -1
  138. package/dist/store/run-record.js +3 -1
  139. package/dist/store/run-record.js.map +1 -1
  140. package/dist/terminal.js +2 -0
  141. package/dist/terminal.js.map +1 -1
  142. package/dist/website/assets/chunks/chunk-BIhVwAkA.js +1 -0
  143. package/dist/website/assets/chunks/chunk-CSTMwN0A.js +1 -0
  144. package/dist/website/assets/chunks/chunk-DeonM-eN.js +3 -0
  145. package/dist/website/assets/chunks/chunk-kQ9-9YDn.js +18 -0
  146. package/dist/website/assets/emoji-compass.svg +75 -0
  147. package/dist/website/assets/emoji-confused.svg +34 -0
  148. package/dist/website/assets/emoji-construction.svg +188 -0
  149. package/dist/website/assets/emoji-flex.svg +1 -0
  150. package/dist/website/assets/emoji-hand-raised.svg +180 -0
  151. package/dist/website/assets/emoji-mech-arm.svg +1 -0
  152. package/dist/website/assets/emoji-robot.svg +105 -0
  153. package/dist/website/assets/emoji-rocket.svg +49 -0
  154. package/dist/website/assets/entries/entry-client-routing.CzHJwWDQ.js +2 -0
  155. package/dist/website/assets/entries/pages_banner.6_j-HGsV.js +1 -0
  156. package/dist/website/assets/entries/pages_go-to-dashboard.CxnTPDW0.js +1 -0
  157. package/dist/website/assets/entries/pages_index.Dcg_ZrR7.js +1 -0
  158. package/dist/website/assets/entries/pages_press.rRp1mRww.js +1 -0
  159. package/dist/website/assets/logo.svg +34 -0
  160. package/dist/website/assets/static/pages_index_styles-f7bc93a7.DHC1qZXc.css +1 -0
  161. package/dist/website/banner/index.html +28 -0
  162. package/dist/website/banner/index.pageContext.json +1 -0
  163. package/dist/website/banner.jpg +0 -0
  164. package/dist/website/go-to-dashboard/index.html +30 -0
  165. package/dist/website/go-to-dashboard/index.pageContext.json +1 -0
  166. package/dist/website/index.html +30 -0
  167. package/dist/website/index.pageContext.json +1 -0
  168. package/dist/website/press/index.html +29 -0
  169. package/dist/website/press/index.pageContext.json +1 -0
  170. package/package.json +31 -27
  171. package/dist/dashboard-bundle/assets/everforest-dark-sB-x3p7T.js +0 -1
  172. package/dist/dashboard-bundle/assets/everforest-light-Df2xbC6M.js +0 -1
  173. package/dist/dashboard-bundle/assets/host/module-CTQrrHFl.js +0 -1
  174. package/dist/dashboard-bundle/assets/main-BKp0ZMXD.css +0 -2
  175. package/dist/dashboard-bundle/assets/main-Du4cDqEn.js +0 -148
  176. package/dist/dashboard-bundle/assets/module-Cwganbc7.js +0 -16
  177. package/dist/module-types/src/repository-address.d.ts +0 -36
  178. package/dist/repository-address.d.ts +0 -37
  179. package/dist/repository-address.d.ts.map +0 -1
  180. package/dist/repository-address.js +0 -59
  181. package/dist/repository-address.js.map +0 -1
@@ -1,36 +0,0 @@
1
- import { type GitRunner } from '@openagt/agent-data';
2
- /**
3
- * The one name a project has on every machine: where its repository was cloned from, as
4
- * `host/path` (`github.com/me/shop`). A project's id is made from its folder's path, which is
5
- * another path on another machine, so a run sent to a machine names its project by this.
6
- *
7
- * The same repository reads the same whichever way it was cloned: the scheme, a user before the
8
- * host, a port, a trailing `.git` or slash are dropped, and letters are lowered, since the git
9
- * hosts match names without regard to case. Not an address at all (a path on this disk, a
10
- * `file:` address) is none.
11
- *
12
- * What it does not see through: a host that serves the two ways under two names or two paths
13
- * (`ssh.github.com`, Azure DevOps). Such a project reads as two, and the other machine says it
14
- * does not have it.
15
- */
16
- export declare function addressOfRemote(remote: string): string | undefined;
17
- /**
18
- * A remote's `host/path` in the letters it was written with: what another machine is given to
19
- * clone the repository from, since not every host matches names without regard to case. Undefined
20
- * wherever {@link addressOfRemote} is.
21
- */
22
- export declare function spellingOfRemote(remote: string): string | undefined;
23
- /**
24
- * The address of the repository at `cwd`: its `origin` remote, the one every push goes to. A
25
- * project with no `origin`, or one that is a folder on this disk, has none and runs on this
26
- * machine only.
27
- */
28
- export declare function repositoryAddress(cwd: string, git?: GitRunner): Promise<string | undefined>;
29
- /**
30
- * A project's name: its repository's, the last part of its address in the letters `origin` writes
31
- * it with, so the project reads the same on every computer whatever its folder there is called.
32
- * A project with no address is its folder's.
33
- */
34
- export declare function projectNameOf(cwd: string, git?: GitRunner): Promise<string>;
35
- /** The same address in the letters the `origin` remote is written with: see {@link spellingOfRemote}. */
36
- export declare function repositorySpelling(cwd: string, git?: GitRunner): Promise<string | undefined>;
@@ -1,37 +0,0 @@
1
- import { type GitRunner } from '@openagt/agent-data';
2
- /**
3
- * The one name a project has on every machine: where its repository was cloned from, as
4
- * `host/path` (`github.com/me/shop`). A project's id is made from its folder's path, which is
5
- * another path on another machine, so a run sent to a machine names its project by this.
6
- *
7
- * The same repository reads the same whichever way it was cloned: the scheme, a user before the
8
- * host, a port, a trailing `.git` or slash are dropped, and letters are lowered, since the git
9
- * hosts match names without regard to case. Not an address at all (a path on this disk, a
10
- * `file:` address) is none.
11
- *
12
- * What it does not see through: a host that serves the two ways under two names or two paths
13
- * (`ssh.github.com`, Azure DevOps). Such a project reads as two, and the other machine says it
14
- * does not have it.
15
- */
16
- export declare function addressOfRemote(remote: string): string | undefined;
17
- /**
18
- * A remote's `host/path` in the letters it was written with: what another machine is given to
19
- * clone the repository from, since not every host matches names without regard to case. Undefined
20
- * wherever {@link addressOfRemote} is.
21
- */
22
- export declare function spellingOfRemote(remote: string): string | undefined;
23
- /**
24
- * The address of the repository at `cwd`: its `origin` remote, the one every push goes to. A
25
- * project with no `origin`, or one that is a folder on this disk, has none and runs on this
26
- * machine only.
27
- */
28
- export declare function repositoryAddress(cwd: string, git?: GitRunner): Promise<string | undefined>;
29
- /**
30
- * A project's name: its repository's, the last part of its address in the letters `origin` writes
31
- * it with, so the project reads the same on every computer whatever its folder there is called.
32
- * A project with no address is its folder's.
33
- */
34
- export declare function projectNameOf(cwd: string, git?: GitRunner): Promise<string>;
35
- /** The same address in the letters the `origin` remote is written with: see {@link spellingOfRemote}. */
36
- export declare function repositorySpelling(cwd: string, git?: GitRunner): Promise<string | undefined>;
37
- //# sourceMappingURL=repository-address.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository-address.d.ts","sourceRoot":"","sources":["../src/repository-address.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEnE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWnE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,SAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElH;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,SAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAElG;AAED,yGAAyG;AACzG,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,SAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnH"}
@@ -1,59 +0,0 @@
1
- import { basename } from 'node:path';
2
- import { nodeGitRunner } from '@openagt/agent-data';
3
- /**
4
- * The one name a project has on every machine: where its repository was cloned from, as
5
- * `host/path` (`github.com/me/shop`). A project's id is made from its folder's path, which is
6
- * another path on another machine, so a run sent to a machine names its project by this.
7
- *
8
- * The same repository reads the same whichever way it was cloned: the scheme, a user before the
9
- * host, a port, a trailing `.git` or slash are dropped, and letters are lowered, since the git
10
- * hosts match names without regard to case. Not an address at all (a path on this disk, a
11
- * `file:` address) is none.
12
- *
13
- * What it does not see through: a host that serves the two ways under two names or two paths
14
- * (`ssh.github.com`, Azure DevOps). Such a project reads as two, and the other machine says it
15
- * does not have it.
16
- */
17
- export function addressOfRemote(remote) {
18
- return spellingOfRemote(remote)?.toLowerCase();
19
- }
20
- /**
21
- * A remote's `host/path` in the letters it was written with: what another machine is given to
22
- * clone the repository from, since not every host matches names without regard to case. Undefined
23
- * wherever {@link addressOfRemote} is.
24
- */
25
- export function spellingOfRemote(remote) {
26
- const url = remote.trim().replace(/[?#].*$/, '');
27
- // `git@host:path`, the scp-like form: no scheme, a colon before the path.
28
- const scp = /^(?:[^/\s]*@)?([^:/\s@]+):(?!\/\/)(.+)$/.exec(url);
29
- const web = scp ? null : /^([a-z][a-z0-9+.-]*):\/\/(?:[^/\s]*@)?([^:/\s@]+)(?::\d+)?\/(.+)$/i.exec(url);
30
- if (web?.[1].toLowerCase() === 'file')
31
- return undefined;
32
- const [host, rest] = scp ? [scp[1], scp[2]] : web ? [web[2], web[3]] : [];
33
- // One letter before a colon is a drive (`C:\repo`), a folder on this disk.
34
- if (host === undefined || rest === undefined || host.length < 2)
35
- return undefined;
36
- const path = rest.replace(/\/+$/, '').replace(/\.git$/i, '').replace(/^\/+|\/+$/g, '');
37
- return path ? `${host}/${path}` : undefined;
38
- }
39
- /**
40
- * The address of the repository at `cwd`: its `origin` remote, the one every push goes to. A
41
- * project with no `origin`, or one that is a folder on this disk, has none and runs on this
42
- * machine only.
43
- */
44
- export async function repositoryAddress(cwd, git = nodeGitRunner()) {
45
- return git(['remote', 'get-url', 'origin'], cwd).then(addressOfRemote, () => undefined);
46
- }
47
- /**
48
- * A project's name: its repository's, the last part of its address in the letters `origin` writes
49
- * it with, so the project reads the same on every computer whatever its folder there is called.
50
- * A project with no address is its folder's.
51
- */
52
- export async function projectNameOf(cwd, git = nodeGitRunner()) {
53
- return (await repositorySpelling(cwd, git))?.split('/').at(-1) ?? basename(cwd);
54
- }
55
- /** The same address in the letters the `origin` remote is written with: see {@link spellingOfRemote}. */
56
- export async function repositorySpelling(cwd, git = nodeGitRunner()) {
57
- return git(['remote', 'get-url', 'origin'], cwd).then(spellingOfRemote, () => undefined);
58
- }
59
- //# sourceMappingURL=repository-address.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository-address.js","sourceRoot":"","sources":["../src/repository-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAA;AAEnE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAChD,0EAA0E;IAC1E,MAAM,GAAG,GAAG,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oEAAoE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IACxD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,2EAA2E;IAC3E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACtF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,GAAG,GAAc,aAAa,EAAE;IACnF,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,GAAG,GAAc,aAAa,EAAE;IAC/E,OAAO,CAAC,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjF,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAG,GAAc,aAAa,EAAE;IACpF,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAC1F,CAAC"}