@elaraai/e3-api-tests 0.0.2-beta.30 → 0.0.2-beta.32

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 (42) hide show
  1. package/README.md +23 -21
  2. package/dist/src/index.d.ts +18 -23
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +13 -47
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/setup.d.ts +11 -0
  7. package/dist/src/setup.d.ts.map +1 -0
  8. package/dist/src/setup.js +6 -0
  9. package/dist/src/setup.js.map +1 -0
  10. package/dist/src/suites/cli.d.ts +3 -2
  11. package/dist/src/suites/cli.d.ts.map +1 -1
  12. package/dist/src/suites/cli.js +47 -37
  13. package/dist/src/suites/cli.js.map +1 -1
  14. package/dist/src/suites/dataflow.d.ts +3 -2
  15. package/dist/src/suites/dataflow.d.ts.map +1 -1
  16. package/dist/src/suites/dataflow.js +128 -206
  17. package/dist/src/suites/dataflow.js.map +1 -1
  18. package/dist/src/suites/datasets.d.ts +3 -2
  19. package/dist/src/suites/datasets.d.ts.map +1 -1
  20. package/dist/src/suites/datasets.js +22 -22
  21. package/dist/src/suites/datasets.js.map +1 -1
  22. package/dist/src/suites/packages.d.ts +3 -2
  23. package/dist/src/suites/packages.d.ts.map +1 -1
  24. package/dist/src/suites/packages.js +24 -25
  25. package/dist/src/suites/packages.js.map +1 -1
  26. package/dist/src/suites/platform.d.ts +3 -2
  27. package/dist/src/suites/platform.d.ts.map +1 -1
  28. package/dist/src/suites/platform.js +21 -21
  29. package/dist/src/suites/platform.js.map +1 -1
  30. package/dist/src/suites/repository.d.ts +3 -2
  31. package/dist/src/suites/repository.d.ts.map +1 -1
  32. package/dist/src/suites/repository.js +19 -19
  33. package/dist/src/suites/repository.js.map +1 -1
  34. package/dist/src/suites/transfer.d.ts +3 -2
  35. package/dist/src/suites/transfer.d.ts.map +1 -1
  36. package/dist/src/suites/transfer.js +43 -36
  37. package/dist/src/suites/transfer.js.map +1 -1
  38. package/dist/src/suites/workspaces.d.ts +3 -2
  39. package/dist/src/suites/workspaces.d.ts.map +1 -1
  40. package/dist/src/suites/workspaces.js +31 -42
  41. package/dist/src/suites/workspaces.js.map +1 -1
  42. package/package.json +1 -1
