@kywi-software/mcp 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/AGENT-PATTERNS.md +153 -17
  2. package/dist/site/tools/components.d.ts.map +1 -1
  3. package/dist/site/tools/components.js +5 -3
  4. package/dist/site/tools/components.js.map +1 -1
  5. package/dist/site/tools/layout.d.ts.map +1 -1
  6. package/dist/site/tools/layout.js +33 -3
  7. package/dist/site/tools/layout.js.map +1 -1
  8. package/dist/site/tools/menus.d.ts +13 -0
  9. package/dist/site/tools/menus.d.ts.map +1 -1
  10. package/dist/site/tools/menus.js +18 -2
  11. package/dist/site/tools/menus.js.map +1 -1
  12. package/package.json +4 -4
  13. package/dist/__tests__/auto-detect.test.d.ts +0 -2
  14. package/dist/__tests__/auto-detect.test.d.ts.map +0 -1
  15. package/dist/__tests__/auto-detect.test.js +0 -134
  16. package/dist/__tests__/auto-detect.test.js.map +0 -1
  17. package/dist/__tests__/config.test.d.ts +0 -2
  18. package/dist/__tests__/config.test.d.ts.map +0 -1
  19. package/dist/__tests__/config.test.js +0 -72
  20. package/dist/__tests__/config.test.js.map +0 -1
  21. package/dist/__tests__/developer-mutation.test.d.ts +0 -2
  22. package/dist/__tests__/developer-mutation.test.d.ts.map +0 -1
  23. package/dist/__tests__/developer-mutation.test.js +0 -511
  24. package/dist/__tests__/developer-mutation.test.js.map +0 -1
  25. package/dist/__tests__/developer-read-only.test.d.ts +0 -2
  26. package/dist/__tests__/developer-read-only.test.d.ts.map +0 -1
  27. package/dist/__tests__/developer-read-only.test.js +0 -192
  28. package/dist/__tests__/developer-read-only.test.js.map +0 -1
  29. package/dist/__tests__/site-content-tools.test.d.ts +0 -2
  30. package/dist/__tests__/site-content-tools.test.d.ts.map +0 -1
  31. package/dist/__tests__/site-content-tools.test.js +0 -446
  32. package/dist/__tests__/site-content-tools.test.js.map +0 -1
  33. package/dist/__tests__/site-layout-tools.test.d.ts +0 -2
  34. package/dist/__tests__/site-layout-tools.test.d.ts.map +0 -1
  35. package/dist/__tests__/site-layout-tools.test.js +0 -316
  36. package/dist/__tests__/site-layout-tools.test.js.map +0 -1
  37. package/dist/__tests__/site-other-tools.test.d.ts +0 -2
  38. package/dist/__tests__/site-other-tools.test.d.ts.map +0 -1
  39. package/dist/__tests__/site-other-tools.test.js +0 -318
  40. package/dist/__tests__/site-other-tools.test.js.map +0 -1
