@nordcraft/runtime 1.0.13 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import type { ContextApi, ContextApiV2 } from '../types';
2
+ export declare const isContextApiV2: (api: ContextApi) => api is ContextApiV2;
@@ -0,0 +1,2 @@
1
+ export const isContextApiV2 = (api) => 'triggerActions' in api;
2
+ //# sourceMappingURL=apiUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/api/apiUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAe,EAAuB,EAAE,CACrE,gBAAgB,IAAI,GAAG,CAAA"}
@@ -15,6 +15,6 @@ export type ApiRequest = {
15
15
  * or sent directly to the api endpoint (when api.proxy === false)
16
16
  */
17
17
  export declare function createLegacyAPI(api: LegacyComponentAPI, ctx: ComponentContext): {
18
- fetch: Function;
19
- destroy: Function;
18
+ fetch: (request?: ApiRequest) => Promise<unknown>;
19
+ destroy: () => void | undefined;
20
20
  };
@@ -1,7 +1,11 @@
1
1
  import type { ApiRequest } from '@nordcraft/core/dist/api/apiTypes';
2
- import type { RequireFields } from '@nordcraft/core/dist/types';
3
- import type { ComponentContext, ContextApi } from '../types';
2
+ import type { ComponentData } from '@nordcraft/core/dist/component/component.types';
3
+ import type { ComponentContext, ContextApiV2 } from '../types';
4
4
  /**
5
5
  * Set up an api v2 for a component.
6
6
  */
7
- export declare function createAPI(apiRequest: ApiRequest, ctx: ComponentContext): RequireFields<ContextApi, 'update' | 'triggerActions'>;
7
+ export declare function createAPI({ apiRequest, componentData: initialComponentData, ctx, }: {
8
+ apiRequest: ApiRequest;
9
+ componentData: ComponentData;
10
+ ctx: ComponentContext;
11
+ }): ContextApiV2;
@@ -9,11 +9,11 @@ import { handleAction } from '../events/handleAction';
9
9
  /**
10
10
  * Set up an api v2 for a component.
11
11
  */
12
- export function createAPI(apiRequest, ctx) {
12
+ export function createAPI({ apiRequest, componentData: initialComponentData, ctx, }) {
13
13
  // If `__toddle` isn't found it is in a web component context. We behave as if the page isn't loaded.
14
14
  let timer = null;
15
15
  let api = { ...apiRequest };
16
- function constructRequest(api) {
16
+ function constructRequest(api, componentData) {
17
17
  // Get baseUrl and validate it. (It wont be in web component context)
18
18
  let baseUrl = window.origin;
19
19
  try {
@@ -22,15 +22,28 @@ export function createAPI(apiRequest, ctx) {
22
22
  catch {
23
23
  baseUrl = undefined;
24
24
  }
25
- return createApiRequest({
25
+ const request = createApiRequest({
26
26
  api,
27
- formulaContext: getFormulaContext(api),
27
+ formulaContext: getFormulaContext(api, componentData),
28
28
  baseUrl,
29
29
  defaultHeaders: undefined,
30
30
  });
31
+ return {
32
+ ...request,
33
+ requestSettings: {
34
+ ...request.requestSettings,
35
+ // credentials is a browser specific setting and cannot be set in the
36
+ // createApiRequest function directly as it's shared between server and client
37
+ credentials: api.client?.credentials &&
38
+ ['include', 'same-origin', 'omit'].includes(api.client.credentials)
39
+ ? api.client.credentials
40
+ : // Default to same-origin
41
+ undefined,
42
+ },
43
+ };
31
44
  }
32
45
  // Create the formula context for the api
33
- function getFormulaContext(api) {
46
+ function getFormulaContext(api, componentData) {
34
47
  // Use the general formula context to evaluate the arguments of the api
35
48
  const formulaContext = {
36
49
  data: ctx.dataSignal.get(),
@@ -48,6 +61,7 @@ export function createAPI(apiRequest, ctx) {
48
61
  }, {});
49
62
  const data = {
50
63
  ...formulaContext.data,
64
+ ...componentData,
51
65
  ApiInputs: {
52
66
  ...evaluatedInputs,
53
67
  },
@@ -62,12 +76,13 @@ export function createAPI(apiRequest, ctx) {
62
76
  env: ctx.env,
63
77
  };
64
78
  }
65
- function handleRedirectRules(api) {
79
+ function handleRedirectRules(api, componentData) {
66
80
  for (const [ruleName, rule] of sortObjectEntries(api.redirectRules ?? {}, ([_, rule]) => rule.index)) {
81
+ const formulaContext = getFormulaContext(api, componentData);
67
82
  const location = applyFormula(rule.formula, {
68
- ...getFormulaContext(api),
83
+ ...formulaContext,
69
84
  data: {
70
- ...getFormulaContext(api).data,
85
+ ...formulaContext.data,
71
86
  Apis: {
72
87
  [api.name]: ctx.dataSignal.get().Apis?.[api.name],
73
88
  },
@@ -91,14 +106,14 @@ export function createAPI(apiRequest, ctx) {
91
106
  }
92
107
  }
93
108
  }
94
- function triggerActions(eventName, api, data) {
109
+ function triggerActions({ eventName, api, data, componentData, }) {
110
+ const formulaContext = getFormulaContext(api, componentData);
95
111
  switch (eventName) {
96
112
  case 'message': {
97
113
  const event = createApiEvent('message', data.body);
98
114
  api.client?.onMessage?.actions?.forEach((action) => {
99
115
  handleAction(action, {
100
- ...getFormulaContext(api).data,
101
- ...ctx.dataSignal.get(),
116
+ ...formulaContext.data,
102
117
  Event: event,
103
118
  }, ctx, event);
104
119
  });
@@ -108,8 +123,7 @@ export function createAPI(apiRequest, ctx) {
108
123
  const event = createApiEvent('success', data.body);
109
124
  api.client?.onCompleted?.actions?.forEach((action) => {
110
125
  handleAction(action, {
111
- ...getFormulaContext(api).data,
112
- ...ctx.dataSignal.get(),
126
+ ...formulaContext.data,
113
127
  Event: event,
114
128
  }, ctx, event);
115
129
  });
@@ -122,8 +136,7 @@ export function createAPI(apiRequest, ctx) {
122
136
  });
123
137
  api.client?.onFailed?.actions?.forEach((action) => {
124
138
  handleAction(action, {
125
- ...getFormulaContext(api).data,
126
- ...ctx.dataSignal.get(),
139
+ ...formulaContext.data,
127
140
  Event: event,
128
141
  }, ctx, event);
129
142
  });
@@ -131,7 +144,7 @@ export function createAPI(apiRequest, ctx) {
131
144
  }
132
145
  }
133
146
  }
134
- function apiSuccess(api, data, performance) {
147
+ function apiSuccess({ api, componentData, data, performance, }) {
135
148
  const latestRequestStart = ctx.dataSignal.get().Apis?.[api.name]?.response?.performance?.requestStart;
136
149
  if (typeof latestRequestStart === 'number' &&
137
150
  latestRequestStart > (performance.requestStart ?? 0)) {
@@ -153,7 +166,7 @@ export function createAPI(apiRequest, ctx) {
153
166
  },
154
167
  },
155
168
  });
156
- const appliedRedirectRule = handleRedirectRules(api);
169
+ const appliedRedirectRule = handleRedirectRules(api, componentData);
157
170
  if (appliedRedirectRule) {
158
171
  ctx.dataSignal.set({
159
172
  ...ctx.dataSignal.get(),
@@ -176,7 +189,7 @@ export function createAPI(apiRequest, ctx) {
176
189
  });
177
190
  }
178
191
  }
179
- function apiError(api, data, performance) {
192
+ function apiError({ api, componentData, data, performance, }) {
180
193
  const latestRequestStart = ctx.dataSignal.get().Apis?.[api.name]?.response?.performance?.requestStart;
181
194
  if (typeof latestRequestStart === 'number' &&
182
195
  latestRequestStart > (performance.requestStart ?? 0)) {
@@ -198,7 +211,7 @@ export function createAPI(apiRequest, ctx) {
198
211
  },
199
212
  },
200
213
  });
201
- const appliedRedirectRule = handleRedirectRules(api);
214
+ const appliedRedirectRule = handleRedirectRules(api, componentData);
202
215
  if (appliedRedirectRule) {
203
216
  ctx.dataSignal.set({
204
217
  ...ctx.dataSignal.get(),
@@ -222,7 +235,7 @@ export function createAPI(apiRequest, ctx) {
222
235
  }
223
236
  }
224
237
  // Execute the request - potentially to the cloudflare Query proxy
225
- async function execute(api, url, requestSettings) {
238
+ async function execute({ api, url, requestSettings, componentData, }) {
226
239
  const run = async () => {
227
240
  const performance = {
228
241
  requestStart: Date.now(),
@@ -243,7 +256,7 @@ export function createAPI(apiRequest, ctx) {
243
256
  let response;
244
257
  try {
245
258
  const proxy = api.server?.proxy
246
- ? (applyFormula(api.server.proxy.enabled.formula, getFormulaContext(api)) ?? false)
259
+ ? (applyFormula(api.server.proxy.enabled.formula, getFormulaContext(api, componentData)) ?? false)
247
260
  : false;
248
261
  if (proxy === false) {
249
262
  response = await fetch(url, requestSettings);
@@ -256,15 +269,25 @@ export function createAPI(apiRequest, ctx) {
256
269
  response = await fetch(proxyUrl, requestSettings);
257
270
  }
258
271
  performance.responseStart = Date.now();
259
- await handleResponse(api, response, performance);
272
+ await handleResponse({ api, componentData, res: response, performance });
260
273
  return;
261
274
  }
262
275
  catch (error) {
263
276
  const body = error.cause
264
277
  ? { message: error.message, data: error.cause }
265
278
  : error.message;
266
- apiError(api, { body }, { ...performance, responseEnd: Date.now() });
267
- triggerActions('failed', api, { body });
279
+ apiError({
280
+ api,
281
+ componentData,
282
+ data: { body },
283
+ performance: { ...performance, responseEnd: Date.now() },
284
+ });
285
+ triggerActions({
286
+ eventName: 'failed',
287
+ api,
288
+ data: { body },
289
+ componentData,
290
+ });
268
291
  return Promise.reject(error);
269
292
  }
270
293
  };
@@ -276,12 +299,12 @@ export function createAPI(apiRequest, ctx) {
276
299
  }
277
300
  timer = setTimeout(() => {
278
301
  run().then(resolve, reject);
279
- }, applyFormula(api.client?.debounce?.formula, getFormulaContext(api)));
302
+ }, applyFormula(api.client?.debounce?.formula, getFormulaContext(api, componentData)));
280
303
  });
281
304
  }
282
305
  return run();
283
306
  }
284
- function handleResponse(api, res, performance) {
307
+ function handleResponse({ api, componentData, res, performance, }) {
285
308
  let parserMode = api.client?.parserMode ?? 'auto';
286
309
  if (parserMode === 'auto') {
287
310
  const contentType = res.headers.get('content-type');
@@ -306,20 +329,20 @@ export function createAPI(apiRequest, ctx) {
306
329
  }
307
330
  switch (parserMode) {
308
331
  case 'text':
309
- return textStreamResponse(api, res, performance);
332
+ return textStreamResponse({ api, componentData, res, performance });
310
333
  case 'json':
311
- return jsonResponse(api, res, performance);
334
+ return jsonResponse({ api, componentData, res, performance });
312
335
  case 'event-stream':
313
- return eventStreamingResponse(api, res, performance);
336
+ return eventStreamingResponse({ api, componentData, res, performance });
314
337
  case 'json-stream':
315
- return jsonStreamResponse(api, res, performance);
338
+ return jsonStreamResponse({ api, componentData, res, performance });
316
339
  case 'blob':
317
- return blobResponse(api, res, performance);
340
+ return blobResponse({ api, componentData, res, performance });
318
341
  default:
319
- return textStreamResponse(api, res, performance);
342
+ return textStreamResponse({ api, componentData, res, performance });
320
343
  }
321
344
  }
322
- function textStreamResponse(api, res, performance) {
345
+ function textStreamResponse({ api, res, performance, componentData, }) {
323
346
  return handleStreaming({
324
347
  api,
325
348
  res,
@@ -328,9 +351,10 @@ export function createAPI(apiRequest, ctx) {
328
351
  useTextDecoder: true,
329
352
  parseChunk: (chunk) => chunk,
330
353
  parseChunksForData: (chunks) => chunks.join(''),
354
+ componentData,
331
355
  });
332
356
  }
333
- function jsonStreamResponse(api, res, performance) {
357
+ function jsonStreamResponse({ api, res, performance, componentData, }) {
334
358
  const parseChunk = (chunk) => {
335
359
  let parsedData = chunk;
336
360
  try {
@@ -352,9 +376,10 @@ export function createAPI(apiRequest, ctx) {
352
376
  parseChunk,
353
377
  parseChunksForData: (chunks) => [...chunks],
354
378
  delimiters: ['\r\n', '\n'],
379
+ componentData,
355
380
  });
356
381
  }
357
- async function jsonResponse(api, res, performance) {
382
+ async function jsonResponse({ api, componentData, res, performance, }) {
358
383
  const body = await res.json();
359
384
  const status = {
360
385
  data: body,
@@ -365,9 +390,9 @@ export function createAPI(apiRequest, ctx) {
365
390
  headers: Object.fromEntries(res.headers.entries()),
366
391
  },
367
392
  };
368
- return endResponse(api, status, performance);
393
+ return endResponse({ api, apiStatus: status, componentData, performance });
369
394
  }
370
- async function blobResponse(api, res, performance) {
395
+ async function blobResponse({ api, componentData, res, performance, }) {
371
396
  const blob = await res.blob();
372
397
  const status = {
373
398
  isLoading: false,
@@ -378,9 +403,9 @@ export function createAPI(apiRequest, ctx) {
378
403
  headers: Object.fromEntries(res.headers.entries()),
379
404
  },
380
405
  };
381
- return endResponse(api, status, performance);
406
+ return endResponse({ api, apiStatus: status, componentData, performance });
382
407
  }
383
- function eventStreamingResponse(api, res, performance) {
408
+ function eventStreamingResponse({ api, res, performance, componentData, }) {
384
409
  const parseChunk = (chunk) => {
385
410
  const event = chunk.match(/event: (.*)/)?.[1] ?? 'message';
386
411
  const data = chunk.match(/data: (.*)/)?.[1] ?? '';
@@ -409,10 +434,11 @@ export function createAPI(apiRequest, ctx) {
409
434
  parseChunk,
410
435
  parseChunksForData: (chunks) => [...chunks],
411
436
  delimiters: ['\n\n', '\r\n\r\n'],
437
+ componentData,
412
438
  });
413
439
  }
414
- async function handleStreaming({ api, res, performance, streamType, useTextDecoder, parseChunk, parseChunksForData, delimiters, // There can be various delimiters for the same stream. SSE might use both \n\n and \r\n\r\n
415
- }) {
440
+ async function handleStreaming({ api, res, performance, streamType, useTextDecoder, parseChunk, parseChunksForData, delimiters, // There can be various delimiters for the same stream. SSE might use both \n\n and \r\n\r\n,
441
+ componentData, }) {
416
442
  const chunks = {
417
443
  chunks: [],
418
444
  currentChunk: '',
@@ -437,7 +463,12 @@ export function createAPI(apiRequest, ctx) {
437
463
  },
438
464
  });
439
465
  if ((api.client?.onMessage?.actions ?? []).length > 0) {
440
- triggerActions('message', api, { body: parsedChunk });
466
+ triggerActions({
467
+ eventName: 'message',
468
+ api,
469
+ data: { body: parsedChunk },
470
+ componentData,
471
+ });
441
472
  }
442
473
  }
443
474
  },
@@ -492,9 +523,9 @@ export function createAPI(apiRequest, ctx) {
492
523
  cause: chunks.chunks.join(''),
493
524
  });
494
525
  }
495
- return endResponse(api, status, performance);
526
+ return endResponse({ api, apiStatus: status, componentData, performance });
496
527
  }
497
- function endResponse(api, apiStatus, performance) {
528
+ function endResponse({ api, apiStatus, componentData, performance, }) {
498
529
  performance.responseEnd = Date.now();
499
530
  const data = {
500
531
  body: apiStatus.data,
@@ -511,7 +542,7 @@ export function createAPI(apiRequest, ctx) {
511
542
  status: data.status,
512
543
  headers: data.headers,
513
544
  },
514
- formulaContext: getFormulaContext(api),
545
+ formulaContext: getFormulaContext(api, componentData),
515
546
  errorFormula: api.isError,
516
547
  performance,
517
548
  });
@@ -519,12 +550,12 @@ export function createAPI(apiRequest, ctx) {
519
550
  if (!data.body && apiStatus.error) {
520
551
  data.body = apiStatus.error;
521
552
  }
522
- apiError(api, data, performance);
523
- triggerActions('failed', api, data);
553
+ apiError({ api, componentData, data, performance });
554
+ triggerActions({ eventName: 'failed', api, componentData, data });
524
555
  }
525
556
  else {
526
- apiSuccess(api, data, performance);
527
- triggerActions('success', api, data);
557
+ apiSuccess({ api, componentData, data, performance });
558
+ triggerActions({ eventName: 'success', api, componentData, data });
528
559
  }
529
560
  }
530
561
  function getApiForComparison(api) {
@@ -539,9 +570,9 @@ export function createAPI(apiRequest, ctx) {
539
570
  let payloadSignal;
540
571
  // eslint-disable-next-line prefer-const
541
572
  payloadSignal = ctx.dataSignal.map((_) => {
542
- const payloadContext = getFormulaContext(api);
573
+ const payloadContext = getFormulaContext(api, initialComponentData);
543
574
  return {
544
- request: constructRequest(api),
575
+ request: constructRequest(api, initialComponentData),
545
576
  api: getApiForComparison(api),
546
577
  autoFetch: api.autoFetch
547
578
  ? applyFormula(api.autoFetch, payloadContext)
@@ -550,7 +581,7 @@ export function createAPI(apiRequest, ctx) {
550
581
  };
551
582
  });
552
583
  payloadSignal.subscribe(async (_) => {
553
- const { url, requestSettings } = constructRequest(api);
584
+ const { url, requestSettings } = constructRequest(api, initialComponentData);
554
585
  // Ensure we only use caching if the page is currently loading
555
586
  const cacheMatch =
556
587
  // We lookup the API from cache as long as autofetch is defined (and not statically falsy)
@@ -562,32 +593,47 @@ export function createAPI(apiRequest, ctx) {
562
593
  : undefined;
563
594
  if (cacheMatch) {
564
595
  if (cacheMatch.error) {
565
- apiError(api, {
566
- body: cacheMatch.error,
567
- status: cacheMatch.response?.status,
568
- headers: cacheMatch.response?.headers ?? undefined,
569
- }, {
570
- requestStart: cacheMatch.response?.performance?.requestStart ?? null,
571
- responseStart: cacheMatch.response?.performance?.responseStart ?? null,
572
- responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
596
+ apiError({
597
+ api,
598
+ data: {
599
+ body: cacheMatch.error,
600
+ status: cacheMatch.response?.status,
601
+ headers: cacheMatch.response?.headers ?? undefined,
602
+ },
603
+ performance: {
604
+ requestStart: cacheMatch.response?.performance?.requestStart ?? null,
605
+ responseStart: cacheMatch.response?.performance?.responseStart ?? null,
606
+ responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
607
+ },
608
+ componentData: initialComponentData,
573
609
  });
574
610
  }
575
611
  else {
576
- apiSuccess(api, {
577
- body: cacheMatch.data,
578
- status: cacheMatch.response?.status,
579
- headers: cacheMatch.response?.headers ?? undefined,
580
- }, {
581
- requestStart: cacheMatch.response?.performance?.requestStart ?? null,
582
- responseStart: cacheMatch.response?.performance?.responseStart ?? null,
583
- responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
612
+ apiSuccess({
613
+ api,
614
+ data: {
615
+ body: cacheMatch.data,
616
+ status: cacheMatch.response?.status,
617
+ headers: cacheMatch.response?.headers ?? undefined,
618
+ },
619
+ performance: {
620
+ requestStart: cacheMatch.response?.performance?.requestStart ?? null,
621
+ responseStart: cacheMatch.response?.performance?.responseStart ?? null,
622
+ responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
623
+ },
624
+ componentData: initialComponentData,
584
625
  });
585
626
  }
586
627
  }
587
628
  else {
588
- if (applyFormula(api.autoFetch, getFormulaContext(api))) {
629
+ if (applyFormula(api.autoFetch, getFormulaContext(api, initialComponentData))) {
589
630
  // Execute will set the initial status of the api in the dataSignal
590
- await execute(api, url, requestSettings);
631
+ await execute({
632
+ api,
633
+ url,
634
+ requestSettings,
635
+ componentData: initialComponentData,
636
+ });
591
637
  }
592
638
  else {
593
639
  ctx.dataSignal.update((data) => {
@@ -607,7 +653,7 @@ export function createAPI(apiRequest, ctx) {
607
653
  }
608
654
  });
609
655
  return {
610
- fetch: ({ actionInputs, actionModels, }) => {
656
+ fetch: ({ actionInputs, actionModels, componentData }) => {
611
657
  // Inputs might already be evaluated. If they are we add them as a value formula to be evaluated later.
612
658
  const inputs = Object.entries(actionInputs ?? {}).reduce((acc, [inputName, input]) => {
613
659
  if (input !== null && typeof input === 'object' && 'formula' in input) {
@@ -649,37 +695,52 @@ export function createAPI(apiRequest, ctx) {
649
695
  },
650
696
  },
651
697
  };
652
- const { url, requestSettings } = constructRequest(apiWithInputsAndActions);
653
- return execute(apiWithInputsAndActions, url, requestSettings);
698
+ const { url, requestSettings } = constructRequest(apiWithInputsAndActions, componentData);
699
+ return execute({
700
+ api: apiWithInputsAndActions,
701
+ url,
702
+ requestSettings,
703
+ componentData,
704
+ });
654
705
  },
655
- update: (newApi) => {
706
+ update: (newApi, componentData) => {
656
707
  api = newApi;
657
- const updateContext = getFormulaContext(api);
708
+ const updateContext = getFormulaContext(api, componentData);
658
709
  const autoFetch = api.autoFetch && applyFormula(api.autoFetch, updateContext);
659
710
  if (autoFetch) {
660
711
  payloadSignal?.set({
661
- request: constructRequest(newApi),
712
+ request: constructRequest(newApi, componentData),
662
713
  api: getApiForComparison(newApi),
663
714
  autoFetch,
664
715
  proxy: applyFormula(newApi.server?.proxy?.enabled.formula, updateContext),
665
716
  });
666
717
  }
667
718
  },
668
- triggerActions: () => {
719
+ triggerActions: (componentData) => {
669
720
  const apiData = ctx.dataSignal.get().Apis?.[api.name];
670
721
  if (apiData === undefined ||
671
722
  (apiData.data === null && apiData.error === null)) {
672
723
  return;
673
724
  }
674
725
  if (apiData.error) {
675
- triggerActions('failed', api, {
676
- body: apiData.error,
677
- status: apiData.response?.status,
726
+ triggerActions({
727
+ eventName: 'failed',
728
+ api,
729
+ data: {
730
+ body: apiData.error,
731
+ status: apiData.response?.status,
732
+ },
733
+ componentData,
678
734
  });
679
735
  }
680
736
  else {
681
- triggerActions('success', api, {
682
- body: apiData.data,
737
+ triggerActions({
738
+ eventName: 'success',
739
+ api,
740
+ data: {
741
+ body: apiData.data,
742
+ },
743
+ componentData,
683
744
  });
684
745
  }
685
746
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createAPIv2.js","sourceRoot":"","sources":["../../src/api/createAPIv2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAPIv2.js","sourceRoot":"","sources":["../../src/api/createAPIv2.ts"],"names":[],"mappings":"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"}