@mnemonik/cli 0.0.0 → 7.99.5

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 (177) hide show
  1. package/LICENSE +38 -0
  2. package/dist/auth/credentials.d.ts +38 -0
  3. package/dist/auth/credentials.d.ts.map +1 -0
  4. package/dist/auth/credentials.js +7464 -0
  5. package/dist/auth/credentials.js.map +1 -0
  6. package/dist/auth/device.d.ts +23 -0
  7. package/dist/auth/device.d.ts.map +1 -0
  8. package/dist/auth/device.js +108 -0
  9. package/dist/auth/device.js.map +1 -0
  10. package/dist/auth/index.d.ts +34 -0
  11. package/dist/auth/index.d.ts.map +1 -0
  12. package/dist/auth/index.js +5048 -0
  13. package/dist/auth/index.js.map +1 -0
  14. package/dist/auth/installSession.d.ts +22 -0
  15. package/dist/auth/installSession.d.ts.map +1 -0
  16. package/dist/auth/installSession.js +4717 -0
  17. package/dist/auth/installSession.js.map +1 -0
  18. package/dist/auth/pkce.d.ts +35 -0
  19. package/dist/auth/pkce.d.ts.map +1 -0
  20. package/dist/auth/pkce.js +182 -0
  21. package/dist/auth/pkce.js.map +1 -0
  22. package/dist/auth/status.d.ts +30 -0
  23. package/dist/auth/status.d.ts.map +1 -0
  24. package/dist/auth/status.js +4799 -0
  25. package/dist/auth/status.js.map +1 -0
  26. package/dist/bin.d.ts +3 -0
  27. package/dist/bin.d.ts.map +1 -0
  28. package/dist/bin.js +28 -0
  29. package/dist/bin.js.map +1 -0
  30. package/dist/diagnostics.d.ts +42 -0
  31. package/dist/diagnostics.d.ts.map +1 -0
  32. package/dist/diagnostics.js +7405 -0
  33. package/dist/diagnostics.js.map +1 -0
  34. package/dist/digests.json +175 -0
  35. package/dist/identity/migrate.d.ts +62 -0
  36. package/dist/identity/migrate.d.ts.map +1 -0
  37. package/dist/identity/migrate.js +5416 -0
  38. package/dist/identity/migrate.js.map +1 -0
  39. package/dist/index.d.ts +9 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +11 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/install/adapters.d.ts +65 -0
  44. package/dist/install/adapters.d.ts.map +1 -0
  45. package/dist/install/adapters.js +91 -0
  46. package/dist/install/adapters.js.map +1 -0
  47. package/dist/install/hosts.d.ts +83 -0
  48. package/dist/install/hosts.d.ts.map +1 -0
  49. package/dist/install/hosts.js +5733 -0
  50. package/dist/install/hosts.js.map +1 -0
  51. package/dist/install/journal.d.ts +113 -0
  52. package/dist/install/journal.d.ts.map +1 -0
  53. package/dist/install/journal.js +6836 -0
  54. package/dist/install/journal.js.map +1 -0
  55. package/dist/install/journey.d.ts +11 -0
  56. package/dist/install/journey.d.ts.map +1 -0
  57. package/dist/install/journey.js +5594 -0
  58. package/dist/install/journey.js.map +1 -0
  59. package/dist/install/ownership.d.ts +55 -0
  60. package/dist/install/ownership.d.ts.map +1 -0
  61. package/dist/install/ownership.js +4942 -0
  62. package/dist/install/ownership.js.map +1 -0
  63. package/dist/install/transaction.d.ts +71 -0
  64. package/dist/install/transaction.d.ts.map +1 -0
  65. package/dist/install/transaction.js +5254 -0
  66. package/dist/install/transaction.js.map +1 -0
  67. package/dist/install/ui.d.ts +14 -0
  68. package/dist/install/ui.d.ts.map +1 -0
  69. package/dist/install/ui.js +4925 -0
  70. package/dist/install/ui.js.map +1 -0
  71. package/dist/installSession.d.ts +33 -0
  72. package/dist/installSession.d.ts.map +1 -0
  73. package/dist/installSession.js +4893 -0
  74. package/dist/installSession.js.map +1 -0
  75. package/dist/installation.d.ts +11 -0
  76. package/dist/installation.d.ts.map +1 -0
  77. package/dist/installation.js +6618 -0
  78. package/dist/installation.js.map +1 -0
  79. package/dist/launcher.d.ts +27 -0
  80. package/dist/launcher.d.ts.map +1 -0
  81. package/dist/launcher.js +6862 -0
  82. package/dist/launcher.js.map +1 -0
  83. package/dist/output.d.ts +22 -0
  84. package/dist/output.d.ts.map +1 -0
  85. package/dist/output.js +68 -0
  86. package/dist/output.js.map +1 -0
  87. package/dist/preflight.d.ts +43 -0
  88. package/dist/preflight.d.ts.map +1 -0
  89. package/dist/preflight.js +5265 -0
  90. package/dist/preflight.js.map +1 -0
  91. package/dist/project/eligibility.d.ts +19 -0
  92. package/dist/project/eligibility.d.ts.map +1 -0
  93. package/dist/project/eligibility.js +4835 -0
  94. package/dist/project/eligibility.js.map +1 -0
  95. package/dist/project/records.d.ts +14 -0
  96. package/dist/project/records.d.ts.map +1 -0
  97. package/dist/project/records.js +6598 -0
  98. package/dist/project/records.js.map +1 -0
  99. package/dist/project.d.ts +127 -0
  100. package/dist/project.d.ts.map +1 -0
  101. package/dist/project.js +7857 -0
  102. package/dist/project.js.map +1 -0
  103. package/dist/router.d.ts +63 -0
  104. package/dist/router.d.ts.map +1 -0
  105. package/dist/router.js +6168 -0
  106. package/dist/router.js.map +1 -0
  107. package/dist/runtime/bootstrap.d.ts +31 -0
  108. package/dist/runtime/bootstrap.d.ts.map +1 -0
  109. package/dist/runtime/bootstrap.js +386 -0
  110. package/dist/runtime/bootstrap.js.map +1 -0
  111. package/dist/runtime/releaseSource.d.ts +26 -0
  112. package/dist/runtime/releaseSource.d.ts.map +1 -0
  113. package/dist/runtime/releaseSource.js +4992 -0
  114. package/dist/runtime/releaseSource.js.map +1 -0
  115. package/dist/runtime/selfUpdate.d.ts +12 -0
  116. package/dist/runtime/selfUpdate.d.ts.map +1 -0
  117. package/dist/runtime/selfUpdate.js +4943 -0
  118. package/dist/runtime/selfUpdate.js.map +1 -0
  119. package/dist/runtime/signers.d.ts +2 -0
  120. package/dist/runtime/signers.d.ts.map +1 -0
  121. package/dist/runtime/signers.js +1697 -0
  122. package/dist/runtime/signers.js.map +1 -0
  123. package/dist/runtime/store.d.ts +30 -0
  124. package/dist/runtime/store.d.ts.map +1 -0
  125. package/dist/runtime/store.js +977 -0
  126. package/dist/runtime/store.js.map +1 -0
  127. package/dist/sbom.json +308 -0
  128. package/dist/scanner/control.d.ts +38 -0
  129. package/dist/scanner/control.d.ts.map +1 -0
  130. package/dist/scanner/control.js +6568 -0
  131. package/dist/scanner/control.js.map +1 -0
  132. package/dist/scanner/data.d.ts +9 -0
  133. package/dist/scanner/data.d.ts.map +1 -0
  134. package/dist/scanner/data.js +4715 -0
  135. package/dist/scanner/data.js.map +1 -0
  136. package/dist/scanner/discover.d.ts +35 -0
  137. package/dist/scanner/discover.d.ts.map +1 -0
  138. package/dist/scanner/discover.js +5266 -0
  139. package/dist/scanner/discover.js.map +1 -0
  140. package/dist/scanner/enable.d.ts +69 -0
  141. package/dist/scanner/enable.d.ts.map +1 -0
  142. package/dist/scanner/enable.js +6923 -0
  143. package/dist/scanner/enable.js.map +1 -0
  144. package/dist/scanner/picker.d.ts +58 -0
  145. package/dist/scanner/picker.d.ts.map +1 -0
  146. package/dist/scanner/picker.js +4993 -0
  147. package/dist/scanner/picker.js.map +1 -0
  148. package/dist/scanner/service.d.ts +49 -0
  149. package/dist/scanner/service.d.ts.map +1 -0
  150. package/dist/scanner/service.js +4888 -0
  151. package/dist/scanner/service.js.map +1 -0
  152. package/dist/scanner/update.d.ts +4 -0
  153. package/dist/scanner/update.d.ts.map +1 -0
  154. package/dist/scanner/update.js +6569 -0
  155. package/dist/scanner/update.js.map +1 -0
  156. package/dist/scanner-release.json +129 -0
  157. package/dist/screens/journey.d.ts +23 -0
  158. package/dist/screens/journey.d.ts.map +1 -0
  159. package/dist/screens/journey.js +110 -0
  160. package/dist/screens/journey.js.map +1 -0
  161. package/dist/screens.d.ts +18 -0
  162. package/dist/screens.d.ts.map +1 -0
  163. package/dist/screens.js +79 -0
  164. package/dist/screens.js.map +1 -0
  165. package/dist/status.d.ts +64 -0
  166. package/dist/status.d.ts.map +1 -0
  167. package/dist/status.js +5281 -0
  168. package/dist/status.js.map +1 -0
  169. package/dist/transport/server.d.ts +79 -0
  170. package/dist/transport/server.d.ts.map +1 -0
  171. package/dist/transport/server.js +136 -0
  172. package/dist/transport/server.js.map +1 -0
  173. package/dist/vendor/local-setup.js +6971 -0
  174. package/dist/vendor/shared/runtimeReader.js +408 -0
  175. package/dist/vendor/shared/runtimeSigners.js +512 -0
  176. package/package.json +258 -7
  177. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/auth/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,GAGpC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AACtC,sEAAsE;AACtE,MAAM,UAAU,oBAAoB,CAAC,OAAO,GAA6B,EAAE;IACzE,OAAO,4BAA4B,CAAC;QAClC,GAAG,OAAO;QACV,YAAY,CAAC,IAAI;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAO,GAA6B,EAAE;IAO9E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;QACtE,OAAO;YACL,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,MAAM;YAClC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;YAC5B,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,mCAAmC,CAAC,KAAK,CAAC;YAC5C,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;gBAC7B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,uBAAuB,CAAC,EAAE,CAAC;IACjG,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CliTokenResponse } from '@mnemonik/credentials';
