@lenne.tech/nest-server 11.42.3 → 11.42.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 (34) hide show
  1. package/.claude/rules/configurable-features.md +1 -0
  2. package/.claude/rules/package-management.md +70 -4
  3. package/.claude/rules/testing.md +4 -4
  4. package/CLAUDE.md +2 -1
  5. package/FRAMEWORK-API.md +2 -1
  6. package/dist/core/common/interfaces/server-options.interface.d.ts +8 -0
  7. package/dist/core/common/services/core-body-parser.initializer.d.ts +26 -0
  8. package/dist/core/common/services/core-body-parser.initializer.js +136 -0
  9. package/dist/core/common/services/core-body-parser.initializer.js.map +1 -0
  10. package/dist/core/modules/better-auth/core-better-auth.module.js +7 -3
  11. package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
  12. package/dist/core/modules/error-code/error-codes.d.ts +9 -0
  13. package/dist/core/modules/error-code/error-codes.js +8 -0
  14. package/dist/core/modules/error-code/error-codes.js.map +1 -1
  15. package/dist/core.module.js +2 -0
  16. package/dist/core.module.js.map +1 -1
  17. package/dist/server/modules/error-code/error-codes.d.ts +1 -0
  18. package/dist/test/test.helper.d.ts +60 -0
  19. package/dist/test/test.helper.js +104 -0
  20. package/dist/test/test.helper.js.map +1 -1
  21. package/dist/tsconfig.build.tsbuildinfo +1 -1
  22. package/docs/REQUEST-LIFECYCLE.md +28 -0
  23. package/docs/error-codes.md +16 -0
  24. package/docs/security-overrides.md +18 -2
  25. package/migration-guides/11.42.3-to-11.42.4.md +199 -0
  26. package/migration-guides/11.42.4-to-11.42.5.md +104 -0
  27. package/package.json +3 -3
  28. package/src/core/common/interfaces/server-options.interface.ts +89 -0
  29. package/src/core/common/services/core-body-parser.initializer.ts +232 -0
  30. package/src/core/modules/better-auth/core-better-auth.module.ts +24 -4
  31. package/src/core/modules/error-code/error-codes.ts +9 -0
  32. package/src/core.module.ts +4 -0
  33. package/src/test/README.md +79 -1
  34. package/src/test/test.helper.ts +303 -0
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare const ErrorCode: {
52
52
  REQUIRED_FIELD_MISSING: string;
53
53
  INVALID_FIELD_FORMAT: string;
54
54
  NON_WHITELISTED_PROPERTIES: string;
55
+ REQUEST_BODY_TOO_LARGE: string;
55
56
  RESOURCE_NOT_FOUND: string;
56
57
  RESOURCE_ALREADY_EXISTS: string;
57
58
  FILE_NOT_FOUND: string;
@@ -58,6 +58,59 @@ export interface TestDownloadOptions {
58
58
  cookies?: string;
59
59
  token?: string;
60
60
  }
61
+ export interface TestMcpOptions {
62
+ cookies?: Record<string, string> | string;
63
+ headers?: Record<string, string>;
64
+ log?: boolean;
65
+ logError?: boolean;
66
+ path?: string;
67
+ sessionId?: string;
68
+ statusCode?: number;
69
+ token?: string;
70
+ }
71
+ export interface TestMcpSessionOptions extends Omit<TestMcpOptions, 'sessionId' | 'statusCode'> {
72
+ clientInfo?: {
73
+ name: string;
74
+ version: string;
75
+ };
76
+ protocolVersion?: string;
77
+ }
78
+ export interface TestMcpMessage {
79
+ [key: string]: any;
80
+ error?: any;
81
+ id?: null | number | string;
82
+ jsonrpc?: '2.0';
83
+ result?: any;
84
+ }
85
+ export interface TestMcpResponse {
86
+ message: null | TestMcpMessage;
87
+ response: any;
88
+ sessionId?: string;
89
+ }
90
+ export interface TestMcpToolResult {
91
+ [key: string]: any;
92
+ content: {
93
+ [key: string]: any;
94
+ text?: string;
95
+ type: string;
96
+ }[];
97
+ isError?: boolean;
98
+ json?: any;
99
+ }
100
+ export interface TestMcpTool {
101
+ [key: string]: any;
102
+ description?: string;
103
+ inputSchema?: any;
104
+ name: string;
105
+ }
106
+ export interface TestMcpSession {
107
+ callTool(name: string, args?: Record<string, unknown>): Promise<TestMcpToolResult>;
108
+ close(): Promise<void>;
109
+ initializeResult: any;
110
+ listTools(): Promise<TestMcpTool[]>;
111
+ request(method: string, params?: Record<string, unknown>, options?: Pick<TestMcpOptions, 'log' | 'logError' | 'statusCode'>): Promise<null | TestMcpMessage>;
112
+ sessionId: string;
113
+ }
61
114
  export declare class TestHelper {
62
115
  app: INestApplication;
63
116
  subscriptionUrl: string;
@@ -65,6 +118,8 @@ export declare class TestHelper {
65
118
  download(url: string, tokenOrOptions?: string | TestDownloadOptions): Promise<any>;
66
119
  downloadBuffer(url: string, tokenOrOptions?: string | TestDownloadOptions): Promise<Buffer>;
67
120
  graphQl(graphql: string | TestGraphQLConfig, options?: TestGraphQLOptions): Promise<any>;
121
+ mcp(message: Record<string, unknown>, options?: TestMcpOptions): Promise<TestMcpResponse>;
122
+ mcpSession(options?: TestMcpSessionOptions): Promise<TestMcpSession>;
68
123
  rest(url: string, options?: TestRestOptions): Promise<any>;
69
124
  prepareArguments(args: any, objects?: WeakMap<any, any>): any;
70
125
  prepareFields(fields: any): any;
@@ -75,5 +130,10 @@ export declare class TestHelper {
75
130
  static buildBetterAuthCookies(sessionToken: string, basePath?: string): Record<string, string>;
76
131
  static extractCookies(response: any): Record<string, string>;
77
132
  static extractSessionToken(response: any, cookieName?: string): null | string;
133
+ static parseMcpMessage(response: {
134
+ headers?: Record<string, any>;
135
+ text?: string;
136
+ }): null | TestMcpMessage;
137
+ static parseJsonOrUndefined(text: string | undefined): any;
78
138
  parseJwt(token: any): any;
79
139
  }
@@ -200,6 +200,79 @@ class TestHelper {
200
200
  }
201
201
  return undefined;
202
202
  }
203
+ async mcp(message, options = {}) {
204
+ const isNotification = message.id === undefined;
205
+ const response = await this.rest(options.path ?? '/ai/mcp', {
206
+ cookies: options.cookies,
207
+ headers: {
208
+ Accept: 'application/json, text/event-stream',
209
+ 'Content-Type': 'application/json',
210
+ ...(options.sessionId ? { 'mcp-session-id': options.sessionId } : {}),
211
+ ...options.headers,
212
+ },
213
+ log: options.log,
214
+ logError: options.logError,
215
+ method: 'POST',
216
+ payload: { jsonrpc: '2.0', ...message },
217
+ returnResponse: true,
218
+ statusCode: options.statusCode ?? (isNotification ? 202 : 200),
219
+ token: options.token,
220
+ });
221
+ return {
222
+ message: TestHelper.parseMcpMessage(response),
223
+ response,
224
+ sessionId: response?.headers?.['mcp-session-id'],
225
+ };
226
+ }
227
+ async mcpSession(options = {}) {
228
+ const { clientInfo, protocolVersion, ...base } = options;
229
+ const path = base.path ?? '/ai/mcp';
230
+ const init = await this.mcp({
231
+ id: 1,
232
+ method: 'initialize',
233
+ params: {
234
+ capabilities: {},
235
+ clientInfo: clientInfo ?? { name: 'nest-server-test-helper', version: '1.0.0' },
236
+ protocolVersion: protocolVersion ?? '2025-03-26',
237
+ },
238
+ }, base);
239
+ expect(init.message?.error).toBeUndefined();
240
+ expect(init.sessionId).toBeTruthy();
241
+ const sessionId = init.sessionId;
242
+ await this.mcp({ method: 'notifications/initialized' }, { ...base, sessionId });
243
+ let nextId = 2;
244
+ const request = async (method, params, requestOptions = {}) => {
245
+ const reply = await this.mcp({ id: nextId++, method, ...(params ? { params } : {}) }, { ...base, ...requestOptions, sessionId });
246
+ return reply.message;
247
+ };
248
+ return {
249
+ callTool: async (name, args = {}) => {
250
+ const reply = await request('tools/call', { arguments: args, name });
251
+ expect(reply?.error).toBeUndefined();
252
+ const result = reply?.result ?? { content: [] };
253
+ return { ...result, json: TestHelper.parseJsonOrUndefined(result.content?.[0]?.text) };
254
+ },
255
+ close: async () => {
256
+ await this.rest(path, {
257
+ cookies: base.cookies,
258
+ headers: { ...base.headers, 'mcp-session-id': sessionId },
259
+ log: base.log,
260
+ logError: base.logError,
261
+ method: 'DELETE',
262
+ returnResponse: true,
263
+ token: base.token,
264
+ });
265
+ },
266
+ initializeResult: init.message?.result,
267
+ listTools: async () => {
268
+ const reply = await request('tools/list');
269
+ expect(reply?.error).toBeUndefined();
270
+ return reply?.result?.tools ?? [];
271
+ },
272
+ request,
273
+ sessionId,
274
+ };
275
+ }
203
276
  async rest(url, options = {}) {
204
277
  const config = {
205
278
  log: false,
@@ -499,6 +572,37 @@ class TestHelper {
499
572
  }
500
573
  return value;
501
574
  }
575
+ static parseMcpMessage(response) {
576
+ const text = response?.text ?? '';
577
+ if (!text.trim()) {
578
+ return null;
579
+ }
580
+ const contentType = String(response?.headers?.['content-type'] ?? '');
581
+ if (contentType.includes('text/event-stream') || /^(event|data|id):/m.test(text)) {
582
+ for (const line of text.split(/\r?\n/)) {
583
+ if (!line.startsWith('data:')) {
584
+ continue;
585
+ }
586
+ const parsed = TestHelper.parseJsonOrUndefined(line.slice(5).trim());
587
+ if (parsed && (parsed.result !== undefined || parsed.error !== undefined)) {
588
+ return parsed;
589
+ }
590
+ }
591
+ return null;
592
+ }
593
+ return TestHelper.parseJsonOrUndefined(text) ?? null;
594
+ }
595
+ static parseJsonOrUndefined(text) {
596
+ if (typeof text !== 'string') {
597
+ return undefined;
598
+ }
599
+ try {
600
+ return JSON.parse(text);
601
+ }
602
+ catch {
603
+ return undefined;
604
+ }
605
+ }
502
606
  parseJwt(token) {
503
607
  return JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
504
608
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":";;;AAEA,2CAA0C;AAC1C,iEAA2D;AAC3D,uCAAiC;AACjC,uCAAwC;AACxC,6BAA8B;AAC9B,yBAA0B;AAE1B,gEAAgE;AAChE,mHAAkH;AAKlH,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,kCAAe,CAAA;IACf,gDAA6B,CAAA;AAC/B,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAuLD,MAAa,UAAU;IAErB,GAAG,CAAmB;IAItB,eAAe,CAAS;IAKxB,YAAY,GAAQ,EAAE,eAAwB;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IASD,QAAQ,CAAC,GAAW,EAAE,cAA6C;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,SAAS,CAAE,IAAI,CAAC,GAAwB,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnF,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC/E,OAAO,CAAC,GAAG,CACT,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;yBACzB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;gBACJ,CAAC;gBACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,OAAO;iBACJ,MAAM,EAAE;iBACR,KAAK,CAAC,CAAC,GAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC5B,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACpB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;gBACpB,GAA8B,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9E,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAQD,cAAc,CAAC,GAAW,EAAE,cAA6C;QACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC/E,OAAO,CAAC,GAAG,CACT,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;yBACzB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;gBACJ,CAAC;gBACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAGD,MAAM,MAAM,GAAU,EAAE,CAAC;YAEzB,OAAO;iBACJ,MAAM,EAAE;iBACR,KAAK,CAAC,CAAC,GAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACpB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;gBACrB,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,OAAmC,EAAE,UAA8B,EAAE;QAEjF,MAAM,MAAM,GAAG;YACb,YAAY,EAAE,IAAI;YAClB,2BAA2B,EAAE,CAAC;YAC9B,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,IAAI;YACX,GAAG,OAAO;SACX,CAAC;QAGF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAGlF,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAW,SAAS,CAAC;QAG7B,IACE,CAAC,OAAO,OAAO,KAAK,QAAQ;YAC1B,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC;YACtF,oBAAoB,CAAC,IAAI,CAAE,OAAkB,CAAC,IAAI,EAAE,CAAC,EACrD,CAAC;YAED,KAAK,GAAI,OAAkB,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YAEN,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,EACnF,CAAC;gBACD,OAAO,GAAG,EAAE,IAAI,EAAG,OAAkB,CAAC,IAAI,EAAE,EAAS,CAAC;YACxD,CAAC;YAGD,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB;gBACE,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,eAAe,CAAC,KAAK;aAC5B,EACD,OAAO,CACa,CAAC;YACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAGpB,MAAM,QAAQ,GAAG,EAAE,CAAC;YAGpB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAG5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;YAC5D,CAAC;YAGD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAGhF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB;oBACnE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC1C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YACxB,CAAC;YAGD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClD,KAAK,GAAG,GAAG,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,IAAI,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAA,0CAAkB,EAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAK,OAA6B,CAAC,IAAI,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,eAAe,CAAC,OAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;QAGD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,MAAM,SAAS,GAAG,OAAO,GAAG,qCAAqC,CAAC;oBAClE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;wBAE9C,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzB,OAAO,KAAK,CAAC;wBACf,CAAC;wBAED,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAEnF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzB,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAQ;YACzB,OAAO;YACP,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,KAAK,EAAE;YAClB,GAAG,EAAE,UAAU;SAChB,CAAC;QAGF,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QACpF,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAcpG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAGrE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,OAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7F,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI;oBACT,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAE,OAA6B,CAAC,IAAI,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,UAA2B,EAAE;QAEnD,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC7C,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,IAAI;YACX,GAAG,OAAO;SACX,CAAC;QAGF,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAG1F,MAAM,aAAa,GAAQ;YACzB,OAAO;YACP,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG;SACJ,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzC,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAG5G,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QAEb,CAAC;QAGD,OAAO,MAAM,CAAC;IAChB,CAAC;IAKD,gBAAgB,CAAC,IAAS,EAAE,OAA2B;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,YAAY,gBAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,OAAO,EAAY,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,aAAa,CAAC,MAAW;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC;QAGlB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAGxB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAE1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAGtB,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBAGlD,CAAC;qBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QAGH,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QAGH,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;QAGD,OAAO,MAAM,CAAC;IAChB,CAAC;IAKS,KAAK,CAAC,WAAW,CACzB,KAAa,EACb,aAAkB,EAClB,UAAkB,EAClB,GAAY,EACZ,QAAiB,EACjB,SAA+C,EAC/C,WAAoC;QAGpC,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QACzF,CAAC;QAuBD,MAAM,MAAM,GAAW,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,OAAO,GAAG,SAAS,CAAE,IAAI,CAAC,GAAwB,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,GAAa,CAAC,CAAC;QAC7G,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QAGD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,YAAoB,CAAC;YACzB,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAE9C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAEjF,MAAM,YAAY,GAAG,UAAU,CAAC,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAC9E,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;yBACxC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;yBAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;qBACjD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAGD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAG,aAAa,CAAC,OAAe,EAAE,KAAK,CAAC,CAAC;QAC7F,CAAC;QAGD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAGD,IAAI,WAAW,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAGD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAKD,gBAAgB,CAAC,OAAY,EAAE,SAA8C,EAAE,KAAsB;QAEnG,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QAGD,MAAM,QAAQ,GAAgF,EAAE,CAAC;QACjG,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAGH,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAGzF,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAEnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAGH,OAAO,OAAO,CAAC;IACjB,CAAC;IAKD,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;QAEjD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAGD,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YACjF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACtD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAGD,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAG7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKD,KAAK,CAAC,eAAe,CAAC,OAA0B,EAAE,KAAa,EAAE,OAA4B;QAE3F,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QAGD,IAAI,gBAAoD,CAAC;QACzD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,gBAAgB,GAAG,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,gBAAgB,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC1E,CAAC;QAGD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,WAAuB,CAAC;QAC5B,IAAI,kBAA6C,CAAC;QAElD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;YASD,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9F,kBAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpF,WAAW,EAAE,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBAC3D,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAOF,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,kBAAkB,GAAG,MAAM,CAAC;gBAC5B,WAAW,GAAG,MAAM,CAAC,SAAS,CAC5B,EAAE,KAAK,EAAE,EACT;oBACE,QAAQ,EAAE,OAAc;oBACxB,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,MAAM;iBACb,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAGD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMD,MAAM,CAAC,sBAAsB,CAAC,YAAoB,EAAE,WAAmB,KAAK;QAI1E,OAAO;YACL,CAAC,IAAA,qEAAkC,EAAC,QAAQ,CAAC,CAAC,EAAE,YAAY;YAC5D,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,cAAc,CAAC,QAAa;QACjC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC5F,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAWD,MAAM,CAAC,mBAAmB,CAAC,QAAa,EAAE,UAAmB;QAC3D,MAAM,kBAAkB,GAAG,UAAU,IAAI,IAAA,qEAAkC,EAAC,MAAM,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,QAAQ,CAAC,KAAK;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF;AAhuBD,gCAguBC"}
1
+ {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}