@@ -1,511 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { handleAddContentType, handleAddField, handleRemoveField, handleAddTheme, handleRunMigration, } from '../developer/tools/config-mutation.js';
3
- import { handleScaffoldSiteStructure, handleScaffoldContentType, handleScaffoldTheme, handleSeedContent, } from '../developer/tools/scaffolding.js';
4
- import { handleCreateApiKey, handleListApiKeys, handleRevokeApiKey, } from '../developer/tools/api-keys.js';
5
- // ─── Mock node:fs ────────────────────────────────────────────────────────────
6
- vi.mock('node:fs', () => ({
7
- readFileSync: vi.fn(),
8
- writeFileSync: vi.fn(),
9
- }));
10
- import { readFileSync, writeFileSync } from 'node:fs';
11
- const mockedReadFileSync = vi.mocked(readFileSync);
12
- const mockedWriteFileSync = vi.mocked(writeFileSync);
13
- // ─── Mock node:child_process ─────────────────────────────────────────────────
14
- // promisify(execFile) uses a custom symbol on Node's execFile.
15
- // We mock the entire module so that promisify wraps our callback-style mock.
16
- let execFileResult = { stdout: '', stderr: '' };
17
- vi.mock('node:child_process', async () => {
18
- const customPromisify = Symbol.for('nodejs.util.promisify.custom');
19
- const fn = Object.assign(vi.fn((...args) => {
20
- const cb = args[args.length - 1];
21
- if (typeof cb === 'function') {
22
- if (execFileResult instanceof Error) {
23
- cb(execFileResult, '', '');
24
- }
25
- else {
26
- cb(null, execFileResult.stdout, execFileResult.stderr);
27
- }
28
- }
29
- return {};
30
- }), {
31
- [customPromisify]: vi.fn(async (..._args) => {
32
- if (execFileResult instanceof Error)
33
- throw execFileResult;
34
- return execFileResult;
35
- }),
36
- });
37
- return { execFile: fn };
38
- });
39
- // ─── Helpers ─────────────────────────────────────────────────────────────────
40
- function createMockSdk() {
41
- return {
42
- content: {
43
- getBySlug: vi.fn().mockResolvedValue({ id: '1', title: 'Test' }),
44
- getById: vi.fn().mockResolvedValue({ id: '1', title: 'Test' }),
45
- getChildren: vi.fn().mockResolvedValue([]),
46
- list: vi.fn().mockResolvedValue({ rows: [], total: 0 }),
47
- create: vi.fn().mockImplementation((_type, data) => Promise.resolve({ id: `new-${String(data.slug ?? 'item')}`, ...data })),
48
- update: vi.fn().mockResolvedValue({ id: '1', title: 'Updated' }),
49
- delete: vi.fn().mockResolvedValue(true),
50
- publish: vi.fn().mockResolvedValue({ id: '1', status: 'published' }),
51
- unpublish: vi.fn().mockResolvedValue({ id: '1', status: 'draft' }),
52
- },
53
- nav: { getTree: vi.fn(), getBreadcrumbs: vi.fn(), getChildren: vi.fn() },
54
- site: { getConfig: vi.fn(), list: vi.fn() },
55
- user: { getCurrent: vi.fn(), getById: vi.fn() },
56
- feeds: { query: vi.fn(), get: vi.fn() },
57
- };
58
- }
59
- function createMockHttp() {
60
- return {
61
- get: vi.fn(),
62
- post: vi.fn(),
63
- put: vi.fn(),
64
- delete: vi.fn(),
65
- setToken: vi.fn(),
66
- };
67
- }
68
- const baseConfig = `import { defineContentType } from '@kywi/core'
69
-
70
- defineContentType('page', {
71
- label: 'Page',
72
- baseType: 'page',
73
- fields: [
74
- { name: 'title', type: 'text', label: 'Title', required: true },
75
- { name: 'body', type: 'richtext', label: 'Body' },
76
- ],
77
- })
78
- `;
79
- beforeEach(() => {
80
- vi.clearAllMocks();
81
- });
82
- // ─── Config mutation tools ─────────────────────────────────────────────────
83
- describe('Config mutation tools', () => {
84
- const ctx = { configPath: '/project/kywi.config.ts' };
85
- describe('handleAddContentType', () => {
86
- it('appends a content type to the config', async () => {
87
- mockedReadFileSync.mockReturnValue(baseConfig);
88
- const result = await handleAddContentType(ctx, {
89
- name: 'post',
90
- label: 'Blog Post',
91
- baseType: 'page',
92
- fields: [
93
- { name: 'title', type: 'text', label: 'Title', required: true },
94
- { name: 'body', type: 'richtext', label: 'Body' },
95
- ],
96
- });
97
- const data = JSON.parse(result.content[0].text);
98
- expect(data.added).toBe('post');
99
- expect(data.fields).toBe(2);
100
- expect(mockedWriteFileSync).toHaveBeenCalledOnce();
101
- const written = mockedWriteFileSync.mock.calls[0][1];
102
- expect(written).toContain("defineContentType('post'");
103
- expect(written).toContain("name: 'title'");
104
- expect(written).toContain('required: true');
105
- });
106
- });
107
- describe('handleAddField', () => {
108
- it('adds a field to an existing content type', async () => {
109
- mockedReadFileSync.mockReturnValue(baseConfig);
110
- const result = await handleAddField(ctx, {
111
- contentTypeName: 'page',
112
- field: { name: 'summary', type: 'text', label: 'Summary' },
113
- });
114
- const data = JSON.parse(result.content[0].text);
115
- expect(data.addedField).toBe('summary');
116
- const written = mockedWriteFileSync.mock.calls[0][1];
117
- expect(written).toContain("name: 'summary'");
118
- });
119
- it('returns error if content type not found', async () => {
120
- mockedReadFileSync.mockReturnValue(baseConfig);
121
- const result = await handleAddField(ctx, {
122
- contentTypeName: 'nonexistent',
123
- field: { name: 'test', type: 'text', label: 'Test' },
124
- });
125
- expect(result.isError).toBe(true);
126
- expect(result.content[0].text).toContain('not found');
127
- });
128
- });
129
- describe('handleRemoveField', () => {
130
- it('removes a field from a content type', async () => {
131
- mockedReadFileSync.mockReturnValue(baseConfig);
132
- const result = await handleRemoveField(ctx, {
133
- contentTypeName: 'page',
134
- fieldName: 'body',
135
- });
136
- const data = JSON.parse(result.content[0].text);
137
- expect(data.removedField).toBe('body');
138
- const written = mockedWriteFileSync.mock.calls[0][1];
139
- expect(written).not.toContain("name: 'body'");
140
- expect(written).toContain("name: 'title'");
141
- });
142
- it('returns error if content type not found', async () => {
143
- mockedReadFileSync.mockReturnValue(baseConfig);
144
- const result = await handleRemoveField(ctx, {
145
- contentTypeName: 'nonexistent',
146
- fieldName: 'body',
147
- });
148
- expect(result.isError).toBe(true);
149
- });
150
- it('returns error if field not found', async () => {
151
- mockedReadFileSync.mockReturnValue(baseConfig);
152
- const result = await handleRemoveField(ctx, {
153
- contentTypeName: 'page',
154
- fieldName: 'nonexistent',
155
- });
156
- expect(result.isError).toBe(true);
157
- });
158
- });
159
- describe('handleAddTheme', () => {
160
- it('appends a theme to the config', async () => {
161
- mockedReadFileSync.mockReturnValue(baseConfig);
162
- const result = await handleAddTheme(ctx, {
163
- name: 'modern',
164
- label: 'Modern Theme',
165
- regions: ['header', 'main', 'sidebar', 'footer'],
166
- });
167
- const data = JSON.parse(result.content[0].text);
168
- expect(data.added).toBe('modern');
169
- expect(data.regions).toEqual(['header', 'main', 'sidebar', 'footer']);
170
- const written = mockedWriteFileSync.mock.calls[0][1];
171
- expect(written).toContain("defineTheme('modern'");
172
- });
173
- });
174
- describe('handleRunMigration', () => {
175
- it('runs drizzle-kit push successfully', async () => {
176
- execFileResult = { stdout: 'Migration applied\n', stderr: '' };
177
- const result = await handleRunMigration(ctx);
178
- const data = JSON.parse(result.content[0].text);
179
- expect(data.success).toBe(true);
180
- expect(data.stdout).toContain('Migration applied');
181
- });
182
- it('returns error on failure', async () => {
183
- execFileResult = new Error('Command failed');
184
- const result = await handleRunMigration(ctx);
185
- expect(result.isError).toBe(true);
186
- expect(result.content[0].text).toContain('Migration failed');
187
- });
188
- });
189
- });
190
- // ─── Scaffolding tools ─────────────────────────────────────────────────────
191
- describe('Scaffolding tools', () => {
192
- describe('handleScaffoldSiteStructure', () => {
193
- it('creates pages for corporate site', async () => {
194
- const sdk = createMockSdk();
195
- const result = await handleScaffoldSiteStructure(sdk, {
196
- siteType: 'corporate',
197
- siteId: 'site-1',
198
- });
199
- const data = JSON.parse(result.content[0].text);
200
- expect(data.siteType).toBe('corporate');
201
- expect(data.created).toBe(5);
202
- expect(data.pages).toEqual(['Home', 'About', 'Services', 'Contact', 'Blog']);
203
- expect(sdk.content.create).toHaveBeenCalledTimes(5);
204
- });
205
- it('creates pages for blog site', async () => {
206
- const sdk = createMockSdk();
207
- const result = await handleScaffoldSiteStructure(sdk, {
208
- siteType: 'blog',
209
- siteId: 'site-1',
210
- });
211
- const data = JSON.parse(result.content[0].text);
212
- expect(data.created).toBe(3);
213
- expect(data.pages).toEqual(['Home', 'Posts', 'About']);
214
- });
215
- it('creates pages for portfolio site', async () => {
216
- const sdk = createMockSdk();
217
- const result = await handleScaffoldSiteStructure(sdk, {
218
- siteType: 'portfolio',
219
- siteId: 'site-1',
220
- });
221
- const data = JSON.parse(result.content[0].text);
222
- expect(data.created).toBe(4);
223
- });
224
- it('creates pages for ecommerce site', async () => {
225
- const sdk = createMockSdk();
226
- const result = await handleScaffoldSiteStructure(sdk, {
227
- siteType: 'ecommerce',
228
- siteId: 'site-1',
229
- });
230
- const data = JSON.parse(result.content[0].text);
231
- expect(data.created).toBe(5);
232
- });
233
- it('returns error for unknown site type', async () => {
234
- const sdk = createMockSdk();
235
- const result = await handleScaffoldSiteStructure(sdk, {
236
- siteType: 'unknown',
237
- siteId: 'site-1',
238
- });
239
- expect(result.isError).toBe(true);
240
- });
241
- it('captures errors from individual page creation', async () => {
242
- const sdk = createMockSdk();
243
- let callCount = 0;
244
- vi.mocked(sdk.content.create).mockImplementation(() => {
245
- callCount++;
246
- if (callCount === 2) {
247
- return Promise.reject(new Error('create failed'));
248
- }
249
- return Promise.resolve({ id: `p${callCount}` });
250
- });
251
- const result = await handleScaffoldSiteStructure(sdk, {
252
- siteType: 'blog',
253
- siteId: 'site-1',
254
- });
255
- const data = JSON.parse(result.content[0].text);
256
- expect(data.created).toBe(2);
257
- expect(data.errors).toHaveLength(1);
258
- expect(data.errors[0].error).toContain('create failed');
259
- });
260
- });
261
- describe('handleScaffoldContentType', () => {
262
- it('returns a content type suggestion', async () => {
263
- const sdk = createMockSdk();
264
- const result = await handleScaffoldContentType(sdk, {
265
- name: 'article',
266
- description: 'A news article',
267
- });
268
- const data = JSON.parse(result.content[0].text);
269
- expect(data.suggestion.name).toBe('article');
270
- expect(data.suggestion.fields.length).toBeGreaterThan(0);
271
- expect(data.note).toContain('add_content_type');
272
- });
273
- });
274
- describe('handleScaffoldTheme', () => {
275
- it('returns a theme suggestion with default regions', async () => {
276
- const sdk = createMockSdk();
277
- const result = await handleScaffoldTheme(sdk, {
278
- name: 'minimal',
279
- description: 'A minimal theme',
280
- });
281
- const data = JSON.parse(result.content[0].text);
282
- expect(data.suggestion.name).toBe('minimal');
283
- expect(data.suggestion.regions).toEqual(['header', 'main', 'sidebar', 'footer']);
284
- });
285
- it('uses custom regions when provided', async () => {
286
- const sdk = createMockSdk();
287
- const result = await handleScaffoldTheme(sdk, {
288
- name: 'simple',
289
- description: 'Simple layout',
290
- regions: ['header', 'content', 'footer'],
291
- });
292
- const data = JSON.parse(result.content[0].text);
293
- expect(data.suggestion.regions).toEqual(['header', 'content', 'footer']);
294
- });
295
- });
296
- describe('handleSeedContent', () => {
297
- it('creates sample content items', async () => {
298
- const sdk = createMockSdk();
299
- const result = await handleSeedContent(sdk, {
300
- type: 'post',
301
- count: 3,
302
- siteId: 'site-1',
303
- });
304
- const data = JSON.parse(result.content[0].text);
305
- expect(data.created).toBe(3);
306
- expect(data.requested).toBe(3);
307
- expect(sdk.content.create).toHaveBeenCalledTimes(3);
308
- });
309
- it('captures individual item errors', async () => {
310
- const sdk = createMockSdk();
311
- let callCount = 0;
312
- vi.mocked(sdk.content.create).mockImplementation(() => {
313
- callCount++;
314
- if (callCount === 2) {
315
- return Promise.reject(new Error('seed failed'));
316
- }
317
- return Promise.resolve({ id: `p${callCount}` });
318
- });
319
- const result = await handleSeedContent(sdk, {
320
- type: 'post',
321
- count: 3,
322
- siteId: 'site-1',
323
- });
324
- const data = JSON.parse(result.content[0].text);
325
- expect(data.created).toBe(2);
326
- expect(data.errors).toHaveLength(1);
327
- });
328
- });
329
- });
330
- // ─── New config mutation tools (IU-40) ─────────────────────────────────────
331
- describe('New config mutation tools (IU-40)', () => {
332
- const ctx = { configPath: '/project/kywi.config.ts' };
333
- const configWithTheme = `import { defineContentType, defineTheme } from '@kywi/core'
334
-
335
- defineContentType('page', {
336
- label: 'Page',
337
- baseType: 'page',
338
- fields: [
339
- { name: 'title', type: 'text', label: 'Title', required: true },
340
- { name: 'body', type: 'richtext', label: 'Body' },
341
- ],
342
- })
343
-
344
- defineTheme('modern', {
345
- label: 'Modern Theme',
346
- regions: [
347
- 'header',
348
- 'main',
349
- 'sidebar',
350
- 'footer',
351
- ],
352
- })
353
- `;
354
- describe('handleUpdateContentType', () => {
355
- it('updates an existing content type label', async () => {
356
- const { handleUpdateContentType } = await import('../developer/tools/config-mutation.js');
357
- mockedReadFileSync.mockReturnValue(baseConfig);
358
- const result = await handleUpdateContentType(ctx, {
359
- name: 'page',
360
- label: 'Landing Page',
361
- });
362
- const data = JSON.parse(result.content[0].text);
363
- expect(data.updated).toBe('page');
364
- expect(data.label).toBe('Landing Page');
365
- const written = mockedWriteFileSync.mock.calls[0][1];
366
- expect(written).toContain("label: 'Landing Page'");
367
- expect(written).toContain("defineContentType('page'");
368
- });
369
- it('updates baseType of an existing content type', async () => {
370
- const { handleUpdateContentType } = await import('../developer/tools/config-mutation.js');
371
- mockedReadFileSync.mockReturnValue(baseConfig);
372
- const result = await handleUpdateContentType(ctx, {
373
- name: 'page',
374
- baseType: 'folder',
375
- });
376
- const data = JSON.parse(result.content[0].text);
377
- expect(data.updated).toBe('page');
378
- const written = mockedWriteFileSync.mock.calls[0][1];
379
- expect(written).toContain("baseType: 'folder'");
380
- });
381
- it('returns error when content type not found', async () => {
382
- const { handleUpdateContentType } = await import('../developer/tools/config-mutation.js');
383
- mockedReadFileSync.mockReturnValue(baseConfig);
384
- const result = await handleUpdateContentType(ctx, {
385
- name: 'nonexistent',
386
- label: 'Nope',
387
- });
388
- expect(result.isError).toBe(true);
389
- expect(result.content[0].text).toContain('not found');
390
- });
391
- });
392
- describe('handleUpdateThemeRegions', () => {
393
- it('updates region list of an existing theme', async () => {
394
- const { handleUpdateThemeRegions } = await import('../developer/tools/config-mutation.js');
395
- mockedReadFileSync.mockReturnValue(configWithTheme);
396
- const result = await handleUpdateThemeRegions(ctx, {
397
- name: 'modern',
398
- regions: ['header', 'hero', 'main', 'footer'],
399
- });
400
- const data = JSON.parse(result.content[0].text);
401
- expect(data.updated).toBe('modern');
402
- expect(data.regions).toEqual(['header', 'hero', 'main', 'footer']);
403
- const written = mockedWriteFileSync.mock.calls[0][1];
404
- expect(written).toContain("'hero'");
405
- expect(written).not.toContain("'sidebar'");
406
- });
407
- it('returns error when theme not found', async () => {
408
- const { handleUpdateThemeRegions } = await import('../developer/tools/config-mutation.js');
409
- mockedReadFileSync.mockReturnValue(configWithTheme);
410
- const result = await handleUpdateThemeRegions(ctx, {
411
- name: 'nonexistent',
412
- regions: ['header', 'main'],
413
- });
414
- expect(result.isError).toBe(true);
415
- expect(result.content[0].text).toContain('not found');
416
- });
417
- });
418
- describe('handleAddModule', () => {
419
- it('appends a module definition to the config', async () => {
420
- const { handleAddModule } = await import('../developer/tools/config-mutation.js');
421
- mockedReadFileSync.mockReturnValue(baseConfig);
422
- const result = await handleAddModule(ctx, {
423
- name: 'heroSection',
424
- label: 'Hero Section',
425
- component: './modules/HeroSection.tsx',
426
- });
427
- const data = JSON.parse(result.content[0].text);
428
- expect(data.added).toBe('heroSection');
429
- expect(data.label).toBe('Hero Section');
430
- const written = mockedWriteFileSync.mock.calls[0][1];
431
- expect(written).toContain("defineModule('heroSection'");
432
- expect(written).toContain("label: 'Hero Section'");
433
- expect(written).toContain("component: './modules/HeroSection.tsx'");
434
- });
435
- });
436
- describe('handleAddPlugin', () => {
437
- it('appends a plugin definition to the config', async () => {
438
- const { handleAddPlugin } = await import('../developer/tools/config-mutation.js');
439
- mockedReadFileSync.mockReturnValue(baseConfig);
440
- const result = await handleAddPlugin(ctx, {
441
- name: 'seo',
442
- label: 'SEO Plugin',
443
- options: { sitemap: true, robots: true },
444
- });
445
- const data = JSON.parse(result.content[0].text);
446
- expect(data.added).toBe('seo');
447
- expect(data.label).toBe('SEO Plugin');
448
- const written = mockedWriteFileSync.mock.calls[0][1];
449
- expect(written).toContain("definePlugin('seo'");
450
- expect(written).toContain("label: 'SEO Plugin'");
451
- });
452
- });
453
- });
454
- // ─── API key tools ─────────────────────────────────────────────────────────
455
- describe('API key tools', () => {
456
- describe('handleCreateApiKey', () => {
457
- it('creates an API key', async () => {
458
- const http = createMockHttp();
459
- vi.mocked(http.post).mockResolvedValue({ id: 'key-1', name: 'Test', scopes: ['content:read'] });
460
- const result = await handleCreateApiKey(http, {
461
- name: 'Test',
462
- scopes: ['content:read'],
463
- });
464
- const data = JSON.parse(result.content[0].text);
465
- expect(data.id).toBe('key-1');
466
- expect(http.post).toHaveBeenCalledWith('/api-keys', { name: 'Test', scopes: ['content:read'] });
467
- });
468
- it('returns error on failure', async () => {
469
- const http = createMockHttp();
470
- vi.mocked(http.post).mockRejectedValue(new Error('Forbidden'));
471
- const result = await handleCreateApiKey(http, {
472
- name: 'Test',
473
- scopes: ['content:read'],
474
- });
475
- expect(result.isError).toBe(true);
476
- expect(result.content[0].text).toContain('Forbidden');
477
- });
478
- });
479
- describe('handleListApiKeys', () => {
480
- it('lists API keys', async () => {
481
- const http = createMockHttp();
482
- vi.mocked(http.get).mockResolvedValue([{ id: 'key-1' }, { id: 'key-2' }]);
483
- const result = await handleListApiKeys(http);
484
- const data = JSON.parse(result.content[0].text);
485
- expect(data).toHaveLength(2);
486
- });
487
- it('returns error on failure', async () => {
488
- const http = createMockHttp();
489
- vi.mocked(http.get).mockRejectedValue(new Error('Unauthorized'));
490
- const result = await handleListApiKeys(http);
491
- expect(result.isError).toBe(true);
492
- });
493
- });
494
- describe('handleRevokeApiKey', () => {
495
- it('revokes an API key', async () => {
496
- const http = createMockHttp();
497
- vi.mocked(http.delete).mockResolvedValue({ revoked: true });
498
- const result = await handleRevokeApiKey(http, { id: 'key-1' });
499
- const data = JSON.parse(result.content[0].text);
500
- expect(data.revoked).toBe(true);
501
- expect(http.delete).toHaveBeenCalledWith('/api-keys/key-1');
502
- });
503
- it('returns error on failure', async () => {
504
- const http = createMockHttp();
505
- vi.mocked(http.delete).mockRejectedValue(new Error('Not found'));
506
- const result = await handleRevokeApiKey(http, { id: 'key-1' });
507
- expect(result.isError).toBe(true);
508
- });
509
- });
510
- });
511
- //# sourceMappingURL=developer-mutation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"developer-mutation.test.js","sourceRoot":"","sources":["../../src/__tests__/developer-mutation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE7D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,gFAAgF;AAEhF,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAA;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrD,MAAM,kBAAkB,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AAClD,MAAM,mBAAmB,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAEpD,gFAAgF;AAEhF,+DAA+D;AAC/D,6EAA6E;AAC7E,IAAI,cAAc,GAA+C,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAE3F,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CACtB,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,cAAc,YAAY,KAAK,EAAE,CAAC;gBACnC,EAAe,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACL,EAAe,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,EACF;QACE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAgB,EAAE,EAAE;YACrD,IAAI,cAAc,YAAY,KAAK;gBAAE,MAAM,cAAc,CAAA;YACzD,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC;KACH,CACF,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA;AAEF,gFAAgF;AAEhF,SAAS,aAAa;IACpB,OAAO;QACL,OAAO,EAAE;YACP,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAChE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9D,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAa,EAAE,IAA6B,EAAE,EAAE,CAClF,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CACvE;YACD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAChE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACpE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SACnE;QACD,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACxE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC3C,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC/C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;KACb,CAAA;AAC9B,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;KACW,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,GAAG;;;;;;;;;;CAUlB,CAAA;AAED,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAA;AACpB,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAE9E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAA;IAErD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE;gBAC7C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;iBAClD;aACF,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAE3B,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,EAAE,CAAA;YAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAA;YACrD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;gBACvC,eAAe,EAAE,MAAM;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;aAC3D,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAEvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;gBACvC,eAAe,EAAE,aAAa;gBAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACrD,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;gBAC1C,eAAe,EAAE,MAAM;gBACvB,SAAS,EAAE,MAAM;aAClB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;YAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;gBAC1C,eAAe,EAAE,aAAa;gBAC9B,SAAS,EAAE,MAAM;aAClB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;gBAC1C,eAAe,EAAE,MAAM;gBACvB,SAAS,EAAE,aAAa;aACzB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;gBACvC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;aACjD,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;YAErE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,cAAc,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YAE9D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAE/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,cAAc,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YAE5C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAE9E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAC5E,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACpD,SAAS,EAAE,CAAA;gBACX,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;gBACnD,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,CAAA;YACjD,CAAC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE;gBACpD,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE;gBAClD,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gBAAgB;aAC9B,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;gBAC5C,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iBAAiB;aAC/B,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;gBAC5C,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;aACzC,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;gBAC1C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;YAC3B,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACpD,SAAS,EAAE,CAAA;gBACX,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;gBACjD,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,CAAA;YACjD,CAAC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;gBAC1C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAE9E,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAA;IAErD,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;CAoBzB,CAAA;IAEC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YACzF,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE;gBAChD,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,cAAc;aACtB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAEvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YACzF,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE;gBAChD,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YACzF,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE;gBAChD,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YAC1F,kBAAkB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAEnD,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;aAC9C,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;YAElE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YAC1F,kBAAkB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAEnD,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE;gBACjD,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC5B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YACjF,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;gBACxC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,cAAc;gBACrB,SAAS,EAAE,2BAA2B;aACvC,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAEvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAA;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YACjF,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;gBACxC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;aACzC,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAErC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAW,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;YAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAE9E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAE/F,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE;gBAC5C,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,CAAC,cAAc,CAAC;aACzB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QACjG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;YAE9D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE;gBAC5C,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,CAAC,cAAc,CAAC;aACzB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;YAEzE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;YAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;YAEhE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;YAE5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAE3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAE9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;YAEhE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAE9D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=developer-read-only.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"developer-read-only.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/developer-read-only.test.ts"],"names":[],"mappings":""}