flatsql 3.11.0 → 3.12.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 (181) hide show
  1. package/README.md +61 -795
  2. package/bin/flatsql.mjs +76 -0
  3. package/cpp/README.md +18 -0
  4. package/cpp/include/flatsql/flatsql.h +162 -0
  5. package/cpp/include/flatsql/flatsql_io.h +159 -0
  6. package/docs/API-3.12.md +114 -0
  7. package/package.json +28 -123
  8. package/wasm/flatsql.wasm +0 -0
  9. package/wasm/index.d.ts +61 -548
  10. package/wasm/index.js +280 -1281
  11. package/wasm/integrity.json +6 -26
  12. package/wasm/runtime/LICENSE.sdk.txt +190 -0
  13. package/wasm/runtime/NOTICE.txt +2 -0
  14. package/wasm/runtime/browser-guest.mjs +1 -0
  15. package/wasm/runtime/browser-host.mjs +1 -0
  16. package/wasm/runtime/node-guest.mjs +2 -0
  17. package/wasm/runtime/node-host.mjs +5 -0
  18. package/wasm/runtime/opfsIoWorker.mjs +1 -0
  19. package/wasm/runtime/wasiThreadBrowserWorker.mjs +1 -0
  20. package/dist/artifacts/index.d.ts +0 -3
  21. package/dist/artifacts/index.d.ts.map +0 -1
  22. package/dist/artifacts/index.js +0 -3
  23. package/dist/artifacts/index.js.map +0 -1
  24. package/dist/artifacts/transport.d.ts +0 -5
  25. package/dist/artifacts/transport.d.ts.map +0 -1
  26. package/dist/artifacts/transport.js +0 -45
  27. package/dist/artifacts/transport.js.map +0 -1
  28. package/dist/artifacts/types.d.ts +0 -34
  29. package/dist/artifacts/types.d.ts.map +0 -1
  30. package/dist/artifacts/types.js +0 -2
  31. package/dist/artifacts/types.js.map +0 -1
  32. package/dist/btree/btree.d.ts +0 -34
  33. package/dist/btree/btree.d.ts.map +0 -1
  34. package/dist/btree/btree.js +0 -234
  35. package/dist/btree/btree.js.map +0 -1
  36. package/dist/btree/index.d.ts +0 -3
  37. package/dist/btree/index.d.ts.map +0 -1
  38. package/dist/btree/index.js +0 -3
  39. package/dist/btree/index.js.map +0 -1
  40. package/dist/btree/types.d.ts +0 -36
  41. package/dist/btree/types.d.ts.map +0 -1
  42. package/dist/btree/types.js +0 -55
  43. package/dist/btree/types.js.map +0 -1
  44. package/dist/cluster/index.d.ts +0 -11
  45. package/dist/cluster/index.d.ts.map +0 -1
  46. package/dist/cluster/index.js +0 -59
  47. package/dist/cluster/index.js.map +0 -1
  48. package/dist/response/artifact.d.ts +0 -4
  49. package/dist/response/artifact.d.ts.map +0 -1
  50. package/dist/response/artifact.js +0 -102
  51. package/dist/response/artifact.js.map +0 -1
  52. package/dist/response/cache-key.d.ts +0 -6
  53. package/dist/response/cache-key.d.ts.map +0 -1
  54. package/dist/response/cache-key.js +0 -114
  55. package/dist/response/cache-key.js.map +0 -1
  56. package/dist/response/index.d.ts +0 -5
  57. package/dist/response/index.d.ts.map +0 -1
  58. package/dist/response/index.js +0 -5
  59. package/dist/response/index.js.map +0 -1
  60. package/dist/response/memory-cache.d.ts +0 -17
  61. package/dist/response/memory-cache.d.ts.map +0 -1
  62. package/dist/response/memory-cache.js +0 -76
  63. package/dist/response/memory-cache.js.map +0 -1
  64. package/dist/response/types.d.ts +0 -57
  65. package/dist/response/types.d.ts.map +0 -1
  66. package/dist/response/types.js +0 -2
  67. package/dist/response/types.js.map +0 -1
  68. package/dist/schema/index.d.ts +0 -3
  69. package/dist/schema/index.d.ts.map +0 -1
  70. package/dist/schema/index.js +0 -3
  71. package/dist/schema/index.js.map +0 -1
  72. package/dist/schema/parser.d.ts +0 -25
  73. package/dist/schema/parser.d.ts.map +0 -1
  74. package/dist/schema/parser.js +0 -474
  75. package/dist/schema/parser.js.map +0 -1
  76. package/dist/schema/types.d.ts +0 -33
  77. package/dist/schema/types.d.ts.map +0 -1
  78. package/dist/schema/types.js +0 -29
  79. package/dist/schema/types.js.map +0 -1
  80. package/dist/standalone/index.d.ts +0 -3
  81. package/dist/standalone/index.d.ts.map +0 -1
  82. package/dist/standalone/index.js +0 -3
  83. package/dist/standalone/index.js.map +0 -1
  84. package/dist/standalone/process-client.d.ts +0 -85
  85. package/dist/standalone/process-client.d.ts.map +0 -1
  86. package/dist/standalone/process-client.js +0 -537
  87. package/dist/standalone/process-client.js.map +0 -1
  88. package/dist/standalone/wasmedge-runner.d.ts +0 -19
  89. package/dist/standalone/wasmedge-runner.d.ts.map +0 -1
  90. package/dist/standalone/wasmedge-runner.js +0 -108
  91. package/dist/standalone/wasmedge-runner.js.map +0 -1
  92. package/dist/storage/index.d.ts +0 -3
  93. package/dist/storage/index.d.ts.map +0 -1
  94. package/dist/storage/index.js +0 -3
  95. package/dist/storage/index.js.map +0 -1
  96. package/dist/storage/stacked-flatbuffers.d.ts +0 -38
  97. package/dist/storage/stacked-flatbuffers.d.ts.map +0 -1
  98. package/dist/storage/stacked-flatbuffers.js +0 -253
  99. package/dist/storage/stacked-flatbuffers.js.map +0 -1
  100. package/dist/storage/types.d.ts +0 -23
  101. package/dist/storage/types.d.ts.map +0 -1
  102. package/dist/storage/types.js +0 -27
  103. package/dist/storage/types.js.map +0 -1
  104. package/dist/stress/aggregate.d.ts +0 -3
  105. package/dist/stress/aggregate.d.ts.map +0 -1
  106. package/dist/stress/aggregate.js +0 -61
  107. package/dist/stress/aggregate.js.map +0 -1
  108. package/dist/stress/docker-compose.d.ts +0 -17
  109. package/dist/stress/docker-compose.d.ts.map +0 -1
  110. package/dist/stress/docker-compose.js +0 -156
  111. package/dist/stress/docker-compose.js.map +0 -1
  112. package/dist/stress/index.d.ts +0 -10
  113. package/dist/stress/index.d.ts.map +0 -1
  114. package/dist/stress/index.js +0 -10
  115. package/dist/stress/index.js.map +0 -1
  116. package/dist/stress/metrics.d.ts +0 -3
  117. package/dist/stress/metrics.d.ts.map +0 -1
  118. package/dist/stress/metrics.js +0 -83
  119. package/dist/stress/metrics.js.map +0 -1
  120. package/dist/stress/native-publish-event-workload.d.ts +0 -3
  121. package/dist/stress/native-publish-event-workload.d.ts.map +0 -1
  122. package/dist/stress/native-publish-event-workload.js +0 -465
  123. package/dist/stress/native-publish-event-workload.js.map +0 -1
  124. package/dist/stress/production-gate.d.ts +0 -4
  125. package/dist/stress/production-gate.d.ts.map +0 -1
  126. package/dist/stress/production-gate.js +0 -12
  127. package/dist/stress/production-gate.js.map +0 -1
  128. package/dist/stress/report.d.ts +0 -3
  129. package/dist/stress/report.d.ts.map +0 -1
  130. package/dist/stress/report.js +0 -174
  131. package/dist/stress/report.js.map +0 -1
  132. package/dist/stress/sds-discovery.d.ts +0 -4
  133. package/dist/stress/sds-discovery.d.ts.map +0 -1
  134. package/dist/stress/sds-discovery.js +0 -40
  135. package/dist/stress/sds-discovery.js.map +0 -1
  136. package/dist/stress/smoke-runner.d.ts +0 -3
  137. package/dist/stress/smoke-runner.d.ts.map +0 -1
  138. package/dist/stress/smoke-runner.js +0 -64
  139. package/dist/stress/smoke-runner.js.map +0 -1
  140. package/dist/stress/types.d.ts +0 -219
  141. package/dist/stress/types.d.ts.map +0 -1
  142. package/dist/stress/types.js +0 -2
  143. package/dist/stress/types.js.map +0 -1
  144. package/dist/stress/workload.d.ts +0 -6
  145. package/dist/stress/workload.d.ts.map +0 -1
  146. package/dist/stress/workload.js +0 -144
  147. package/dist/stress/workload.js.map +0 -1
  148. package/docs/PARTITION-STORE-WASM.md +0 -338
  149. package/docs/PARTITION-STORE.md +0 -2380
  150. package/docs/agents/response-artifacts.md +0 -65
  151. package/docs/response-artifacts.md +0 -86
  152. package/scripts/stress-docker.sh +0 -279
  153. package/sdm/flatsql-spatial.wasm +0 -0
  154. package/sdm/index.d.ts +0 -88
  155. package/sdm/index.js +0 -253
  156. package/sdm/manifest.json +0 -402
  157. package/stress/docker/Dockerfile +0 -11
  158. package/stress/docker/docker-compose.yml +0 -51
  159. package/stress/sds/aggregate.mjs +0 -97
  160. package/stress/sds/run.mjs +0 -105
  161. package/stress/sds/write-compose.mjs +0 -96
  162. package/wasm/flatsql-client.js +0 -280
  163. package/wasm/flatsql-io.d.ts +0 -97
  164. package/wasm/flatsql-io.js +0 -621
  165. package/wasm/flatsql-p4-threads.wasm +0 -0
  166. package/wasm/flatsql-ps-threads.wasm +0 -0
  167. package/wasm/flatsql-wasi-noeh.wasm +0 -0
  168. package/wasm/flatsql-wasi.wasm +0 -0
  169. package/wasm/flatsql.js +0 -2
  170. package/wasm/flatsql.worker.js +0 -209
  171. package/wasm/native/flatsql_wasmedge_runner.cpp +0 -858
  172. package/wasm/ps-node-fault.d.mts +0 -23
  173. package/wasm/ps-node-fault.mjs +0 -381
  174. package/wasm/ps-node-guest.mjs +0 -173
  175. package/wasm/ps-node-host.d.mts +0 -95
  176. package/wasm/ps-node-host.mjs +0 -476
  177. package/wasm/ps-node-imports.mjs +0 -847
  178. package/wasm/ps.d.ts +0 -21
  179. package/wasm/ps.js +0 -75
  180. package/wasm/wasi.d.ts +0 -11
  181. package/wasm/wasi.js +0 -51
