@kodycodes/cli 1.19.2 → 1.20.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-package-mocks.js","sourceRoot":"","sources":["../../src/mock/load-package-mocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Node-side mock outbound fetch gateway: match MSW handlers from
3
+ * `.kody/mocks.ts`, optionally passthrough allowlisted hosts to real network,
4
+ * otherwise fail closed with `unmocked_request` + a paste-ready handler stub.
5
+ */
6
+ import { type RequestHandler } from 'msw';
7
+ import { StructuredCliError } from '../structured-error.js';
8
+ import type { KodyTarget } from '../target.js';
9
+ export type MockGatewayFetchRequest = {
10
+ url?: string;
11
+ method?: string;
12
+ headers?: Record<string, string>;
13
+ bodyBase64?: string;
14
+ };
15
+ export type MockGatewayFetchResult = {
16
+ status: number;
17
+ statusText: string;
18
+ headers: Record<string, string>;
19
+ bodyBase64: string;
20
+ };
21
+ export type MockFetchGateway = {
22
+ /** True when `.kody/mocks.ts` loaded (shim should be injected). */
23
+ enabled: boolean;
24
+ handlers: ReadonlyArray<RequestHandler>;
25
+ passthroughHosts: ReadonlyArray<string>;
26
+ allowPrivateNetwork: boolean;
27
+ handle: (args: unknown, signal?: AbortSignal) => Promise<MockGatewayFetchResult>;
28
+ };
29
+ export declare function parsePassthroughHosts(raw: string | undefined): Array<string>;
30
+ export declare function createMockFetchGateway(input: {
31
+ handlers: ReadonlyArray<RequestHandler>;
32
+ passthroughHosts?: ReadonlyArray<string>;
33
+ allowPrivateNetwork?: boolean;
34
+ fetchFn?: typeof fetch;
35
+ }): MockFetchGateway;
36
+ export declare function dispatchMockGatewayFetch(input: {
37
+ handlers: ReadonlyArray<RequestHandler>;
38
+ passthroughHosts: ReadonlyArray<string>;
39
+ allowPrivateNetwork: boolean;
40
+ request: MockGatewayFetchRequest;
41
+ fetchFn?: typeof fetch;
42
+ signal?: AbortSignal;
43
+ }): Promise<MockGatewayFetchResult>;
44
+ export declare function hostMatchesPassthrough(hostname: string, hosts: ReadonlyArray<string>): boolean;
45
+ export declare function unmockedRequestError(method: string, url: string): StructuredCliError;
46
+ export declare function buildHandlerStub(method: string, url: string): string;
47
+ /** Bridge interceptor: handle `kody.gatewayFetch` when a mock gateway is active. */
48
+ export declare function tryHandleMockGatewayFetchCall(input: {
49
+ gateway: MockFetchGateway | undefined;
50
+ path: ReadonlyArray<string>;
51
+ args: ReadonlyArray<unknown>;
52
+ signal?: AbortSignal;
53
+ }): Promise<MockGatewayFetchResult> | null;
54
+ /**
55
+ * Load `.kody/mocks.ts` only for `--target mock` when the file exists.
56
+ * Packages without the file keep native workerd fetch (no shim).
57
+ */
58
+ export declare function resolveMockFetchGateway(input: {
59
+ target: KodyTarget;
60
+ packageRoot?: string;
61
+ passthroughHosts?: ReadonlyArray<string>;
62
+ allowPrivateNetwork?: boolean;
63
+ onStatus?: (message: string) => void;
64
+ }): Promise<MockFetchGateway | undefined>;
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Node-side mock outbound fetch gateway: match MSW handlers from
3
+ * `.kody/mocks.ts`, optionally passthrough allowlisted hosts to real network,
4
+ * otherwise fail closed with `unmocked_request` + a paste-ready handler stub.
5
+ */
6
+ import { getResponse, isPassthroughResponse } from 'msw';
7
+ import { StructuredCliError } from '../structured-error.js';
8
+ import { loadPackageMocks } from './load-package-mocks.js';
9
+ export function parsePassthroughHosts(raw) {
10
+ if (!raw?.trim())
11
+ return [];
12
+ return [
13
+ ...new Set(raw
14
+ .split(',')
15
+ .map((part) => part.trim().toLowerCase())
16
+ .filter(Boolean)),
17
+ ];
18
+ }
19
+ export function createMockFetchGateway(input) {
20
+ const passthroughHosts = input.passthroughHosts ?? [];
21
+ const allowPrivateNetwork = input.allowPrivateNetwork === true;
22
+ const fetchFn = input.fetchFn ?? fetch;
23
+ return {
24
+ enabled: true,
25
+ handlers: input.handlers,
26
+ passthroughHosts,
27
+ allowPrivateNetwork,
28
+ handle: async (args, signal) => {
29
+ const request = readGatewayRequest(args);
30
+ return await dispatchMockGatewayFetch({
31
+ handlers: input.handlers,
32
+ passthroughHosts,
33
+ allowPrivateNetwork,
34
+ request,
35
+ fetchFn,
36
+ signal,
37
+ });
38
+ },
39
+ };
40
+ }
41
+ export async function dispatchMockGatewayFetch(input) {
42
+ const method = (input.request.method ?? 'GET').toUpperCase();
43
+ const url = String(input.request.url ?? '');
44
+ if (!url) {
45
+ throw new StructuredCliError({
46
+ code: 'unmocked_request',
47
+ message: 'Mock gatewayFetch requires request.url.',
48
+ target: 'mock',
49
+ fix: 'Pass an absolute URL from ambient fetch.',
50
+ });
51
+ }
52
+ let parsed;
53
+ try {
54
+ parsed = new URL(url);
55
+ }
56
+ catch {
57
+ throw new StructuredCliError({
58
+ code: 'unmocked_request',
59
+ message: `Mock gatewayFetch URL is not absolute: ${JSON.stringify(url)}.`,
60
+ target: 'mock',
61
+ where: `${method} ${url}`,
62
+ fix: 'Use an absolute https:// URL in package code under --target mock.',
63
+ });
64
+ }
65
+ if (hostMatchesPassthrough(parsed.hostname, input.passthroughHosts)) {
66
+ assertPassthroughAllowed(parsed, input.allowPrivateNetwork);
67
+ return await realNetworkFetch({
68
+ request: input.request,
69
+ method,
70
+ url: parsed.href,
71
+ fetchFn: input.fetchFn ?? fetch,
72
+ signal: input.signal,
73
+ });
74
+ }
75
+ const headers = new Headers(input.request.headers ?? {});
76
+ const body = input.request.bodyBase64 != null && input.request.bodyBase64 !== ''
77
+ ? Buffer.from(input.request.bodyBase64, 'base64')
78
+ : undefined;
79
+ const requestInit = {
80
+ method,
81
+ headers,
82
+ ...(body !== undefined && method !== 'GET' && method !== 'HEAD'
83
+ ? { body }
84
+ : {}),
85
+ signal: input.signal,
86
+ };
87
+ const request = new Request(parsed.href, requestInit);
88
+ const response = await getResponse([...input.handlers], request);
89
+ if (!response || isPassthroughResponse(response)) {
90
+ throw unmockedRequestError(method, parsed.href);
91
+ }
92
+ return await serializeResponse(response);
93
+ }
94
+ function readGatewayRequest(args) {
95
+ const record = args && typeof args === 'object' && !Array.isArray(args)
96
+ ? args
97
+ : {};
98
+ const nested = record.request && typeof record.request === 'object' && !Array.isArray(record.request)
99
+ ? record.request
100
+ : record;
101
+ return {
102
+ url: typeof nested.url === 'string' ? nested.url : undefined,
103
+ method: typeof nested.method === 'string' ? nested.method : undefined,
104
+ headers: nested.headers && typeof nested.headers === 'object' && !Array.isArray(nested.headers)
105
+ ? nested.headers
106
+ : undefined,
107
+ bodyBase64: typeof nested.bodyBase64 === 'string' ? nested.bodyBase64 : undefined,
108
+ };
109
+ }
110
+ export function hostMatchesPassthrough(hostname, hosts) {
111
+ const target = hostname.toLowerCase();
112
+ return hosts.some((entry) => {
113
+ const normalized = entry.trim().toLowerCase();
114
+ if (!normalized)
115
+ return false;
116
+ if (normalized.startsWith('*.')) {
117
+ const suffix = normalized.slice(1);
118
+ return target.endsWith(suffix) && target.length > suffix.length;
119
+ }
120
+ return target === normalized;
121
+ });
122
+ }
123
+ function assertPassthroughAllowed(url, allowPrivateNetwork) {
124
+ if (allowPrivateNetwork)
125
+ return;
126
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
127
+ throw new StructuredCliError({
128
+ code: 'unmocked_request',
129
+ message: `Passthrough refused for non-http(s) URL ${url.href}.`,
130
+ target: 'mock',
131
+ where: url.href,
132
+ });
133
+ }
134
+ const host = url.hostname.toLowerCase();
135
+ const privateHost = host === 'localhost' ||
136
+ host === '127.0.0.1' ||
137
+ host === '::1' ||
138
+ host === '[::1]' ||
139
+ host.endsWith('.local') ||
140
+ /^10\./.test(host) ||
141
+ /^192\.168\./.test(host) ||
142
+ /^172\.(1[6-9]|2\d|3[0-1])\./.test(host);
143
+ if (privateHost) {
144
+ throw new StructuredCliError({
145
+ code: 'unmocked_request',
146
+ message: `Passthrough to private/local host ${JSON.stringify(host)} requires --allow-private-network.`,
147
+ target: 'mock',
148
+ where: url.href,
149
+ fix: 'Add --allow-private-network, or mock this host in .kody/mocks.ts instead of --passthrough.',
150
+ });
151
+ }
152
+ }
153
+ async function realNetworkFetch(input) {
154
+ const headers = new Headers(input.request.headers ?? {});
155
+ // Credentials stay fake on mock — never forward opaque credential handles
156
+ // or Authorization that would look like a real secret placement.
157
+ headers.delete('x-kody-credential-client');
158
+ const body = input.request.bodyBase64 != null && input.request.bodyBase64 !== ''
159
+ ? Buffer.from(input.request.bodyBase64, 'base64')
160
+ : undefined;
161
+ const response = await input.fetchFn(input.url, {
162
+ method: input.method,
163
+ headers,
164
+ ...(body !== undefined && input.method !== 'GET' && input.method !== 'HEAD'
165
+ ? { body }
166
+ : {}),
167
+ signal: input.signal,
168
+ redirect: 'manual',
169
+ });
170
+ return await serializeResponse(response);
171
+ }
172
+ async function serializeResponse(response) {
173
+ const bytes = new Uint8Array(await response.arrayBuffer());
174
+ return {
175
+ status: response.status,
176
+ statusText: response.statusText,
177
+ headers: Object.fromEntries(response.headers.entries()),
178
+ bodyBase64: Buffer.from(bytes).toString('base64'),
179
+ };
180
+ }
181
+ export function unmockedRequestError(method, url) {
182
+ const stub = buildHandlerStub(method, url);
183
+ return new StructuredCliError({
184
+ code: 'unmocked_request',
185
+ message: `Unmocked ${method} ${url} under --target mock.`,
186
+ target: 'mock',
187
+ where: `${method} ${url}`,
188
+ fix: `Add a handler in .kody/mocks.ts (or pass --passthrough ${safeHost(url)} for real network without secrets):\n\n${stub}`,
189
+ details: { method, url, handlerStub: stub },
190
+ });
191
+ }
192
+ export function buildHandlerStub(method, url) {
193
+ const verb = method.toLowerCase();
194
+ const httpMethod = ['get', 'post', 'put', 'patch', 'delete', 'options', 'head'].includes(verb)
195
+ ? verb
196
+ : 'all';
197
+ return [
198
+ `import { http, HttpResponse } from 'msw'`,
199
+ ``,
200
+ `export const handlers = [`,
201
+ ` http.${httpMethod}(${JSON.stringify(url)}, () =>`,
202
+ ` HttpResponse.json({ /* TODO */ }, { status: 200 }),`,
203
+ ` ),`,
204
+ `]`,
205
+ ].join('\n');
206
+ }
207
+ function safeHost(url) {
208
+ try {
209
+ return new URL(url).hostname;
210
+ }
211
+ catch {
212
+ return 'example.com';
213
+ }
214
+ }
215
+ /** Bridge interceptor: handle `kody.gatewayFetch` when a mock gateway is active. */
216
+ export function tryHandleMockGatewayFetchCall(input) {
217
+ if (!input.gateway?.enabled)
218
+ return null;
219
+ if (input.path.join('.') !== 'kody.gatewayFetch')
220
+ return null;
221
+ return input.gateway.handle(input.args[0], input.signal);
222
+ }
223
+ /**
224
+ * Load `.kody/mocks.ts` only for `--target mock` when the file exists.
225
+ * Packages without the file keep native workerd fetch (no shim).
226
+ */
227
+ export async function resolveMockFetchGateway(input) {
228
+ if (input.target !== 'mock')
229
+ return undefined;
230
+ if (!input.packageRoot)
231
+ return undefined;
232
+ const loaded = await loadPackageMocks(input.packageRoot);
233
+ if (!loaded)
234
+ return undefined;
235
+ input.onStatus?.(`Loaded ${loaded.handlers.length} MSW handler${loaded.handlers.length === 1 ? '' : 's'} from .kody/mocks.ts (outbound fetch fail-closed on mock).`);
236
+ return createMockFetchGateway({
237
+ handlers: loaded.handlers,
238
+ passthroughHosts: input.passthroughHosts,
239
+ allowPrivateNetwork: input.allowPrivateNetwork,
240
+ });
241
+ }
242
+ //# sourceMappingURL=mock-fetch-gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-fetch-gateway.js","sourceRoot":"","sources":["../../src/mock/mock-fetch-gateway.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAuB,MAAM,KAAK,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAyB1D,MAAM,UAAU,qBAAqB,CAAC,GAAuB;IAC5D,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO;QACN,GAAG,IAAI,GAAG,CACT,GAAG;aACD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aACxC,MAAM,CAAC,OAAO,CAAC,CACjB;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACA,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAA;IACrD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAA;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAA;IACtC,OAAO;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,gBAAgB;QAChB,mBAAmB;QACnB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACxC,OAAO,MAAM,wBAAwB,CAAC;gBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,gBAAgB;gBAChB,mBAAmB;gBACnB,OAAO;gBACP,OAAO;gBACP,MAAM;aACN,CAAC,CAAA;QACH,CAAC;KACD,CAAA;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAO9C;IACA,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,yCAAyC;YAClD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,0CAA0C;SAC/C,CAAC,CAAA;IACH,CAAC;IACD,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,0CAA0C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;YACzE,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,GAAG,MAAM,IAAI,GAAG,EAAE;YACzB,GAAG,EAAE,mEAAmE;SACxE,CAAC,CAAA;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC3D,OAAO,MAAM,gBAAgB,CAAC;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,GAAG,EAAE,MAAM,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACxD,MAAM,IAAI,GACT,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;QAClE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;QACjD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,WAAW,GAAgB;QAChC,MAAM;QACN,OAAO;QACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;YAC9D,CAAC,CAAC,EAAE,IAAI,EAAE;YACV,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IAChE,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa;IACxC,MAAM,MAAM,GACX,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACvD,CAAC,CAAE,IAAgC;QACnC,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,MAAM,GACX,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACrF,CAAC,CAAE,MAAM,CAAC,OAAmC;QAC7C,CAAC,CAAC,MAAM,CAAA;IACV,OAAO;QACN,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QAC5D,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACrE,OAAO,EACN,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACrF,CAAC,CAAE,MAAM,CAAC,OAAkC;YAC5C,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACjF,CAAA;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,QAAgB,EAChB,KAA4B;IAE5B,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC7C,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAChE,CAAC;QACD,OAAO,MAAM,KAAK,UAAU,CAAA;IAC7B,CAAC,CAAC,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAQ,EAAE,mBAA4B;IACvE,IAAI,mBAAmB;QAAE,OAAM;IAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,2CAA2C,GAAG,CAAC,IAAI,GAAG;YAC/D,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IACvC,MAAM,WAAW,GAChB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,KAAK;QACd,IAAI,KAAK,OAAO;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,qCAAqC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oCAAoC;YACtG,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,GAAG,EAAE,4FAA4F;SACjG,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAM/B;IACA,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACxD,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAC1C,MAAM,IAAI,GACT,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;QAClE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;QACjD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO;QACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAC1E,CAAC,CAAC,EAAE,IAAI,EAAE;YACV,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAA;IACF,OAAO,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACzC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1D,OAAO;QACN,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACjD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,GAAW;IAC/D,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1C,OAAO,IAAI,kBAAkB,CAAC;QAC7B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,YAAY,MAAM,IAAI,GAAG,uBAAuB;QACzD,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,GAAG,MAAM,IAAI,GAAG,EAAE;QACzB,GAAG,EACF,0DAA0D,QAAQ,CAAC,GAAG,CAAC,0CAA0C,IAAI,EAAE;QACxH,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;KAC3C,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,GAAW;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACjC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CACvF,IAAI,CACJ;QACA,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAA;IACR,OAAO;QACN,0CAA0C;QAC1C,EAAE;QACF,2BAA2B;QAC3B,UAAU,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS;QACpD,yDAAyD;QACzD,MAAM;QACN,GAAG;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC5B,IAAI,CAAC;QACJ,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,aAAa,CAAA;IACrB,CAAC;AACF,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,6BAA6B,CAAC,KAK7C;IACA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAA;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAM7C;IACA,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7C,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,SAAS,CAAA;IACxC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,KAAK,CAAC,QAAQ,EAAE,CACf,UAAU,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,4DAA4D,CAClJ,CAAA;IACD,OAAO,sBAAsB,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;KAC9C,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Mock-only workerd side-effect module (flat name
3
+ * `.__kody_mock_gateway_fetch__.js` — see install-mock-fetch-shim.ts).
4
+ * Wraps ambient `fetch` so every outbound request hops through the Node bridge
5
+ * as `kody.gatewayFetch` (MSW matching / passthrough / unmocked_request).
6
+ * Origin's `.__kody_virtual__/runtime.js` stays for CAF / packageStorage.
7
+ */
8
+ /**
9
+ * Source for the CLI-owned mock gateway-fetch shim. Side-effect imported before
10
+ * user code; fetch calls happen after `__kodyInstallLocalBridge`.
11
+ *
12
+ * Registered under a flat module name so bare `"kody:runtime"` resolves to the
13
+ * host module (path-like names like `.__kody_virtual__/runtime.js` path-join).
14
+ */
15
+ export declare function createMockGatewayFetchShimSource(): string;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Mock-only workerd side-effect module (flat name
3
+ * `.__kody_mock_gateway_fetch__.js` — see install-mock-fetch-shim.ts).
4
+ * Wraps ambient `fetch` so every outbound request hops through the Node bridge
5
+ * as `kody.gatewayFetch` (MSW matching / passthrough / unmocked_request).
6
+ * Origin's `.__kody_virtual__/runtime.js` stays for CAF / packageStorage.
7
+ */
8
+ import { localWorkerModuleNames } from '../local-runtime-source.js';
9
+ /**
10
+ * Source for the CLI-owned mock gateway-fetch shim. Side-effect imported before
11
+ * user code; fetch calls happen after `__kodyInstallLocalBridge`.
12
+ *
13
+ * Registered under a flat module name so bare `"kody:runtime"` resolves to the
14
+ * host module (path-like names like `.__kody_virtual__/runtime.js` path-join).
15
+ */
16
+ export function createMockGatewayFetchShimSource() {
17
+ return `
18
+ import { kody } from ${JSON.stringify(localWorkerModuleNames.runtime)};
19
+
20
+ const __kodyNativeFetch = globalThis.fetch.bind(globalThis);
21
+ const __kodyNullBodyStatuses = new Set([101, 103, 204, 205, 304]);
22
+
23
+ function __kodyBytesToBase64(bytes) {
24
+ let binary = '';
25
+ for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);
26
+ return btoa(binary);
27
+ }
28
+
29
+ function __kodyBase64ToBytes(value) {
30
+ const binary = atob(String(value ?? ''));
31
+ const bytes = new Uint8Array(binary.length);
32
+ for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
33
+ return bytes;
34
+ }
35
+
36
+ async function __kodyBodyToBytes(body) {
37
+ if (body == null) return null;
38
+ if (typeof body === 'string') return new TextEncoder().encode(body);
39
+ if (body instanceof Uint8Array) return body;
40
+ if (body instanceof ArrayBuffer) return new Uint8Array(body);
41
+ if (ArrayBuffer.isView(body)) {
42
+ return new Uint8Array(body.buffer, body.byteOffset, body.byteLength);
43
+ }
44
+ if (typeof Blob !== 'undefined' && body instanceof Blob) {
45
+ return new Uint8Array(await body.arrayBuffer());
46
+ }
47
+ if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) {
48
+ return new TextEncoder().encode(body.toString());
49
+ }
50
+ if (body && typeof body.getReader === 'function') {
51
+ return new Uint8Array(await new Response(body).arrayBuffer());
52
+ }
53
+ if (typeof FormData !== 'undefined' && body instanceof FormData) {
54
+ throw new Error(
55
+ 'Mock fetch gateway does not support FormData bodies yet; use Uint8Array, Blob, or string.',
56
+ );
57
+ }
58
+ throw new Error('Mock fetch gateway could not serialize the request body.');
59
+ }
60
+
61
+ globalThis.fetch = async (input, init) => {
62
+ let url;
63
+ let method = 'GET';
64
+ let headers = {};
65
+ let bodyBytes = null;
66
+ if (typeof input === 'string' || input instanceof URL) {
67
+ url = String(input);
68
+ method = String(init?.method ?? 'GET');
69
+ headers = Object.fromEntries(new Headers(init?.headers).entries());
70
+ if (init?.body != null) bodyBytes = await __kodyBodyToBytes(init.body);
71
+ } else {
72
+ const merged = new Request(input, init);
73
+ url = merged.url;
74
+ method = merged.method;
75
+ headers = Object.fromEntries(merged.headers.entries());
76
+ if (method !== 'GET' && method !== 'HEAD') {
77
+ bodyBytes = new Uint8Array(await merged.arrayBuffer());
78
+ }
79
+ }
80
+ const result = await kody.gatewayFetch({
81
+ request: {
82
+ url,
83
+ method,
84
+ headers,
85
+ ...(bodyBytes != null ? { bodyBase64: __kodyBytesToBase64(bodyBytes) } : {}),
86
+ },
87
+ });
88
+ const bytes = __kodyBase64ToBytes(result.bodyBase64 ?? '');
89
+ return new Response(
90
+ __kodyNullBodyStatuses.has(result.status) ? null : bytes,
91
+ {
92
+ status: result.status,
93
+ statusText: result.statusText ?? '',
94
+ headers: result.headers ?? {},
95
+ },
96
+ );
97
+ };
98
+
99
+ // Retain a reference so workerd keeps the binding available for debugging.
100
+ void __kodyNativeFetch;
101
+ export {};
102
+ `.trimStart();
103
+ }
104
+ //# sourceMappingURL=mock-gateway-fetch-shim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-gateway-fetch-shim.js","sourceRoot":"","sources":["../../src/mock/mock-gateway-fetch-shim.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC;IAC/C,OAAO;uBACe,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFpE,CAAC,SAAS,EAAE,CAAA;AACb,CAAC"}
@@ -28,6 +28,11 @@ export type PackageAppDevOptions = {
28
28
  fetchFn?: typeof fetch;
29
29
  };
