@trunkrs/common 1.6.16 → 1.6.20

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trunkrs/common",
3
- "version": "1.6.16",
3
+ "version": "1.6.20",
4
4
  "description": "Common standards library for development in Trunkrs",
5
5
  "types": "./index.d.ts",
6
6
  "repository": "https://github.com/Trunkrs/common.git",
@@ -7,7 +7,7 @@ const MachineClient_1 = __importDefault(require("./MachineClient"));
7
7
  const errors_1 = require("../../models/errors");
8
8
  class CoreServicesMachineClient extends MachineClient_1.default {
9
9
  async runQuery(service, query, params) {
10
- await this.checkBearerToken();
10
+ const bearerToken = await this.getBearerToken();
11
11
  const response = await this.httpClient.put({
12
12
  url: this.createUrl(`/${service}/private/query`),
13
13
  params: {
@@ -15,6 +15,9 @@ class CoreServicesMachineClient extends MachineClient_1.default {
15
15
  params,
16
16
  },
17
17
  timeout: 30000,
18
+ headers: {
19
+ Authorization: `bearer ${bearerToken}`,
20
+ },
18
21
  });
19
22
  if (!response.result) {
20
23
  throw new errors_1.CoreServicesRequestFailedError(response.stackTrace ||
@@ -1 +1 @@
1
- {"version":3,"file":"CoreServicesMachineClient.js","sourceRoot":"","sources":["../../../services/client/CoreServicesMachineClient.ts"],"names":[],"mappings":";;;;;AACA,oEAA2C;AAC3C,gDAAoE;AAapE,MAAM,yBAA0B,SAAQ,uBAAa;IAS5C,KAAK,CAAC,QAAQ,CACnB,OAAyB,EACzB,KAAa,EACb,MAA+B;QAE/B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAGxC;YACA,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,gBAAgB,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK;gBACL,MAAM;aACP;YACD,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,uCAA8B,CACtC,QAAQ,CAAC,UAAU;gBACjB,0DAA0D,EAC5D,QAAQ,CAAC,OAAO;gBACd,uDAAuD,CAC1D,CAAA;SACF;QAED,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;CACF;AAED,kBAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"CoreServicesMachineClient.js","sourceRoot":"","sources":["../../../services/client/CoreServicesMachineClient.ts"],"names":[],"mappings":";;;;;AACA,oEAA2C;AAC3C,gDAAoE;AAapE,MAAM,yBAA0B,SAAQ,uBAAa;IAS5C,KAAK,CAAC,QAAQ,CACnB,OAAyB,EACzB,KAAa,EACb,MAA+B;QAE/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAGxC;YACA,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,gBAAgB,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK;gBACL,MAAM;aACP;YACD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,uCAA8B,CACtC,QAAQ,CAAC,UAAU;gBACjB,0DAA0D,EAC5D,QAAQ,CAAC,OAAO;gBACd,uDAAuD,CAC1D,CAAA;SACF;QAED,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;CACF;AAED,kBAAe,yBAAyB,CAAA"}
@@ -8,7 +8,7 @@ declare class MachineClient {
8
8
  protected readonly cache: Cache;
9
9
  protected readonly secretCacheKey: string;
10
10
  protected readonly baseUrl: string;
11
- protected bearerTokenInterceptorId?: number;
11
+ protected bearerTokenPromise?: Promise<string>;
12
12
  constructor(machineTokenClient: MachineTokenClient, httpClient: HttpClient, cache: Cache, secretCacheKey: string, baseUrl: string);
13
13
  protected createUrl(resource: string): string;
14
14
  protected get axiosClient(): import("axios").AxiosInstance;
@@ -17,6 +17,5 @@ declare class MachineClient {
17
17
  put<TRequest = any, TResponse = unknown>(resource: string, body: TRequest, headers?: Record<string, any>): Promise<TResponse>;
18
18
  delete(resource: string, headers?: Record<string, any>): Promise<void>;
19
19
  protected getBearerToken(): Promise<string>;
20
- protected checkBearerToken(): Promise<void>;
21
20
  }
22
21
  export default MachineClient;
@@ -18,58 +18,62 @@ class MachineClient {
18
18
  return client === null || client === void 0 ? void 0 : client.axiosClient;
19
19
  }
20
20
  async get(resource, parameters, headers, responseType) {
21
- await this.checkBearerToken();
21
+ const bearerToken = await this.getBearerToken();
22
22
  const data = await this.httpClient.get({
23
23
  url: this.createUrl(resource),
24
- headers,
24
+ headers: {
25
+ ...headers,
26
+ Authorization: `Bearer ${bearerToken}`,
27
+ },
25
28
  params: parameters,
26
29
  responseType,
27
30
  });
28
31
  return data;
29
32
  }
30
33
  async post(resource, body, headers) {
31
- await this.checkBearerToken();
34
+ const bearerToken = await this.getBearerToken();
32
35
  const data = await this.httpClient.post({
33
36
  url: this.createUrl(resource),
34
37
  params: body,
35
- headers,
38
+ headers: {
39
+ ...headers,
40
+ Authorization: `Bearer ${bearerToken}`,
41
+ },
36
42
  });
37
43
  return data;
38
44
  }
39
45
  async put(resource, body, headers) {
40
- await this.checkBearerToken();
46
+ const bearerToken = await this.getBearerToken();
41
47
  const data = await this.httpClient.put({
42
48
  url: this.createUrl(resource),
43
49
  params: body,
44
- headers,
50
+ headers: {
51
+ ...headers,
52
+ Authorization: `Bearer ${bearerToken}`,
53
+ },
45
54
  });
46
55
  return data;
47
56
  }
48
57
  async delete(resource, headers) {
49
- await this.checkBearerToken();
58
+ const bearerToken = await this.getBearerToken();
50
59
  await this.httpClient.delete({
51
60
  url: this.createUrl(resource),
52
- headers,
61
+ headers: {
62
+ ...headers,
63
+ Authorization: `Bearer ${bearerToken}`,
64
+ },
53
65
  });
54
66
  }
55
67
  async getBearerToken() {
56
- const token = await this.cache.getOrAdd(this.secretCacheKey, () => {
57
- return this.machineTokenClient.getMachineToken();
58
- });
59
- return token;
60
- }
61
- async checkBearerToken() {
62
- const token = await this.getBearerToken();
63
- if (this.bearerTokenInterceptorId) {
64
- this.axiosClient.interceptors.request.eject(this.bearerTokenInterceptorId);
68
+ if (this.bearerTokenPromise) {
69
+ return this.bearerTokenPromise;
65
70
  }
66
- this.bearerTokenInterceptorId = this.axiosClient.interceptors.request.use((config) => {
67
- const modifiedHeaders = {
68
- ...config.headers,
69
- Authorization: `Bearer ${token}`,
70
- };
71
- return Object.assign(config, { headers: modifiedHeaders });
71
+ this.bearerTokenPromise = this.cache.getOrAdd(this.secretCacheKey, () => {
72
+ return this.machineTokenClient.getMachineToken();
72
73
  });
74
+ const bearerToken = await this.bearerTokenPromise;
75
+ this.bearerTokenPromise = undefined;
76
+ return bearerToken;
73
77
  }
74
78
  }
75
79
  exports.default = MachineClient;
@@ -1 +1 @@
1
- {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MachineClient.js","sourceRoot":"","sources":["../../../services/client/MachineClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface SQSMessageOptions {
2
2
  deduplicationId?: string;
3
3
  messageGroupId?: string;
4
+ delaySeconds?: number;
4
5
  }
5
6
  export interface SNSMessageOptions {
6
7
  deduplicationId?: string;
@@ -1,6 +1,6 @@
1
1
  import Serializer from '../../utils/serialization/Serializer';
2
2
  import { QueueClient, QueueBatchMessageRequest, QueueMessageRequest, SQSMessageOptions } from './QueueClient';
3
- declare class SNSQueueClient implements QueueClient {
3
+ declare class SQSQueueClient implements QueueClient {
4
4
  private readonly queueUrl;
5
5
  private readonly serializer;
6
6
  private readonly client;
@@ -8,4 +8,4 @@ declare class SNSQueueClient implements QueueClient {
8
8
  sendMessage<TMessage>(request: QueueMessageRequest<TMessage, SQSMessageOptions>): Promise<void>;
9
9
  sendBatchMessage<TMessage>(request: QueueBatchMessageRequest<TMessage, SQSMessageOptions>): Promise<void>;
10
10
  }
11
- export default SNSQueueClient;
11
+ export default SQSQueueClient;
@@ -6,20 +6,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const aws_xray_sdk_1 = __importDefault(require("aws-xray-sdk"));
7
7
  const aws_sdk_1 = __importDefault(require("aws-sdk"));
8
8
  const { SQS } = aws_xray_sdk_1.default.captureAWS(aws_sdk_1.default);
9
- class SNSQueueClient {
9
+ class SQSQueueClient {
10
10
  constructor(queueUrl, serializer) {
11
11
  this.queueUrl = queueUrl;
12
12
  this.serializer = serializer;
13
13
  this.client = new SQS();
14
14
  }
15
15
  async sendMessage(request) {
16
- var _a, _b;
16
+ var _a, _b, _c;
17
17
  await this.client
18
18
  .sendMessage({
19
19
  QueueUrl: this.queueUrl,
20
20
  MessageBody: this.serializer.serialize(request.message, 'string'),
21
21
  MessageGroupId: (_a = request.options) === null || _a === void 0 ? void 0 : _a.messageGroupId,
22
22
  MessageDeduplicationId: (_b = request.options) === null || _b === void 0 ? void 0 : _b.messageGroupId,
23
+ DelaySeconds: (_c = request.options) === null || _c === void 0 ? void 0 : _c.delaySeconds,
23
24
  })
24
25
  .promise();
25
26
  }
@@ -27,16 +28,17 @@ class SNSQueueClient {
27
28
  await this.client.sendMessageBatch({
28
29
  QueueUrl: this.queueUrl,
29
30
  Entries: request.messages.map((message, index) => {
30
- var _a, _b;
31
+ var _a, _b, _c;
31
32
  return ({
32
33
  Id: String(index),
33
34
  MessageBody: this.serializer.serialize(message, 'string'),
34
35
  MessageGroupId: (_a = request.options) === null || _a === void 0 ? void 0 : _a.messageGroupId,
35
36
  MessageDeduplicationId: (_b = request.options) === null || _b === void 0 ? void 0 : _b.messageGroupId,
37
+ DelaySeconds: (_c = request.options) === null || _c === void 0 ? void 0 : _c.delaySeconds,
36
38
  });
37
39
  }),
38
40
  });
39
41
  }
40
42
  }
41
- exports.default = SNSQueueClient;
43
+ exports.default = SQSQueueClient;
42
44
  //# sourceMappingURL=SQSQueueClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SQSQueueClient.ts"],"names":[],"mappings":";;;;;AAAA,gEAA+B;AAC/B,sDAAyB;AAWzB,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAI,CAAC,UAAU,CAAC,iBAAG,CAAC,CAAA;AAEpC,MAAM,cAAc;IAGlB,YAImB,QAAgB,EAIhB,UAAsB;QAJtB,aAAQ,GAAR,QAAQ,CAAQ;QAIhB,eAAU,GAAV,UAAU,CAAY;QAVxB,WAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IAWhC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAyD;;QAEzD,MAAM,IAAI,CAAC,MAAM;aACd,WAAW,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;SACxD,CAAC;aACD,OAAO,EAAE,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAA8D;QAE9D,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACjD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzD,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;oBAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;iBACxD,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAA;IACJ,CAAC;CACF;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"SQSQueueClient.js","sourceRoot":"","sources":["../../../services/queue/SQSQueueClient.ts"],"names":[],"mappings":";;;;;AAAA,gEAA+B;AAC/B,sDAAyB;AAWzB,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAI,CAAC,UAAU,CAAC,iBAAG,CAAC,CAAA;AAEpC,MAAM,cAAc;IAGlB,YAImB,QAAgB,EAIhB,UAAsB;QAJtB,aAAQ,GAAR,QAAQ,CAAQ;QAIhB,eAAU,GAAV,UAAU,CAAY;QAVxB,WAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IAWhC,CAAC;IAEG,KAAK,CAAC,WAAW,CACtB,OAAyD;;QAEzD,MAAM,IAAI,CAAC,MAAM;aACd,WAAW,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjE,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;YACvD,YAAY,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY;SAC5C,CAAC;aACD,OAAO,EAAE,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAA8D;QAE9D,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACjD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzD,cAAc,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;oBAC/C,sBAAsB,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,cAAc;oBACvD,YAAY,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY;iBAC5C,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAA;IACJ,CAAC;CACF;AAED,kBAAe,cAAc,CAAA"}
@@ -3,6 +3,8 @@ import SetOptions from './types/SetOptions';
3
3
  declare class RedisClient {
4
4
  private readonly client;
5
5
  private needsConnectionCounter;
6
+ private connectionPromise?;
7
+ private disconnectionPromise?;
6
8
  private connect;
7
9
  private disconnect;
8
10
  constructor(client: RedisClientType);
@@ -8,13 +8,25 @@ class RedisClient {
8
8
  async connect() {
9
9
  this.needsConnectionCounter += 1;
10
10
  if (this.needsConnectionCounter === 1) {
11
- await this.client.connect();
11
+ if (this.connectionPromise) {
12
+ await this.disconnectionPromise;
13
+ return;
14
+ }
15
+ this.connectionPromise = this.client.connect();
16
+ await this.connectionPromise;
17
+ this.connectionPromise = undefined;
12
18
  }
13
19
  }
14
20
  async disconnect() {
15
21
  this.needsConnectionCounter -= 1;
16
22
  if (!this.needsConnectionCounter) {
17
- await this.client.disconnect();
23
+ if (this.disconnectionPromise) {
24
+ await this.disconnectionPromise;
25
+ return;
26
+ }
27
+ this.disconnectionPromise = this.client.disconnect();
28
+ await this.disconnectionPromise;
29
+ this.disconnectionPromise = undefined;
18
30
  }
19
31
  }
20
32
  async set(key, value, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":";;AAIA,MAAM,WAAW;IAmBf,YAAoC,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAlBnD,2BAAsB,GAAG,CAAC,CAAA;IAkB4B,CAAC;IAhBvD,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,sBAAsB,KAAK,CAAC,EAAE;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SAC5B;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAA;QAEhC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;SAC/B;IACH,CAAC;IAWM,KAAK,CAAC,GAAG,CACd,GAAW,EACX,KAAa,EACb,OAAoB;QAEpB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,MAAM,cAAc,GAAG,EAAE,CAAA;YAEzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;oBAE5B,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;iBAClC,CAAC,CAAA;aACH;YAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;oBAC5B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI;iBAC7B,CAAC,CAAA;aACH;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;SAClD;gBAAS;YACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;SACxB;IACH,CAAC;IAQM,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACvC,OAAO,IAAI,CAAA;SACZ;gBAAS;YACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;SACxB;IACH,CAAC;IAWM,KAAK,CAAC,QAAQ,CACnB,GAAW,EACX,OAA8B,EAC9B,UAAuB;QAEvB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,MAAM,OAAO,EAAE,CAAA;YAEvB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;SACvC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAOM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAc;QACnC,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC5B;gBAAS;YACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;SACxB;IACH,CAAC;IAMM,KAAK,CAAC,KAAK;QAChB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;SAC7B;gBAAS;YACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;SACxB;IACH,CAAC;CACF;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"RedisClient.js","sourceRoot":"","sources":["../../../services/redis/RedisClient.ts"],"names":[],"mappings":"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"}