2
+ export interface DeviceOptions {
3
+ scannerRoots?: string;
4
+ deviceInstallationId?: string;
5
+ deviceInstallationIds?: string[];
6
+ issuer: string;
7
+ resource: string;
8
+ scopes: readonly string[];
9
+ clientId: string;
10
+ deviceName: string;
11
+ print: (line: string) => void;
12
+ fetch?: typeof fetch;
13
+ sleep?: (milliseconds: number) => Promise<void>;
14
+ now?: () => number;
15
+ }
16
+ /** Shown with every device code, byte for byte, as required by the OAuth contract. */
17
+ export declare const DEVICE_WARNING = "Approve only a request you just started on a device you control. Compare this code with the one in that device's terminal. If you received this code or link from someone else, deny it.";
18
+ export interface DeviceResult {
19
+ clientId: string;
20
+ tokens: CliTokenResponse;
21
+ }
22
+ export declare function runDeviceFlow(options: DeviceOptions): Promise<DeviceResult>;
23
+ //# sourceMappingURL=device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/auth/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,6LACiK,CAAC;AAE7L,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAgCD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6GjF"}
@@ -0,0 +1,108 @@
1
+ import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
+
3
+ // packages/cli/src/auth/device.ts
4
+ import { URL, URLSearchParams } from "node:url";
5
+ import { OAuthProtocolError } from "./pkce.js";
6
+ var DEVICE_WARNING = "Approve only a request you just started on a device you control. Compare this code with the one in that device's terminal. If you received this code or link from someone else, deny it.";
7
+ var wait = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
8
+ function validVerificationUris(issuer, userCode, verificationUri, completeUri) {
9
+ try {
10
+ const expected = new URL("/oauth/device", `${issuer}/`);
11
+ const verification = new URL(verificationUri);
12
+ const complete = new URL(completeUri);
13
+ const parameters = [...complete.searchParams];
14
+ return verification.href === expected.href && complete.origin === expected.origin && complete.pathname === expected.pathname && !complete.username && !complete.password && !complete.hash && parameters.length === 1 && parameters[0]?.[0] === "user_code" && parameters[0]?.[1] === userCode;
15
+ } catch {
16
+ return false;
17
+ }
18
+ }
19
+ async function runDeviceFlow(options) {
20
+ const issuer = options.issuer.replace(/\/$/u, "");
21
+ const fetchImpl = options.fetch ?? fetch;
22
+ const sleep = options.sleep ?? wait;
23
+ const now = options.now ?? Date.now;
24
+ const started = now();
25
+ const response = await fetchImpl(`${issuer}/oauth/device_authorization`, {
26
+ method: "POST",
27
+ headers: { "content-type": "application/x-www-form-urlencoded" },
28
+ body: new URLSearchParams({
29
+ client_id: options.clientId,
30
+ scope: options.scopes.join(" "),
31
+ resource: options.resource,
32
+ ...options.scannerRoots ? { scanner_roots: options.scannerRoots } : {},
33
+ ...options.deviceInstallationIds?.length ? { device_installation_ids: JSON.stringify(options.deviceInstallationIds) } : {},
34
+ ...options.deviceInstallationId ? { device_installation_id: options.deviceInstallationId } : {},
35
+ device_name: options.deviceName
36
+ })
37
+ });
38
+ const issued = await response.json().catch(() => ({}));
39
+ if (!response.ok)
40
+ throw new OAuthProtocolError(
41
+ typeof issued.error === "string" ? issued.error : "device_authorization_failed"
42
+ );
43
+ if (typeof issued.device_code !== "string" || typeof issued.user_code !== "string" || !/^[BCDFGHJKLMNPQRSTVWXZ]{4}-[BCDFGHJKLMNPQRSTVWXZ]{4}$/u.test(issued.user_code) || typeof issued.verification_uri !== "string" || typeof issued.verification_uri_complete !== "string" || typeof issued.expires_in !== "number" || !Number.isSafeInteger(issued.expires_in) || issued.expires_in <= 0 || issued.expires_in > 600 || typeof issued.interval !== "number" || !Number.isSafeInteger(issued.interval) || issued.interval < 5 || !validVerificationUris(
44
+ issuer,
45
+ issued.user_code,
46
+ issued.verification_uri,
47
+ issued.verification_uri_complete
48
+ ))
49
+ throw new OAuthProtocolError("invalid_device_response");
50
+ options.print(`Code: ${issued.user_code}`);
51
+ options.print(`Verification URI: ${issued.verification_uri}`);
52
+ options.print(`Complete URI: ${issued.verification_uri_complete}`);
53
+ options.print(DEVICE_WARNING);
54
+ let interval = issued.interval;
55
+ let transportBackoff = 0;
56
+ const deadline = started + issued.expires_in * 1e3;
57
+ while (now() < deadline) {
58
+ await sleep((transportBackoff || interval) * 1e3);
59
+ if (now() >= deadline) break;
60
+ let poll;
61
+ try {
62
+ poll = await fetchImpl(`${issuer}/oauth/token`, {
63
+ method: "POST",
64
+ headers: { "content-type": "application/x-www-form-urlencoded" },
65
+ body: new URLSearchParams({
66
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code",
67
+ client_id: options.clientId,
68
+ device_code: issued.device_code,
69
+ resource: options.resource
70
+ })
71
+ });
72
+ } catch {
73
+ transportBackoff = Math.min(Math.max(interval, transportBackoff || interval) * 2, 60);
74
+ continue;
75
+ }
76
+ transportBackoff = 0;
77
+ const body = await poll.json().catch(() => ({}));
78
+ if (poll.ok) {
79
+ if (typeof body.access_token !== "string" || typeof body.refresh_token !== "string" || typeof body.expires_in !== "number" || typeof body.scope !== "string")
80
+ throw new OAuthProtocolError("invalid_token_response");
81
+ return {
82
+ clientId: options.clientId,
83
+ tokens: {
84
+ access_token: body.access_token,
85
+ refresh_token: body.refresh_token,
86
+ token_type: "Bearer",
87
+ expires_in: body.expires_in,
88
+ scope: body.scope
89
+ }
90
+ };
91
+ }
92
+ const error = typeof body.error === "string" ? body.error : "device_poll_failed";
93
+ if (error === "authorization_pending") continue;
94
+ if (error === "slow_down") {
95
+ interval += 5;
96
+ continue;
97
+ }
98
+ if (error === "access_denied")
99
+ throw new OAuthProtocolError(error, "denied on the other device");
100
+ if (error === "expired_token") throw new OAuthProtocolError(error, "expired");
101
+ throw new OAuthProtocolError(error);
102
+ }
103
+ throw new OAuthProtocolError("expired_token", "expired");
104
+ }
105
+ export {
106
+ DEVICE_WARNING,
107
+ runDeviceFlow
108
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/auth/device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type createCredentialAdapter, type CliOAuthCredential, type CredentialAdapterOptions } from '@mnemonik/credentials';
2
+ import { type PkceOptions } from './pkce.js';
3
+ export declare const CLI_SCOPES: readonly ['account:read', 'install:manage', 'components:manage', 'projects:manage', 'offline_access'];
4
+ export interface CliAuthOptions {
5
+ stateDir?: string;
6
+ scannerRoots?: string;
7
+ deviceInstallationId?: string;
8
+ issuer?: string;
9
+ resource?: string;
10
+ noBrowser?: boolean;
11
+ env?: NodeJS.ProcessEnv;
12
+ platform?: NodeJS.Platform;
13
+ deviceName?: string;
14
+ print?: (line: string) => void;
15
+ fetch?: typeof fetch;
16
+ openBrowser?: PkceOptions['openBrowser'];
17
+ sleep?: (milliseconds: number) => Promise<void>;
18
+ now?: () => number;
19
+ credentials?: ReturnType<typeof createCredentialAdapter>;
20
+ credentialOptions?: CredentialAdapterOptions;
21
+ }
22
+ export declare function noBrowserAvailable(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): boolean;
23
+ export declare function createCliAuth(options?: CliAuthOptions): {
24
+ signIn: () => Promise<CliOAuthCredential>;
25
+ getCliBearer: () => Promise<string | {
26
+ status: string;
27
+ reason: string;
28
+ }>;
29
+ accountEmail: (bearer: string) => Promise<string>;
30
+ logout: () => Promise<void>;
31
+ };
32
+ export * from './device.js';
33
+ export * from './pkce.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnG,eAAO,MAAM,UAAU,YACrB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,CACR,CAAC;AAIX,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAkBD,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB;kBA2E/B,OAAO,CAAC,kBAAkB,CAAC;wBAyErB,OAAO,CAAC,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;2BAW/C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;kBAgBnC,OAAO,CAAC,IAAI,CAAC;EAiBvC;AAED,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}