30
30
  allowPrivateNetwork?: boolean;
31
+ /**
32
+ * Hosts that may hit the real network under --target mock when
33
+ * `.kody/mocks.ts` is active (never carries real secrets).
34
+ */
35
+ passthroughHosts?: ReadonlyArray<string>;
31
36
  workerdPath?: string;
32
37
  fetchFn?: typeof fetch;
33
38
  /** Hot reload via fs.watch (default true). One-shot `dev fetch` turns this off. */
@@ -16,6 +16,8 @@ import { bundleLocalUserModule } from './local-bundle.js';
16
16
  import { localExecuteGatewayFetchShimModuleName, resolveLocalPackageGraph, writePackageModuleFiles, } from './local-package-graph.js';
17
17
  import { createWorkerdConfig } from './local-runtime-source.js';
18
18
  import { buildLocalPackageContext } from './local-package-run.js';
19
+ import { installMockFetchShimModules } from './mock/install-mock-fetch-shim.js';
20
+ import { resolveMockFetchGateway, tryHandleMockGatewayFetchCall, } from './mock/mock-fetch-gateway.js';
19
21
  import { createPackageAppEntrySource, createPackageLocalRuntimeModuleSource, runSecretEnvVar, runSecretHeader, } from './package-local-runtime-source.js';