@@ -1,156 +0,0 @@
1
- function quote(value) {
2
- return JSON.stringify(String(value));
3
- }
4
- function commandScalar(value) {
5
- const text = String(value);
6
- if (/^-?\d+(?:\.\d+)?$/.test(text)) {
7
- return quote(text);
8
- }
9
- if (/^[A-Za-z0-9_.:/-]+$/.test(text)) {
10
- return text;
11
- }
12
- return quote(text);
13
- }
14
- function hostPath(root, ...segments) {
15
- return [root.replace(/\/+$/, ''), ...segments].join('/');
16
- }
17
- function commandLines(args) {
18
- return [' command:', ...args.map((arg) => ` - ${commandScalar(arg)}`)];
19
- }
20
- function stressMode(options) {
21
- return options.mode ?? 'full';
22
- }
23
- function commonEnvironmentLines(options, runId) {
24
- return [
25
- ' environment:',
26
- ` STRESS_MODE: ${commandScalar(stressMode(options))}`,
27
- ` RUN_ID: ${commandScalar(runId)}`,
28
- ` NODE_STORAGE_GB: ${quote(options.nodeStorageGb)}`,
29
- ` RECORDS_PER_NODE: ${quote(options.recordsPerNode)}`,
30
- ` BATCH_BYTES: ${quote(options.batchBytes)}`,
31
- ` QUERY_CONCURRENCY: ${quote(options.queryConcurrency)}`,
32
- ` HOT_QUERY_RATIO: ${quote(options.hotQueryRatio)}`,
33
- ' SDS_SCHEMA_ROOT: /sds/schema',
34
- ` RUNTIME: ${commandScalar(options.runtime)}`,
35
- ' NODE_ISOLATION: container',
36
- ' STRESS_TRANSPORT: docker-compose',
37
- ];
38
- }
39
- function schemaVolumeLines(schemaRootHost) {
40
- return [
41
- ' - type: bind',
42
- ` source: ${quote(schemaRootHost)}`,
43
- ' target: /sds/schema',
44
- ' read_only: true',
45
- ];
46
- }
47
- function outputVolumeLines(outputDirHost, target = '/stress-results') {
48
- return [
49
- ' - type: bind',
50
- ` source: ${quote(outputDirHost)}`,
51
- ` target: ${target}`,
52
- ];
53
- }
54
- function workerServiceLines(options, nodeId) {
55
- const workerRunId = `${options.runId}-node-${nodeId}`;
56
- const outputDir = hostPath(options.outputDirHost, 'nodes', `node-${nodeId}`);
57
- return [
58
- ` worker-${nodeId}:`,
59
- ' build: *flatsql-build',
60
- ' restart: "no"',
61
- ...commonEnvironmentLines(options, workerRunId),
62
- ' NODE_COUNT: "1"',
63
- ` NODE_ID_OFFSET: ${quote(nodeId)}`,
64
- ' OUTPUT_DIR: /stress-results',
65
- ' volumes:',
66
- ...schemaVolumeLines(options.schemaRootHost),
67
- ...outputVolumeLines(outputDir),
68
- ...commandLines([
69
- 'node',
70
- 'stress/sds/run.mjs',
71
- '--mode',
72
- stressMode(options),
73
- '--schema-root',
74
- '/sds/schema',
75
- '--output-dir',
76
- '/stress-results',
77
- '--nodes',
78
- 1,
79
- '--node-id-offset',
80
- nodeId,
81
- '--storage-gb',
82
- options.nodeStorageGb,
83
- '--records-per-node',
84
- options.recordsPerNode,
85
- '--batch-bytes',
86
- options.batchBytes,
87
- '--query-concurrency',
88
- options.queryConcurrency,
89
- '--hot-query-ratio',
90
- options.hotQueryRatio,
91
- '--run-id',
92
- workerRunId,
93
- '--runtime',
94
- options.runtime,
95
- '--node-isolation',
96
- 'container',
97
- '--transport',
98
- 'docker-compose',
99
- '--skip-production-gate',
100
- ]),
101
- ];
102
- }
103
- function aggregatorServiceLines(options) {
104
- return [
105
- ' aggregator:',
106
- ' build: *flatsql-build',
107
- ' restart: "no"',
108
- ' depends_on:',
109
- ...Array.from({ length: options.nodeCount }, (_, nodeId) => [
110
- ` worker-${nodeId}:`,
111
- ' condition: service_completed_successfully',
112
- ]).flat(),
113
- ...commonEnvironmentLines(options, options.runId),
114
- ` NODE_COUNT: ${quote(options.nodeCount)}`,
115
- ' OUTPUT_DIR: /stress-results/aggregate',
116
- ' volumes:',
117
- ...outputVolumeLines(options.outputDirHost),
118
- ...commandLines([
119
- 'node',
120
- 'stress/sds/aggregate.mjs',
121
- '--input-dir',
122
- '/stress-results/nodes',
123
- '--output-dir',
124
- '/stress-results/aggregate',
125
- '--run-id',
126
- options.runId,
127
- '--mode',
128
- stressMode(options),
129
- '--node-storage-gb',
130
- options.nodeStorageGb,
131
- '--records-per-node',
132
- options.recordsPerNode,
133
- '--transport',
134
- 'docker-compose',
135
- '--node-isolation',
136
- 'container',
137
- ]),
138
- ];
139
- }
140
- export function buildFullStressDockerCompose(options) {
141
- if (!Number.isInteger(options.nodeCount) || options.nodeCount <= 0) {
142
- throw new Error(`nodeCount must be a positive integer; received ${options.nodeCount}`);
143
- }
144
- const lines = [
145
- 'name: flatsql-sds-stress',
146
- 'x-flatsql-build: &flatsql-build',
147
- ` context: ${quote(options.projectRoot)}`,
148
- ' dockerfile: stress/docker/Dockerfile',
149
- 'services:',
150
- ...Array.from({ length: options.nodeCount }, (_, nodeId) => workerServiceLines(options, nodeId)).flat(),
151
- ...aggregatorServiceLines(options),
152
- '',
153
- ];
154
- return lines.join('\n');
155
- }
156
- //# sourceMappingURL=docker-compose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docker-compose.js","sourceRoot":"","sources":["../../src/stress/docker-compose.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export * from './aggregate.js';
2
- export * from './docker-compose.js';
3
- export * from './metrics.js';
4
- export * from './production-gate.js';
5
- export * from './report.js';
6
- export * from './sds-discovery.js';
7
- export * from './smoke-runner.js';
8
- export * from './types.js';
9
- export * from './workload.js';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stress/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -1,10 +0,0 @@
1
- export * from './aggregate.js';
2
- export * from './docker-compose.js';
3
- export * from './metrics.js';
4
- export * from './production-gate.js';
5
- export * from './report.js';
6
- export * from './sds-discovery.js';
7
- export * from './smoke-runner.js';
8
- export * from './types.js';
9
- export * from './workload.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stress/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { MetricEvent, StressSummary } from './types.js';
2
- export declare function reduceMetricEvents(events: readonly MetricEvent[]): StressSummary;
3
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/stress/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AA8B7E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,aAAa,CA6DhF"}
@@ -1,83 +0,0 @@
1
- function percentile(values, percentileValue) {
2
- if (values.length === 0) {
3
- return 0;
4
- }
5
- const sorted = [...values].sort((left, right) => left - right);
6
- const index = Math.ceil((sorted.length - 1) * percentileValue);
7
- return sorted[Math.min(index, sorted.length - 1)];
8
- }
9
- function createUseCaseSummary(useCase) {
10
- return {
11
- useCase,
12
- events: 0,
13
- records: 0,
14
- requestBytes: 0,
15
- responseBytes: 0,
16
- flatbufferBytes: 0,
17
- storageBytes: 0,
18
- cacheHits: 0,
19
- cacheMisses: 0,
20
- maxCacheSize: 0,
21
- errors: 0,
22
- latencyP50Ms: 0,
23
- latencyP95Ms: 0,
24
- latencyP99Ms: 0,
25
- };
26
- }
27
- export function reduceMetricEvents(events) {
28
- const durations = events.map((event) => event.durationMs);
29
- const nodes = [...new Set(events.map((event) => event.nodeId))].sort((left, right) => left - right);
30
- const runId = events[0]?.runId ?? '';
31
- const groupedDurations = new Map();
32
- const useCases = {};
33
- const summary = {
34
- runId,
35
- nodes,
36
- eventCount: events.length,
37
- totalRecords: 0,
38
- totalRequestBytes: 0,
39
- totalResponseBytes: 0,
40
- totalFlatbufferBytes: 0,
41
- totalStorageBytes: 0,
42
- totalCacheHits: 0,
43
- totalCacheMisses: 0,
44
- totalErrors: 0,
45
- latencyP50Ms: percentile(durations, 0.5),
46
- latencyP95Ms: percentile(durations, 0.95),
47
- latencyP99Ms: percentile(durations, 0.99),
48
- useCases,
49
- };
50
- for (const event of events) {
51
- summary.totalRecords += event.records;
52
- summary.totalRequestBytes += event.requestBytes;
53
- summary.totalResponseBytes += event.responseBytes;
54
- summary.totalFlatbufferBytes += event.flatbufferBytes;
55
- summary.totalStorageBytes += event.storageBytes;
56
- summary.totalCacheHits += event.cacheHits;
57
- summary.totalCacheMisses += event.cacheMisses;
58
- summary.totalErrors += event.errors;
59
- const useCaseSummary = useCases[event.useCase] ?? createUseCaseSummary(event.useCase);
60
- useCases[event.useCase] = useCaseSummary;
61
- useCaseSummary.events += 1;
62
- useCaseSummary.records += event.records;
63
- useCaseSummary.requestBytes += event.requestBytes;
64
- useCaseSummary.responseBytes += event.responseBytes;
65
- useCaseSummary.flatbufferBytes += event.flatbufferBytes;
66
- useCaseSummary.storageBytes += event.storageBytes;
67
- useCaseSummary.cacheHits += event.cacheHits;
68
- useCaseSummary.cacheMisses += event.cacheMisses;
69
- useCaseSummary.maxCacheSize = Math.max(useCaseSummary.maxCacheSize, event.cacheSize);
70
- useCaseSummary.errors += event.errors;
71
- const useCaseDurations = groupedDurations.get(event.useCase) ?? [];
72
- groupedDurations.set(event.useCase, useCaseDurations);
73
- useCaseDurations.push(event.durationMs);
74
- }
75
- for (const [useCase, useCaseDurations] of groupedDurations.entries()) {
76
- const useCaseSummary = useCases[useCase];
77
- useCaseSummary.latencyP50Ms = percentile(useCaseDurations, 0.5);
78
- useCaseSummary.latencyP95Ms = percentile(useCaseDurations, 0.95);
79
- useCaseSummary.latencyP99Ms = percentile(useCaseDurations, 0.99);
80
- }
81
- return summary;
82
- }
83
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/stress/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { MetricEvent, WorkloadManifest } from './types.js';
2
- export declare function buildMeasuredStandalonePublishEventMetrics(manifest: WorkloadManifest): Promise<MetricEvent[]>;
3
- //# sourceMappingURL=native-publish-event-workload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-publish-event-workload.d.ts","sourceRoot":"","sources":["../../src/stress/native-publish-event-workload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6e/E,wBAAsB,0CAA0C,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAyJnH"}