@@ -14,12 +14,12 @@ import { repoStatus, repoGc, repoCreate, repoRemove, repoList, packageRemove, da
14
14
  /**
15
15
  * Register repository operation tests.
16
16
  *
17
- * @param getContext - Function that returns the current test context
17
+ * @param setup - Factory that creates a fresh test context per test
18
18
  */
19
- export function repositoryTests(getContext) {
20
- describe('repository', () => {
21
- it('repoStatus returns repository info', async () => {
22
- const ctx = getContext();
19
+ export function repositoryTests(setup) {
20
+ describe('repository', { concurrency: true }, () => {
21
+ it('repoStatus returns repository info', async (t) => {
22
+ const ctx = await setup(t);
23
23
  const opts = await ctx.opts();
24
24
  const status = await repoStatus(ctx.config.baseUrl, ctx.repoName, opts);
25
25
  assert.ok(typeof status.path === 'string' && status.path.length > 0, 'path should be a non-empty string');
@@ -27,8 +27,8 @@ export function repositoryTests(getContext) {
27
27
  assert.ok(typeof status.packageCount === 'bigint');
28
28
  assert.ok(typeof status.workspaceCount === 'bigint');
29
29
  });
30
- it('repoGc with dryRun returns stats', async () => {
31
- const ctx = getContext();
30
+ it('repoGc with dryRun returns stats', async (t) => {
31
+ const ctx = await setup(t);
32
32
  const opts = await ctx.opts();
33
33
  const result = await repoGc(ctx.config.baseUrl, ctx.repoName, { dryRun: true, minAge: variant('none', null) }, opts);
34
34
  // Empty repo - nothing to delete or skip
@@ -38,8 +38,8 @@ export function repositoryTests(getContext) {
38
38
  assert.ok(result.skippedYoung >= 0n, 'skippedYoung should be reported');
39
39
  assert.ok(result.bytesFreed >= 0n);
40
40
  });
41
- it('repoGc runs garbage collection', async () => {
42
- const ctx = getContext();
41
+ it('repoGc runs garbage collection', async (t) => {
42
+ const ctx = await setup(t);
43
43
  const opts = await ctx.opts();
44
44
  // Import a package then remove it to create garbage
45
45
  const zipPath = await ctx.createPackage('gc-test-pkg', '1.0.0');
@@ -53,8 +53,8 @@ export function repositoryTests(getContext) {
53
53
  assert.ok(typeof result.retainedObjects === 'bigint');
54
54
  assert.ok(typeof result.skippedYoung === 'bigint', 'skippedYoung should be reported');
55
55
  });
56
- it('repoGc retains execution outputs after dataflow', async () => {
57
- const ctx = getContext();
56
+ it('repoGc retains execution outputs after dataflow', async (t) => {
57
+ const ctx = await setup(t);
58
58
  const opts = await ctx.opts();
59
59
  // Import package, create workspace, deploy, run dataflow
60
60
  const zipPath = await ctx.createPackage('gc-exec-pkg', '1.0.0');
@@ -76,8 +76,8 @@ export function repositoryTests(getContext) {
76
76
  const statusAfter = await repoStatus(ctx.config.baseUrl, ctx.repoName, opts);
77
77
  assert.strictEqual(statusAfter.objectCount, statusBefore.objectCount, 'object count should be unchanged after GC');
78
78
  });
79
- it('repoCreate creates a new repository', async () => {
80
- const ctx = getContext();
79
+ it('repoCreate creates a new repository', async (t) => {
80
+ const ctx = await setup(t);
81
81
  const opts = await ctx.opts();
82
82
  const newRepoName = `create-test-${Date.now()}`;
83
83
  try {
@@ -98,8 +98,8 @@ export function repositoryTests(getContext) {
98
98
  }
99
99
  }
100
100
  });
101
- it('repoRemove removes an existing repository', async () => {
102
- const ctx = getContext();
101
+ it('repoRemove removes an existing repository', async (t) => {
102
+ const ctx = await setup(t);
103
103
  const opts = await ctx.opts();
104
104
  const tempRepoName = `remove-test-${Date.now()}`;
105
105
  // Create a repo to delete
@@ -113,8 +113,8 @@ export function repositoryTests(getContext) {
113
113
  await repoCreate(ctx.config.baseUrl, tempRepoName, opts);
114
114
  await repoRemove(ctx.config.baseUrl, tempRepoName, opts); // Clean up
115
115
  });
116
- it('repoList returns array containing test repository', async () => {
117
- const ctx = getContext();
116
+ it('repoList returns array containing test repository', async (t) => {
117
+ const ctx = await setup(t);
118
118
  const opts = await ctx.opts();
119
119
  const repos = await repoList(ctx.config.baseUrl, opts);
120
120
  // Verify response structure
@@ -126,8 +126,8 @@ export function repositoryTests(getContext) {
126
126
  // Note: Other repos may exist (shared server, parallel tests) - only check ours is present
127
127
  assert.ok(repos.includes(ctx.repoName), `test repo '${ctx.repoName}' should be in the list`);
128
128
  });
129
- it('repoList includes newly created repository', async () => {
130
- const ctx = getContext();
129
+ it('repoList includes newly created repository', async (t) => {
130
+ const ctx = await setup(t);
131
131
  const opts = await ctx.opts();
132
132
  const newRepoName = `list-test-${Date.now()}`;
133
133
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/suites/repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAA6B;IAC3D,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAExE,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAC1G,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,QAAQ,EACZ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAC/C,IAAI,CACL,CAAC;YAEF,yCAAyC;YACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;YACxE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,oDAAoD;YACpD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAEjC,0DAA0D;YAC1D,MAAM,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAEpF,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,QAAQ,EACZ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAChD,IAAI,CACL,CAAC;YAEF,2EAA2E;YAC3E,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,yDAAyD;YACzD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YAE3D,8DAA8D;YAC9D,MAAM,eAAe,CACnB,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,EAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAC/D,CAAC;YAEF,8CAA8C;YAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9E,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,yCAAyC,CAAC,CAAC;YAEpF,8EAA8E;YAC9E,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAChC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAC9C,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAC7B,CAAC;YAEF,iEAAiE;YACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAClF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,4CAA4C,CAAC,CAAC;YAE1F,wDAAwD;YACxD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7E,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,EAClE,2CAA2C,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEhD,IAAI,CAAC;gBACH,4BAA4B;gBAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBACvE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAExC,qCAAqC;gBACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBACvE,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAC5G,CAAC;oBAAS,CAAC;gBACT,WAAW;gBACX,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEjD,0BAA0B;YAC1B,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAEzD,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACxE,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAErE,4CAA4C;YAC5C,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAEzD,wFAAwF;YACxF,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEvD,4BAA4B;YAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,iCAAiC,CAAC,CAAC;YACnE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,wCAAwC,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YAEH,sCAAsC;YACtC,2FAA2F;YAC3F,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,CAAC,QAAQ,yBAAyB,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAE9C,IAAI,CAAC;gBACH,oBAAoB;gBACpB,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBAExD,6BAA6B;gBAC7B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACvD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,WAAW,yBAAyB,CAAC,CAAC;YACtG,CAAC;oBAAS,CAAC;gBACT,WAAW;gBACX,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/suites/repository.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  import type { TestContext } from '../context.js';
6
+ import type { TestSetup } from '../setup.js';
6
7
  /**
7
8
  * Register cross-repository transfer tests.
8
9
  *
@@ -10,8 +11,8 @@ import type { TestContext } from '../context.js';
10
11
  * repository and imported into another, covering both local-to-remote and
11
12
  * remote-to-local scenarios.
12
13
  *
13
- * @param getContext - Function that returns the current test context
14
+ * @param setup - Factory that creates a fresh test context per test
14
15
  * @param getCredentialsEnv - Function that returns env vars for auth (E3_CREDENTIALS_PATH, etc.)
15
16
  */
16
- export declare function transferTests(getContext: () => TestContext, getCredentialsEnv: () => Record<string, string>): void;
17
+ export declare function transferTests(setup: TestSetup<TestContext>, getCredentialsEnv: () => Record<string, string>): void;
17
18
  //# sourceMappingURL=transfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/suites/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAuBjD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,WAAW,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAijBN"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/suites/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuB7C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,EAC7B,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAujBN"}
@@ -9,7 +9,7 @@
9
9
  * and importing them into another. Covers local filesystem ↔ remote
10
10
  * (e3-api-server) transfers.
11
11
  */
12
- import { describe, it, beforeEach } from 'node:test';
12
+ import { describe, it } from 'node:test';
13
13
  import assert from 'node:assert/strict';
14
14
  import { mkdirSync, rmSync, writeFileSync, existsSync } from 'node:fs';
15
15
  import { join } from 'node:path';
@@ -37,22 +37,22 @@ async function createLocalTestRepo(tempDir) {
37
37
  * repository and imported into another, covering both local-to-remote and
38
38
  * remote-to-local scenarios.
39
39
  *
40
- * @param getContext - Function that returns the current test context
40
+ * @param setup - Factory that creates a fresh test context per test
41
41
  * @param getCredentialsEnv - Function that returns env vars for auth (E3_CREDENTIALS_PATH, etc.)
42
42
  */
43
- export function transferTests(getContext, getCredentialsEnv) {
44
- describe('transfer', () => {
45
- let remoteUrl;
46
- let workDir;
47
- beforeEach(async () => {
48
- const ctx = getContext();
49
- remoteUrl = `${ctx.config.baseUrl}/repos/${ctx.repoName}`;
50
- workDir = join(ctx.tempDir, 'transfer-work');
51
- mkdirSync(workDir, { recursive: true });
52
- });
53
- describe('package transfer', () => {
54
- it('exports package from local repo and imports to remote', async () => {
55
- const ctx = getContext();
43
+ export function transferTests(setup, getCredentialsEnv) {
44
+ const withTransfer = async (t) => {
45
+ const ctx = await setup(t);
46
+ const remoteUrl = `${ctx.config.baseUrl}/repos/${ctx.repoName}`;
47
+ const workDir = join(ctx.tempDir, 'transfer-work');
48
+ mkdirSync(workDir, { recursive: true });
49
+ return Object.assign(ctx, { remoteUrl, workDir });
50
+ };
51
+ describe('transfer', { concurrency: true }, () => {
52
+ describe('package transfer', { concurrency: true }, () => {
53
+ it('exports package from local repo and imports to remote', async (t) => {
54
+ const ctx = await withTransfer(t);
55
+ const { remoteUrl, workDir } = ctx;
56
56
  const env = getCredentialsEnv();
57
57
  const { path: localRepo, cleanup } = await createLocalTestRepo(ctx.tempDir);
58
58
  const exportZip = join(ctx.tempDir, `export-local-to-remote-${Date.now()}.zip`);
@@ -87,8 +87,9 @@ export function transferTests(getContext, getCredentialsEnv) {
87
87
  cleanup();
88
88
  }
89
89
  });
90
- it('exports package from remote repo and imports to local', async () => {
91
- const ctx = getContext();
90
+ it('exports package from remote repo and imports to local', async (t) => {
91
+ const ctx = await withTransfer(t);
92
+ const { remoteUrl, workDir } = ctx;
92
93
  const env = getCredentialsEnv();
93
94
  const { path: localRepo, cleanup } = await createLocalTestRepo(ctx.tempDir);
94
95
  const exportZip = join(ctx.tempDir, `export-remote-to-local-${Date.now()}.zip`);
@@ -122,9 +123,10 @@ export function transferTests(getContext, getCredentialsEnv) {
122
123
  }
123
124
  });
124
125
  });
125
- describe('workspace transfer', () => {
126
- it('exports workspace from local repo and imports as package to remote', async () => {
127
- const ctx = getContext();
126
+ describe('workspace transfer', { concurrency: true }, () => {
127
+ it('exports workspace from local repo and imports as package to remote', async (t) => {
128
+ const ctx = await withTransfer(t);
129
+ const { remoteUrl, workDir } = ctx;
128
130
  const env = getCredentialsEnv();
129
131
  const { path: localRepo, cleanup } = await createLocalTestRepo(ctx.tempDir);
130
132
  const exportZip = join(ctx.tempDir, `export-ws-local-to-remote-${Date.now()}.zip`);
@@ -190,10 +192,11 @@ export function transferTests(getContext, getCredentialsEnv) {
190
192
  cleanup();
191
193
  }
192
194
  });
193
- it('exports workspace from remote repo and imports as package to local', async () => {
195
+ it('exports workspace from remote repo and imports as package to local', async (t) => {
194
196
  // NOTE: Remote workspace export does not support --name/--version options.
195
197
  // The version is auto-generated as <pkgVersion>-<rootHash[0:8]>.
196
- const ctx = getContext();
198
+ const ctx = await withTransfer(t);
199
+ const { remoteUrl, workDir } = ctx;
197
200
  const env = getCredentialsEnv();
198
201
  const { path: localRepo, cleanup } = await createLocalTestRepo(ctx.tempDir);
199
202
  const exportZip = join(ctx.tempDir, `export-ws-remote-to-local-${Date.now()}.zip`);
@@ -252,9 +255,10 @@ export function transferTests(getContext, getCredentialsEnv) {
252
255
  }
253
256
  });
254
257
  });
255
- describe('round-trip', () => {
256
- it('round-trip local -> remote -> local preserves data integrity', async () => {
257
- const ctx = getContext();
258
+ describe('round-trip', { concurrency: true }, () => {
259
+ it('round-trip local -> remote -> local preserves data integrity', async (t) => {
260
+ const ctx = await withTransfer(t);
261
+ const { remoteUrl, workDir } = ctx;
258
262
  const env = getCredentialsEnv();
259
263
  const { path: localRepo1, cleanup: cleanup1 } = await createLocalTestRepo(ctx.tempDir);
260
264
  const { path: localRepo2, cleanup: cleanup2 } = await createLocalTestRepo(ctx.tempDir);
@@ -340,10 +344,10 @@ export function transferTests(getContext, getCredentialsEnv) {
340
344
  }
341
345
  });
342
346
  });
343
- describe('execution logs', () => {
344
- it('exports workspace with execution logs and imports them', async () => {
345
- const ctx = getContext();
346
- const env = getCredentialsEnv();
347
+ describe('execution logs', { concurrency: true }, () => {
348
+ it('exports workspace with execution logs and imports them', async (t) => {
349
+ const ctx = await withTransfer(t);
350
+ const { workDir } = ctx;
347
351
  const { path: localRepo1, cleanup: cleanup1 } = await createLocalTestRepo(ctx.tempDir);
348
352
  const { path: localRepo2, cleanup: cleanup2 } = await createLocalTestRepo(ctx.tempDir);
349
353
  const exportZip = join(ctx.tempDir, `export-with-logs-${Date.now()}.zip`);
@@ -393,8 +397,9 @@ export function transferTests(getContext, getCredentialsEnv) {
393
397
  cleanup2();
394
398
  }
395
399
  });
396
- it('preserves execution logs through remote transfer', async () => {
397
- const ctx = getContext();
400
+ it('preserves execution logs through remote transfer', async (t) => {
401
+ const ctx = await withTransfer(t);
402
+ const { remoteUrl, workDir } = ctx;
398
403
  const env = getCredentialsEnv();
399
404
  const { path: localRepo, cleanup } = await createLocalTestRepo(ctx.tempDir);
400
405
  const exportZip1 = join(ctx.tempDir, `remote-logs-1-${Date.now()}.zip`);
@@ -450,9 +455,10 @@ export function transferTests(getContext, getCredentialsEnv) {
450
455
  }
451
456
  });
452
457
  });
453
- describe('error handling', () => {
454
- it('returns error when exporting non-existent package', async () => {
455
- const ctx = getContext();
458
+ describe('error handling', { concurrency: true }, () => {
459
+ it('returns error when exporting non-existent package', async (t) => {
460
+ const ctx = await withTransfer(t);
461
+ const { remoteUrl, workDir } = ctx;
456
462
  const env = getCredentialsEnv();
457
463
  const exportZip = join(ctx.tempDir, `nonexistent-export-${Date.now()}.zip`);
458
464
  const result = await runE3Command(['package', 'export', remoteUrl, 'nonexistent-pkg@99.99.99', exportZip], workDir, { env });
@@ -462,8 +468,9 @@ export function transferTests(getContext, getCredentialsEnv) {
462
468
  result.stderr.includes('does not exist') ||
463
469
  result.stderr.includes('No such'), `Expected error message about package not found, got: ${result.stderr}`);
464
470
  });
465
- it('returns error when importing invalid zip', async () => {
466
- const ctx = getContext();
471
+ it('returns error when importing invalid zip', async (t) => {
472
+ const ctx = await withTransfer(t);
473
+ const { remoteUrl, workDir } = ctx;
467
474
  const env = getCredentialsEnv();
468
475
  const invalidZip = join(ctx.tempDir, `invalid-${Date.now()}.zip`);
469
476
  // Create an invalid zip file
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/suites/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAIhD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,UAA6B,EAC7B,iBAA+C;IAE/C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QAEpB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;YACzB,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEhF,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBAChF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;oBAE/D,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1G,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzG,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEhF,IAAI,CAAC;oBACH,mCAAmC;oBACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBAChF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,6BAA6B;oBAC7B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0BAA0B;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;oBAE/D,wCAAwC;oBACxC,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAE/C,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;oBACnF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,iCAAiC;oBACjC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAChE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,oCAAoC;oBACpC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,kDAAkD;oBAClD,4EAA4E;oBAC5E,+DAA+D;oBAC/D,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC9E,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,EACf,CAAC,EACD,qCAAqC,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,eAAe,SAAS,EAAE,CACjI,CAAC;oBAEF,iCAAiC;oBACjC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,kCAAkC,SAAS,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjH,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,yEAAyE;oBACzE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;oBAErD,wDAAwD;oBACxD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1F,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAEvC,8DAA8D;oBAC9D,MAAM,YAAY,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACnD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,mCAAmC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3F,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC/G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,2EAA2E;gBAC3E,iEAAiE;gBACjE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAEhD,IAAI,CAAC;oBACH,mCAAmC;oBACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;oBACnF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,iCAAiC;oBACjC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACvE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,kDAAkD;oBAClD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,0BAA0B;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,sEAAsE;oBACtE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;oBAE7D,uDAAuD;oBACvD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAClF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;oBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAClD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBACtF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1F,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;oBACtG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,gDAAgD;oBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;oBACxF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBACxE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE/E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAChG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc;oBAEjD,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEvE,IAAI,CAAC;oBACH,4CAA4C;oBAC5C,+EAA+E;oBAC/E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACjF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,wCAAwC;oBACxC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,4DAA4D;oBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACxD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACxD,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;oBAE/E,oFAAoF;oBACpF,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAClF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,sBAAsB;oBACtB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,yCAAyC;oBACzC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACtF,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/F,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBAEjD,sBAAsB;oBACtB,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC3C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;oBAExE,wBAAwB;oBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,4BAA4B;oBAC5B,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,yBAAyB;oBACzB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;oBAEvE,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBAErE,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;oBAE/E,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC;wBAAS,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAEvC,IAAI,CAAC;oBACH,+CAA+C;oBAC/C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBACxE,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,4DAA4D;oBAC5D,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,qCAAqC;oBACrC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,sDAAsD;oBACtD,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,EACjF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,yCAAyC;oBACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxF,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,2CAA2C;oBAC3C,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACzC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEtF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,+CAA+C;oBAC/C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;oBACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3E,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;wBAAS,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAE9C,IAAI,CAAC;oBACH,8CAA8C;oBAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;oBAC/E,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC1G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,EACjF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,sBAAsB;oBACtB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,yCAAyC;oBACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxF,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,wBAAwB;oBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvF,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;wBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBAElF,oBAAoB;wBACpB,MAAM,OAAO,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;wBACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACpC,CAAC;4BAAS,CAAC;wBACT,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE5E,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAA0B,EAAE,SAAS,CAAC,EACvE,OAAO,EACP,EAAE,GAAG,EAAE,CACR,CAAC;gBAEF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBAClF,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EACnC,wDAAwD,MAAM,CAAC,MAAM,EAAE,CACxE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;gBACxD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAElE,6BAA6B;gBAC7B,aAAa,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;gBAElD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAElG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBACzE,kEAAkE;gBAClE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EACjD,gDAAgD,CACjD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/suites/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAIhD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,KAA6B,EAC7B,iBAA+C;IAE/C,MAAM,YAAY,GAAoE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,QAAQ,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;QAC/C,QAAQ,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACvD,EAAE,CAAC,uDAAuD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEhF,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBAChF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;oBAE/D,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1G,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzG,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEhF,IAAI,CAAC;oBACH,mCAAmC;oBACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBAChF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,6BAA6B;oBAC7B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0BAA0B;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;oBAE/D,wCAAwC;oBACxC,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACzD,EAAE,CAAC,oEAAoE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAE/C,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;oBACnF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,iCAAiC;oBACjC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAChE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,oCAAoC;oBACpC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,kDAAkD;oBAClD,4EAA4E;oBAC5E,+DAA+D;oBAC/D,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC9E,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,EACf,CAAC,EACD,qCAAqC,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,eAAe,SAAS,EAAE,CACjI,CAAC;oBAEF,iCAAiC;oBACjC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,kCAAkC,SAAS,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjH,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,yEAAyE;oBACzE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;oBAErD,wDAAwD;oBACxD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1F,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAEvC,8DAA8D;oBAC9D,MAAM,YAAY,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACnD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,mCAAmC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3F,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC/G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnF,2EAA2E;gBAC3E,iEAAiE;gBACjE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAEhD,IAAI,CAAC;oBACH,mCAAmC;oBACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;oBACnF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,iCAAiC;oBACjC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACvE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvE,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,kDAAkD;oBAClD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,0BAA0B;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,sEAAsE;oBACtE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;oBAE7D,uDAAuD;oBACvD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAClF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;oBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAClD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBACtF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1F,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;oBACtG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,gDAAgD;oBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;oBACxF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBACxE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE/E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAChG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc;oBAEjD,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACjD,EAAE,CAAC,8DAA8D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC7E,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEvE,IAAI,CAAC;oBACH,4CAA4C;oBAC5C,+EAA+E;oBAC/E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACjF,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,wCAAwC;oBACxC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,4DAA4D;oBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACxD,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACxD,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC1B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;oBAE/E,oFAAoF;oBACpF,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAClF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,sBAAsB;oBACtB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,yCAAyC;oBACzC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACtF,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/F,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBAEjD,sBAAsB;oBACtB,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC3C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;oBAExE,wBAAwB;oBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,4BAA4B;oBAC5B,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,yBAAyB;oBACzB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;oBAEvE,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,kCAAkC,CAAC,CAAC;oBAErE,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;oBAE/E,UAAU;oBACV,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC;wBAAS,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACrD,EAAE,CAAC,wDAAwD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACvE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACxB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAEvC,IAAI,CAAC;oBACH,+CAA+C;oBAC/C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBACxE,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,4DAA4D;oBAC5D,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEzE,qCAAqC;oBACrC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAElC,sDAAsD;oBACtD,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,EACjF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEpF,4BAA4B;oBAC5B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAElF,yCAAyC;oBACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxF,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,2CAA2C;oBAC3C,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACzC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEtF,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE5E,+CAA+C;oBAC/C,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;oBACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE3E,2BAA2B;oBAC3B,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;wBAAS,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACjE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAE9C,IAAI,CAAC;oBACH,8CAA8C;oBAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;oBAC/E,IAAI,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC1G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEvC,gCAAgC;oBAChC,MAAM,GAAG,MAAM,YAAY,CACzB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,EACjF,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE1E,sBAAsB;oBACtB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,yCAAyC;oBACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC5E,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,gDAAgD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxF,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEtC,wBAAwB;oBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5G,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvF,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;wBACpF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBAElF,oBAAoB;wBACpB,MAAM,OAAO,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBAChD,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;wBACnG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;wBACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBAEvC,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACpC,CAAC;4BAAS,CAAC;wBACT,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACrD,EAAE,CAAC,mDAAmD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE5E,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAA0B,EAAE,SAAS,CAAC,EACvE,OAAO,EACP,EAAE,GAAG,EAAE,CACR,CAAC;gBAEF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBAClF,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EACnC,wDAAwD,MAAM,CAAC,MAAM,EAAE,CACxE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACzD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAElE,6BAA6B;gBAC7B,aAAa,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;gBAElD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAElG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBACzE,kEAAkE;gBAClE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EACjD,gDAAgD,CACjD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -3,10 +3,11 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  import type { TestContext } from '../context.js';
6
+ import type { TestSetup } from '../setup.js';
6
7
  /**
7
8
  * Register workspace operation tests.
8
9
  *
9
- * @param getContext - Function that returns the current test context
10
+ * @param setup - Factory that creates a fresh test context per test
10
11
  */
11
- export declare function workspaceTests(getContext: () => TestContext): void;
12
+ export declare function workspaceTests(setup: TestSetup<TestContext>): void;
12
13
  //# sourceMappingURL=workspaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/suites/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAkIlE"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/suites/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CA0HlE"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Tests: create, list, get, status, deploy, remove
9
9
  */
10
- import { describe, it, beforeEach } from 'node:test';
10
+ import { describe, it } from 'node:test';
11
11
  import assert from 'node:assert/strict';
12
12
  import { readFileSync } from 'node:fs';
13
13
  import { packageImport, workspaceList, workspaceCreate, workspaceGet, workspaceStatus, workspaceRemove, workspaceDeploy, taskList, taskGet, dataflowGraph, } from '@elaraai/e3-api-client';
@@ -15,18 +15,28 @@ import { createPackageZip } from '../fixtures.js';
15
15
  /**
16
16
  * Register workspace operation tests.
17
17
  *
18
- * @param getContext - Function that returns the current test context
18
+ * @param setup - Factory that creates a fresh test context per test
19
19
  */
20
- export function workspaceTests(getContext) {
21
- describe('workspaces', () => {
22
- it('workspaceList returns empty initially', async () => {
23
- const ctx = getContext();
20
+ export function workspaceTests(setup) {
21
+ const withDeployedPackage = async (t) => {
22
+ const ctx = await setup(t);
23
+ const opts = await ctx.opts();
24
+ const zipPath = await createPackageZip(ctx.tempDir, 'compute-pkg', '1.0.0');
25
+ const packageZip = readFileSync(zipPath);
26
+ await packageImport(ctx.config.baseUrl, ctx.repoName, packageZip, opts);
27
+ await workspaceCreate(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
28
+ await workspaceDeploy(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', 'compute-pkg@1.0.0', opts);
29
+ return ctx;
30
+ };
31
+ describe('workspaces', { concurrency: true }, () => {
32
+ it('workspaceList returns empty initially', async (t) => {
33
+ const ctx = await setup(t);
24
34
  const opts = await ctx.opts();
25
35
  const workspaces = await workspaceList(ctx.config.baseUrl, ctx.repoName, opts);
26
36
  assert.deepStrictEqual(workspaces, []);
27
37
  });
28
- it('workspaceCreate and workspaceList round-trip', async () => {
29
- const ctx = getContext();
38
+ it('workspaceCreate and workspaceList round-trip', async (t) => {
39
+ const ctx = await setup(t);
30
40
  const opts = await ctx.opts();
31
41
  const info = await workspaceCreate(ctx.config.baseUrl, ctx.repoName, 'test-ws', opts);
32
42
  assert.strictEqual(info.name, 'test-ws');
@@ -37,8 +47,8 @@ export function workspaceTests(getContext) {
37
47
  // Clean up
38
48
  await workspaceRemove(ctx.config.baseUrl, ctx.repoName, 'test-ws', opts);
39
49
  });
40
- it('workspaceRemove deletes workspace', async () => {
41
- const ctx = getContext();
50
+ it('workspaceRemove deletes workspace', async (t) => {
51
+ const ctx = await setup(t);
42
52
  const opts = await ctx.opts();
43
53
  await workspaceCreate(ctx.config.baseUrl, ctx.repoName, 'to-delete', opts);
44
54
  let workspaces = await workspaceList(ctx.config.baseUrl, ctx.repoName, opts);
@@ -47,38 +57,17 @@ export function workspaceTests(getContext) {
47
57
  workspaces = await workspaceList(ctx.config.baseUrl, ctx.repoName, opts);
48
58
  assert.strictEqual(workspaces.length, 0);
49
59
  });
50
- describe('with deployed package', () => {
51
- beforeEach(async () => {
52
- const ctx = getContext();
53
- const opts = await ctx.opts();
54
- // Create and import a test package (idempotent - may already exist)
55
- const zipPath = await createPackageZip(ctx.tempDir, 'compute-pkg', '1.0.0');
56
- const packageZip = readFileSync(zipPath);
57
- try {
58
- await packageImport(ctx.config.baseUrl, ctx.repoName, packageZip, opts);
59
- }
60
- catch {
61
- // Package may already exist from previous test
62
- }
63
- // Create workspace and deploy (idempotent - may already exist)
64
- try {
65
- await workspaceCreate(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
66
- }
67
- catch {
68
- // Workspace may already exist from previous test
69
- }
70
- await workspaceDeploy(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', 'compute-pkg@1.0.0', opts);
71
- });
72
- it('workspaceGet returns deployed state', async () => {
73
- const ctx = getContext();
60
+ describe('with deployed package', { concurrency: true }, () => {
61
+ it('workspaceGet returns deployed state', async (t) => {
62
+ const ctx = await withDeployedPackage(t);
74
63
  const opts = await ctx.opts();
75
64
  const state = await workspaceGet(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
76
65
  assert.ok(state !== null);
77
66
  assert.strictEqual(state.packageName, 'compute-pkg');
78
67
  assert.strictEqual(state.packageVersion, '1.0.0');
79
68
  });
80
- it('workspaceStatus returns datasets and tasks', async () => {
81
- const ctx = getContext();
69
+ it('workspaceStatus returns datasets and tasks', async (t) => {
70
+ const ctx = await withDeployedPackage(t);
82
71
  const opts = await ctx.opts();
83
72
  const status = await workspaceStatus(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
84
73
  assert.strictEqual(status.workspace, 'deployed-ws');
@@ -90,8 +79,8 @@ export function workspaceTests(getContext) {
90
79
  // Summary should match
91
80
  assert.strictEqual(status.summary.tasks.total, 1n);
92
81
  });
93
- it('taskList returns task info', async () => {
94
- const ctx = getContext();
82
+ it('taskList returns task info', async (t) => {
83
+ const ctx = await withDeployedPackage(t);
95
84
  const opts = await ctx.opts();
96
85
  const tasks = await taskList(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
97
86
  assert.ok(Array.isArray(tasks));
@@ -100,8 +89,8 @@ export function workspaceTests(getContext) {
100
89
  assert.ok(computeTask, 'should have compute task');
101
90
  assert.ok(computeTask.hash.length > 0);
102
91
  });
103
- it('taskGet returns task details', async () => {
104
- const ctx = getContext();
92
+ it('taskGet returns task details', async (t) => {
93
+ const ctx = await withDeployedPackage(t);
105
94
  const opts = await ctx.opts();
106
95
  const task = await taskGet(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', 'compute', opts);
107
96
  assert.strictEqual(task.name, 'compute');
@@ -109,8 +98,8 @@ export function workspaceTests(getContext) {
109
98
  assert.ok(Array.isArray(task.inputs));
110
99
  assert.ok(task.output);
111
100
  });
112
- it('dataflowGraph returns dependency graph', async () => {
113
- const ctx = getContext();
101
+ it('dataflowGraph returns dependency graph', async (t) => {
102
+ const ctx = await withDeployedPackage(t);
114
103
  const opts = await ctx.opts();
115
104
  const graph = await dataflowGraph(ctx.config.baseUrl, ctx.repoName, 'deployed-ws', opts);
116
105
  assert.ok(Array.isArray(graph.tasks));