20
22
  import { resolvePackagePath } from './package-manifest.js';
21
23
  import { redact } from './redact.js';
@@ -62,13 +64,30 @@ export async function startPackageAppDev(options) {
62
64
  hostedUrl,
63
65
  appBasePath,
64
66
  });
67
+ const mockFetchGateway = await resolveMockFetchGateway({
68
+ target: options.target,
69
+ packageRoot: options.manifest.root,
70
+ passthroughHosts: options.passthroughHosts,
71
+ allowPrivateNetwork: options.allowPrivateNetwork,
72
+ onStatus: options.onStatus,
73
+ });
65
74
  bridge = await startBridge({
66
75
  runSecret,
67
- forward: (call, signal) => callCapabilityProxy({
68
- ...client,
69
- ...call,
70
- signal,
71
- }),
76
+ forward: async (call, signal) => {
77
+ const mocked = tryHandleMockGatewayFetchCall({
78
+ gateway: mockFetchGateway,
79
+ path: call.path,
80
+ args: call.args,
81
+ signal,
82
+ });
83
+ if (mocked)
84
+ return await mocked;
85
+ return await callCapabilityProxy({
86
+ ...client,
87
+ ...call,
88
+ signal,
89
+ });
90
+ },
72
91
  });
73
92
  const entryPath = resolvePackagePath(options.manifest, options.manifest.app.entry);
74
93
  async function rebuildAndServe() {
@@ -86,6 +105,7 @@ export async function startPackageAppDev(options) {
86
105
  org: options.org,
87
106
  fetchFn: options.fetchFn,
88
107
  depResolve: options.depResolve,
108
+ mockFetchGateway,
89
109
  onStatus: options.onStatus,
90
110
  });
91
111
  await restartWorkerd();
@@ -150,8 +170,8 @@ export async function startPackageAppDev(options) {
150
170
  upstreamRes.on('end', () => {
151
171
  const responseBody = Buffer.concat(chunks);
152
172
  if (status >= 500) {
153
- const preview = responseBody.toString('utf8').slice(0, 2000);
154
- const workerdLogs = lastWorkerdStderr.trim();
173
+ const preview = redact(responseBody.toString('utf8').slice(0, 2000));
174
+ const workerdLogs = redact(lastWorkerdStderr.trim());
155
175
  options.onError?.(`App handler HTTP ${status}${workerdLogs ? `\nworkerd stderr:\n${workerdLogs}` : ''}${preview ? `\nbody:\n${preview}` : ''}`);
156
176
  }
157
177
  if (!res.headersSent) {
@@ -170,7 +190,7 @@ export async function startPackageAppDev(options) {
170
190
  }
171
191
  catch (error) {
172
192
  const message = error instanceof Error ? error.message : String(error);
173
- const workerdLogs = lastWorkerdStderr.trim();
193
+ const workerdLogs = redact(lastWorkerdStderr.trim());
174
194
  options.onError?.(workerdLogs ? `${message}\nworkerd stderr:\n${workerdLogs}` : message);
175
195
  if (!res.headersSent) {
176
196
  res.writeHead(502, { 'content-type': 'text/plain' });
@@ -249,16 +269,24 @@ async function writeWorkerFiles(input) {
249
269
  onStatus: input.onStatus,
250
270
  });
251
271
  const files = { entry: 'entry.js', user: 'main.js', runtime: 'runtime.js' };
252
- const gatewayFetchShimModules = packageGraph.modules
272
+ let packageModules = await writePackageModuleFiles(input.workDir, packageGraph, writeFile, join);
273
+ let gatewayFetchShimModules = packageGraph.modules
253
274
  .map((module) => module.name)
254
275
  .filter((name) => name === localExecuteGatewayFetchShimModuleName);
276
+ if (input.mockFetchGateway) {
277
+ const installed = await installMockFetchShimModules({
278
+ workDir: input.workDir,
279
+ packageModules,
280
+ });
281
+ packageModules = installed.packageModules;
282
+ gatewayFetchShimModules = installed.sideEffectModules;
283
+ }
255
284
  await writeFile(join(input.workDir, files.entry), createPackageAppEntrySource({ sideEffectModules: gatewayFetchShimModules }));
256
285
  await writeFile(join(input.workDir, files.user), input.code);
257
286
  await writeFile(join(input.workDir, files.runtime), createPackageLocalRuntimeModuleSource({
258
287
  packageContext: input.packageContext,
259
288
  mockStorage: input.mockStorage,
260
289
  }));
261
- const packageModules = await writePackageModuleFiles(input.workDir, packageGraph, writeFile, join);
262
290
  await writeFile(join(input.workDir, 'config.capnp'), createWorkerdConfig({
263
291
  bridgePort: input.bridgePort,
264
292
  files,
@@ -1 +1 @@
1
- {"version":3,"file":"package-app-dev.js","sourceRoot":"","sources":["../src/package-app-dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-app-dev.js","sourceRoot":"","sources":["../src/package-app-dev.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EACN,YAAY,EACZ,OAAO,IAAI,WAAW,GAItB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EACN,sCAAsC,EACtC,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EACN,uBAAuB,EACvB,6BAA6B,GAE7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,2BAA2B,EAC3B,qCAAqC,EACrC,eAAe,EACf,eAAe,GAEf,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAoDzD,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAEpC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,OAA6B;IAE7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACd,uIAAuI,CACvI,CAAA;IACF,CAAC;IACD,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAErC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;IACxC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;IAC1D,MAAM,WAAW,GAChB,OAAO,CAAC,WAAW;QACnB,CAAC,MAAM,mBAAmB,CAAC;YAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,4BAA4B,GAAG,GAAG,CAAC;SAC3E,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAA;IAED,IAAI,MAA0B,CAAA;IAC9B,IAAI,KAA+B,CAAA;IACnC,IAAI,WAA+B,CAAA;IACnC,IAAI,WAAuC,CAAA;IAC3C,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,6EAA6E;IAC7E,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAiB,CAAA;IAC9C,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;IAClD,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC/C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,SAAS,EAAE,SAAS,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC7C,SAAS;QACT,WAAW;KACX,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;QAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAA;IAEF,MAAM,GAAG,MAAM,WAAW,CAAC;QAC1B,SAAS;QACT,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,6BAA6B,CAAC;gBAC5C,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM;aACN,CAAC,CAAA;YACF,IAAI,MAAM;gBAAE,OAAO,MAAM,MAAM,CAAA;YAC/B,OAAO,MAAM,mBAAmB,CAAC;gBAChC,GAAG,MAAM;gBACT,GAAG,IAAI;gBACP,MAAM;aACN,CAAC,CAAA;QACH,CAAC;KACD,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElF,KAAK,UAAU,eAAe;QAC7B,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,SAAS,GAAG,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,gBAAgB,CAAC;YACtB,OAAO;YACP,IAAI;YACJ,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,MAAM,KAAK,MAAM;YACtC,UAAU,EAAE,MAAO,CAAC,IAAI;YACxB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,gBAAgB;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAA;QACF,MAAM,cAAc,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,UAAU,cAAc;QAC5B,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,KAAK,GAAG,SAAS,CAAA;YACjB,WAAW,GAAG,SAAS,CAAA;QACxB,CAAC;QACD,MAAM,GAAG,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC/E,OAAO,GAAG,CAAC,cAAc,CAAC,CAAA;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAChD,iBAAiB,GAAG,EAAE,CAAA;QACtB,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE;YACnE,GAAG,EAAE,OAAO;YACZ,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SACzC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC1C,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,iBAAiB,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBACvC,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;YACrD,CAAC;QACF,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAA;QACvC,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,OAAO,CAAC,QAAQ,EAAE,CAAC,gBAAgB,SAAS,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,GAAoB,EAAE,GAAmB;QACpE,IAAI,CAAC;YACJ,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;gBACpD,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;gBACxC,OAAM;YACP,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,SAAS,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC9D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,oBAAoB,WAAW,EAAE,CAAC,CAAA;YAE5F,MAAM,MAAM,GAAkB,EAAE,CAAA;YAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAElC,MAAM,OAAO,GAA2D;gBACvE,GAAG,GAAG,CAAC,OAAO;gBACd,IAAI,EAAE,aAAa,WAAW,EAAE;gBAChC,CAAC,eAAe,CAAC,EAAE,SAAS;aAC5B,CAAA;YACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAA;YAEhC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAG,WAAW,CAC3B,UAAU,EACV,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAC/B,CAAC,WAAW,EAAE,EAAE;oBACf,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,IAAI,GAAG,CAAA;oBAC5C,MAAM,MAAM,GAAkB,EAAE,CAAA;oBAChC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;wBAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;oBACjE,CAAC,CAAC,CAAA;oBACF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;wBAC1C,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;4BACnB,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;4BACpE,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;4BACpD,OAAO,CAAC,OAAO,EAAE,CAChB,oBAAoB,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5H,CAAA;wBACF,CAAC;wBACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACtB,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;wBAC3C,CAAC;wBACD,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;wBACrB,OAAO,EAAE,CAAA;oBACV,CAAC,CAAC,CAAA;oBACF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAChC,CAAC,CACD,CAAA;gBACD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACzC,QAAQ,CAAC,GAAG,EAAE,CAAA;YACf,CAAC,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,OAAO,CAAC,OAAO,EAAE,CAChB,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CACrE,CAAA;YACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;gBACpD,GAAG,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;YACvC,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,eAAe,EAAE,CAAA;IAEvB,MAAM,OAAO,GACZ,OAAO,CAAC,KAAK,KAAK,KAAK;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACvE,IAAI,MAAM;gBAAE,OAAM;YAClB,IAAI,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,CAAC;gBAAE,OAAM;YACvD,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,KAAK,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACtE,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAA;gBAC3B,CAAC,CAAC,CAAA;YACH,CAAC,EAAE,GAAG,CAAC,CAAA;QACR,CAAC,CAAC,CAAA;IAEL,MAAM,SAAS,GAAqC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QAC7E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAClD,CAAC,CAAA;IAED,OAAO;QACN,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS;QACT,WAAW;QACX,cAAc;QACd,SAAS;QACT,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,GAAG,IAAI,CAAA;YACb,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,OAAO,EAAE,KAAK,EAAE,CAAA;YAChB,MAAM,QAAQ,GAAG,KAAK,CAAA;YACtB,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;oBACtC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;gBACxC,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACxB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3E,KAAK,GAAG,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,MAAM,EAAE,KAAK,EAAE,CAAA;YACrB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC;KACD,CAAA;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAc/B;IACA,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;QACnD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACxB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;IAC3E,IAAI,cAAc,GAAG,MAAM,uBAAuB,CACjD,KAAK,CAAC,OAAO,EACb,YAAY,EACZ,SAAS,EACT,IAAI,CACJ,CAAA;IACD,IAAI,uBAAuB,GAAkB,YAAY,CAAC,OAAO;SAC/D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,sCAAsC,CAAC,CAAA;IACnE,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC;YACnD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc;SACd,CAAC,CAAA;QACF,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;QACzC,uBAAuB,GAAG,SAAS,CAAC,iBAAiB,CAAA;IACtD,CAAC;IACD,MAAM,SAAS,CACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAChC,2BAA2B,CAAC,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,CAAC,CAC3E,CAAA;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,SAAS,CACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAClC,qCAAqC,CAAC;QACrC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC9B,CAAC,CACF,CAAA;IACD,MAAM,SAAS,CACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EACnC,mBAAmB,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK;QACL,cAAc;QACd,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;KAC9C,CAAC,CACF,CAAA;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAA;IACnE,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,WAAmB;IACxD,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,IAAI,GAAG,CAAA;IACxC,IAAI,QAAQ,KAAK,WAAW;QAAE,OAAO,GAAG,CAAA;IACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IACjD,CAAC;IACD,OAAO,QAAQ,IAAI,GAAG,CAAA;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,GAAG,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC9C,OAAO,CACN,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CACxB,CAAA;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAmB;IACxC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrC,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,CAAC,kBAAkB,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,IAAI,OAAO,CAA4C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAA;QACjD,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,qBAAqB,GAAG,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/F,CAAC,EAAE,qBAAqB,CAAC,CAAA;QACzB,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACrC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;gBAClC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnB,YAAY,CAAC,KAAK,CAAC,CAAA;oBACnB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClB,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/B,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AACrC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuD,CAAA;QACpF,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC3F,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,IAAI,CAAA;IACR,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAM1B;IACA,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAW,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,IAAa,EAAE,EAAE;YAC/C,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAClE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QACnC,CAAC,CAAA;QACD,IACC,OAAO,CAAC,MAAM,KAAK,MAAM;YACzB,OAAO,CAAC,GAAG,KAAK,OAAO;YACvB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,SAAS,EACnD,CAAC;YACF,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YAClC,OAAM;QACP,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAGhD,CAAA;YACD,IACC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,EAC3D,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CACjC;gBACC,IAAI,EAAE,MAAM,CAAC,IAAqB;gBAClC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;aACnD,EACD,QAAQ,CAAC,MAAM,CACf,CAAA;YACD,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QACtF,CAAC;IACF,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,OAAO;QACN,IAAI,EAAG,MAAM,CAAC,OAAO,EAAkB,CAAC,IAAI;QAC5C,KAAK,EAAE,GAAG,EAAE,CACX,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,MAAM,CAAC,mBAAmB,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9B,CAAC,CAAC;KACH,CAAA;AACF,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAuB;IAC9C,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC9C,CAAC"}