@timbro/payments 0.1.0-next.4 → 0.2.0-next.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.
@@ -1,12 +1,14 @@
1
- import { createHash, timingSafeEqual } from "node:crypto";
1
+ import { createHash } from "node:crypto";
2
2
  import createClient, {} from "openapi-fetch";
3
3
  import { verifySignedWebhookBody } from "./webhook-signature.js";
4
4
  const TRAILING_SLASH = /\/$/;
5
- const CONTENT_DIGEST = /^sha-256=:([A-Za-z0-9+/]+={0,2}):$/;
5
+ const PAYMENT_INVOICE_CHOICE_ROUTE = /^\/v1\/payments\/[^/]+\/invoice-choice$/u;
6
+ const PAYMENT_INVOICE_ROUTE = /^\/v1\/payments\/[^/]+\/invoice$/u;
6
7
  const DELTA_SECONDS = /^\d+$/;
7
- const EVENT_ID = /^event_[0-9a-hjkmnp-tv-z]{24,}$/;
8
+ const EVENT_ID = /^(?:event_[0-9a-hjkmnp-tv-z]{24,}|[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i;
9
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
10
+ const INVOICE_SEQUENCE = /^[1-9][0-9]*$/;
8
11
  const PAYMENT_ID = /^payment_[0-9a-hjkmnp-tv-z]{24,}$/;
9
- const FISCAL_DOCUMENT_ID = /^fiscal_document_[0-9a-hjkmnp-tv-z]{24,}$/;
10
12
  const MERCHANT_RNC = /^\d{9}$/;
11
13
  const MAX_AUTOMATIC_RETRIES = 2;
12
14
  const MAX_RETRY_DELAY_MS = 2000;
@@ -62,13 +64,13 @@ export function createTimbroPayments(options) {
62
64
  return decodePaymentList(requireData(response));
63
65
  };
64
66
  const listWebhookEndpoints = async (params) => {
65
- const response = await client.GET("/v1/webhook_endpoints", params === undefined
67
+ const response = await client.GET("/v1/webhook-endpoints", params === undefined
66
68
  ? {}
67
69
  : { params: { query: params } });
68
70
  return decodeWebhookEndpointList(requireData(response));
69
71
  };
70
72
  const listWebhookDeliveries = async (webhookEndpointId, params) => {
71
- const response = await client.GET("/v1/webhook_endpoints/{webhookEndpointId}/deliveries", {
73
+ const response = await client.GET("/v1/webhook-endpoints/{webhookEndpointId}/deliveries", {
72
74
  params: {
73
75
  path: { webhookEndpointId },
74
76
  ...(params === undefined
@@ -79,7 +81,7 @@ export function createTimbroPayments(options) {
79
81
  return decodeWebhookDeliveryList(requireData(response));
80
82
  };
81
83
  const listMerchantAccounts = async (params) => {
82
- const response = await client.GET("/v1/merchant_accounts", params === undefined
84
+ const response = await client.GET("/v1/merchant-accounts", params === undefined
83
85
  ? {}
84
86
  : { params: { query: params } });
85
87
  return decodeMerchantAccountList(requireData(response));
@@ -113,27 +115,63 @@ export function createTimbroPayments(options) {
113
115
  async retrieve(paymentId) {
114
116
  return decodePayment(requireData(await client.GET("/v1/payments/{paymentId}", { params: { path: { paymentId } } })));
115
117
  },
116
- async cancel(command) {
117
- const { paymentId, idempotencyKey } = command;
118
- return decodePayment(requireData(await client.POST("/v1/payments/{paymentId}/cancel", {
118
+ async createInvoice(paymentId, request) {
119
+ const response = await client.POST("/v1/payments/{paymentId}/invoice", {
119
120
  params: {
120
121
  path: { paymentId },
121
122
  header: {
122
- "idempotency-key": idempotencyKey === undefined
123
- ? deriveCommandIdempotencyKey("payment.cancel", paymentId)
124
- : requireIdempotencyKey(idempotencyKey),
123
+ "idempotency-key": deriveCommandIdempotencyKey("payment.invoice", paymentId),
124
+ },
125
+ },
126
+ body: request,
127
+ });
128
+ return requireData(response);
129
+ },
130
+ async attachInvoice(paymentId, request) {
131
+ return decodePayment(requireData(await client.PUT("/v1/payments/{paymentId}/invoice", {
132
+ params: {
133
+ path: { paymentId },
134
+ header: {
135
+ "idempotency-key": deriveCommandIdempotencyKey("payment.attachInvoice", paymentId),
125
136
  },
126
137
  },
138
+ body: request,
127
139
  })));
128
140
  },
129
- async attachExternalFiscalDocumentReference(command) {
130
- const { paymentId, idempotencyKey, ...body } = command;
131
- return decodePayment(requireData(await client.POST("/v1/payments/{paymentId}/fiscal-document-reference", {
141
+ async updateInvoiceChoice(command) {
142
+ const { paymentId, idempotencyKey, ...choice } = command;
143
+ const payment = requireData(await client.PUT("/v1/payments/{paymentId}/invoice-choice", {
132
144
  params: {
133
145
  path: { paymentId },
134
146
  header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) },
135
147
  },
136
- body: body,
148
+ body: choice,
149
+ }));
150
+ if (!("paymentReference" in payment))
151
+ throw new Error("Expected the merchant Payment response.");
152
+ return decodePayment(payment);
153
+ },
154
+ async updateInvoiceRecipient(command) {
155
+ const response = await client.PUT("/v1/payments/{paymentId}/invoice-recipient", {
156
+ params: {
157
+ path: { paymentId: command.paymentId },
158
+ header: { "idempotency-key": requireIdempotencyKey(command.idempotencyKey) },
159
+ },
160
+ body: { recipientEmail: command.recipientEmail },
161
+ });
162
+ return requireData(response);
163
+ },
164
+ async cancel(command) {
165
+ const { paymentId, idempotencyKey } = command;
166
+ return decodePayment(requireData(await client.POST("/v1/payments/{paymentId}/cancel", {
167
+ params: {
168
+ path: { paymentId },
169
+ header: {
170
+ "idempotency-key": idempotencyKey === undefined
171
+ ? deriveCommandIdempotencyKey("payment.cancel", paymentId)
172
+ : requireIdempotencyKey(idempotencyKey),
173
+ },
174
+ },
137
175
  })));
138
176
  },
139
177
  list: listPayments,
@@ -154,9 +192,9 @@ export function createTimbroPayments(options) {
154
192
  },
155
193
  })));
156
194
  },
157
- async attachFiscalCoordination(command) {
195
+ async attachInvoice(command) {
158
196
  const { refundId, idempotencyKey, ...body } = command;
159
- return decodeRefund(requireData(await client.POST("/v1/refunds/{refundId}/fiscal-coordination", {
197
+ return decodeRefund(requireData(await client.PUT("/v1/refunds/{refundId}/invoice", {
160
198
  params: {
161
199
  path: { refundId },
162
200
  header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) },
@@ -174,47 +212,49 @@ export function createTimbroPayments(options) {
174
212
  },
175
213
  merchantAccounts: {
176
214
  list: listMerchantAccounts,
177
- async retrieveCheckoutCapabilities(merchantAccountId) {
178
- return requireData(await client.GET("/v1/merchant_accounts/{merchantAccountId}/checkout_capabilities", {
179
- params: { path: { merchantAccountId } },
180
- }));
181
- },
182
215
  listAll(params) {
183
216
  return walkCollection((cursor) => listMerchantAccounts({ ...params, ...(cursor === undefined ? {} : { cursor }) }));
184
217
  },
185
218
  async retrieve(merchantAccountId) {
186
- return decodeMerchantAccount(requireData(await client.GET("/v1/merchant_accounts/{merchantAccountId}", {
219
+ return decodeMerchantAccount(requireData(await client.GET("/v1/merchant-accounts/{merchantAccountId}", {
187
220
  params: { path: { merchantAccountId } },
188
221
  })));
189
222
  },
190
223
  },
191
- merchantCheckoutPolicy: {
224
+ business: {
192
225
  async retrieve() {
193
- return requireData(await client.GET("/v1/merchant_checkout_policy"));
226
+ return requireData(await client.GET("/v1/business"));
194
227
  },
195
228
  async update(command) {
196
- return requireData(await client.PUT("/v1/merchant_checkout_policy", { body: command }));
229
+ return requireData(await client.PATCH("/v1/business", { body: command }));
197
230
  },
198
- },
199
- merchantBusiness: {
200
- async retrieve() {
201
- return requireData(await client.GET("/v1/merchant_business"));
231
+ async configureInvoicing(command) {
232
+ const { idempotencyKey, ...body } = command;
233
+ return requireData(await client.POST("/v1/business/configure-invoicing", {
234
+ params: { header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) } },
235
+ body,
236
+ }));
202
237
  },
203
- async update(command) {
204
- return requireData(await client.PATCH("/v1/merchant_business", { body: command }));
238
+ checkoutPolicy: {
239
+ async retrieve() {
240
+ return requireData(await client.GET("/v1/business/checkout-policy"));
241
+ },
242
+ async update(command) {
243
+ return requireData(await client.PUT("/v1/business/checkout-policy", { body: command }));
244
+ },
205
245
  },
206
246
  /** Sends the archive once; a key that already holds the same certificate answers a replay. */
207
247
  async importSigningCertificate(command) {
208
- return requireData(await client.PUT("/v1/merchant_business/signing_certificate", { body: command }));
248
+ return requireData(await client.POST("/v1/business/import-signing-certificate", { body: command }));
209
249
  },
210
- async retryTestFiscalDocument(command = {}) {
211
- return requireData(await client.POST("/v1/merchant_business/test_fiscal_document", { body: command }));
250
+ async issueTestInvoice(command = {}) {
251
+ return requireData(await client.POST("/v1/business/issue-test-invoice", { body: command }));
212
252
  },
213
- async issueSandboxCredential(command) {
214
- return requireData(await client.POST("/v1/merchant_business/sandbox_credentials", {
215
- params: {
216
- header: { "idempotency-key": requireIdempotencyKey(command.idempotencyKey) },
217
- },
253
+ async issueInvoiceKey(command) {
254
+ const { idempotencyKey, ...body } = command;
255
+ return requireData(await client.POST("/v1/business/issue-invoice-key", {
256
+ params: { header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) } },
257
+ body,
218
258
  }));
219
259
  },
220
260
  },
@@ -229,13 +269,13 @@ export function createTimbroPayments(options) {
229
269
  webhookEndpoints: {
230
270
  async create(command) {
231
271
  const { idempotencyKey, ...body } = command;
232
- return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook_endpoints", {
272
+ return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook-endpoints", {
233
273
  params: { header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) } },
234
274
  body: body,
235
275
  })));
236
276
  },
237
277
  async rotateSecret(command) {
238
- return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook_endpoints/{webhookEndpointId}/rotate-secret", {
278
+ return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook-endpoints/{webhookEndpointId}/rotate-secret", {
239
279
  params: {
240
280
  path: { webhookEndpointId: command.webhookEndpointId },
241
281
  header: {
@@ -245,17 +285,17 @@ export function createTimbroPayments(options) {
245
285
  })));
246
286
  },
247
287
  async suspend(webhookEndpointId) {
248
- return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook_endpoints/{webhookEndpointId}/suspend", {
288
+ return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook-endpoints/{webhookEndpointId}/suspend", {
249
289
  params: { path: { webhookEndpointId } },
250
290
  })));
251
291
  },
252
292
  async reactivate(webhookEndpointId) {
253
- return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook_endpoints/{webhookEndpointId}/reactivate", {
293
+ return decodeWebhookEndpoint(requireData(await client.POST("/v1/webhook-endpoints/{webhookEndpointId}/reactivate", {
254
294
  params: { path: { webhookEndpointId } },
255
295
  })));
256
296
  },
257
297
  async delete(webhookEndpointId) {
258
- requireSuccess(await client.DELETE("/v1/webhook_endpoints/{webhookEndpointId}", {
298
+ requireSuccess(await client.DELETE("/v1/webhook-endpoints/{webhookEndpointId}", {
259
299
  params: { path: { webhookEndpointId } },
260
300
  }));
261
301
  },
@@ -264,7 +304,7 @@ export function createTimbroPayments(options) {
264
304
  return walkCollection((cursor) => listWebhookEndpoints({ ...params, ...(cursor === undefined ? {} : { cursor }) }));
265
305
  },
266
306
  async retrieve(webhookEndpointId) {
267
- return decodeWebhookEndpoint(requireData(await client.GET("/v1/webhook_endpoints/{webhookEndpointId}", {
307
+ return decodeWebhookEndpoint(requireData(await client.GET("/v1/webhook-endpoints/{webhookEndpointId}", {
268
308
  params: { path: { webhookEndpointId } },
269
309
  })));
270
310
  },
@@ -277,7 +317,7 @@ export function createTimbroPayments(options) {
277
317
  },
278
318
  async replay(command) {
279
319
  const { webhookEndpointId, idempotencyKey, ...scope } = command;
280
- return requireData(await client.POST("/v1/webhook_endpoints/{webhookEndpointId}/replays", {
320
+ return requireData(await client.POST("/v1/webhook-endpoints/{webhookEndpointId}/replays", {
281
321
  params: {
282
322
  path: { webhookEndpointId },
283
323
  header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) },
@@ -286,37 +326,6 @@ export function createTimbroPayments(options) {
286
326
  }));
287
327
  },
288
328
  },
289
- fiscalDeliveries: {
290
- async create(command) {
291
- const { fiscalDocumentId, idempotencyKey, ...body } = command;
292
- return decodeFiscalDelivery(requireData((await client.POST("/v1/fiscal_documents/{fiscalDocumentId}/deliveries", {
293
- params: {
294
- path: { fiscalDocumentId },
295
- header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) },
296
- },
297
- body,
298
- }))));
299
- },
300
- },
301
- fiscalDocuments: {
302
- async retrieve(fiscalDocumentId) {
303
- return decodeFiscalDocument(requireData(await client.GET("/v1/fiscal_documents/{fiscalDocumentId}", {
304
- params: { path: { fiscalDocumentId } },
305
- })));
306
- },
307
- async correct(command) {
308
- const { fiscalDocumentId, idempotencyKey, ...body } = command;
309
- return decodeFiscalDocument(requireData(await client.POST("/v1/fiscal_documents/{fiscalDocumentId}/corrections", {
310
- params: {
311
- path: { fiscalDocumentId },
312
- header: { "idempotency-key": requireIdempotencyKey(idempotencyKey) },
313
- },
314
- body: body,
315
- })));
316
- },
317
- retrieveSignedDocument: (fiscalDocumentId) => retrieveArtifact(fetcher, headers, baseUrl, fiscalDocumentId, "signed-document"),
318
- retrievePrintedRepresentation: (fiscalDocumentId) => retrieveArtifact(fetcher, headers, baseUrl, fiscalDocumentId, "printed-representation"),
319
- },
320
329
  webhooks: { verify: verifyWebhook },
321
330
  };
322
331
  }
@@ -348,65 +357,6 @@ function decodePaymentList(value) {
348
357
  nextCursor: value.nextCursor,
349
358
  };
350
359
  }
351
- function decodeFiscalDelivery(value) {
352
- return "problem" in value
353
- ? { email: value.email, status: value.status, problem: value.problem }
354
- : { email: value.email, status: value.status };
355
- }
356
- function decodeFiscalDocument(value) {
357
- const base = {
358
- id: value.id,
359
- object: "fiscal_document",
360
- paymentId: value.paymentId,
361
- issuanceMode: value.issuanceMode,
362
- kind: value.kind,
363
- ...(value.merchantInvoiceNumber === undefined
364
- ? {}
365
- : { merchantInvoiceNumber: value.merchantInvoiceNumber }),
366
- ...(value.merchantOrderNumber === undefined
367
- ? {}
368
- : { merchantOrderNumber: value.merchantOrderNumber }),
369
- revision: value.revision,
370
- ...(value.buyer === undefined ? {} : { buyer: value.buyer }),
371
- ...(value.governmentEligibility === undefined
372
- ? {}
373
- : { governmentEligibility: value.governmentEligibility }),
374
- lines: value.lines.map((line) => ({
375
- sourceLineId: line.sourceLineId,
376
- description: line.description,
377
- quantity: line.quantity,
378
- measurementUnit: line.measurementUnit,
379
- unitPriceMinorUnits: line.unitPriceMinorUnits,
380
- ...(line.unitPrice === undefined ? {} : { unitPrice: line.unitPrice }),
381
- itemKind: line.itemKind,
382
- taxTreatment: line.taxTreatment,
383
- isLegalTipApplicable: line.isLegalTipApplicable,
384
- ...(line.taxIncluded === undefined ? {} : { taxIncluded: line.taxIncluded }),
385
- ...(line.group === undefined ? {} : { group: line.group }),
386
- })),
387
- createdAt: value.createdAt,
388
- updatedAt: value.updatedAt,
389
- delivery: value.delivery === null ? null : decodeFiscalDelivery(value.delivery),
390
- };
391
- if (value.status === "issued") {
392
- return {
393
- ...base,
394
- status: "issued",
395
- eNcf: value.eNcf,
396
- issuedAt: value.issuedAt,
397
- signedDocument: { sha256: value.signedDocument.sha256 },
398
- };
399
- }
400
- if (value.status === "accepted") {
401
- return {
402
- ...base,
403
- status: "accepted",
404
- externalReference: value.externalReference,
405
- printedRepresentation: value.printedRepresentation,
406
- };
407
- }
408
- return { ...base, status: value.status };
409
- }
410
360
  function decodeMerchantAccount(value) {
411
361
  return {
412
362
  id: value.id,
@@ -428,6 +378,7 @@ function decodeMerchantAccount(value) {
428
378
  checks: value.readiness.checks,
429
379
  },
430
380
  capabilities: "capabilities" in value ? value.capabilities : [],
381
+ checkoutCapabilities: value.checkoutCapabilities,
431
382
  };
432
383
  }
433
384
  function decodeMerchantAccountList(value) {
@@ -508,11 +459,14 @@ function isAutomaticallyRetryableOperation(request) {
508
459
  if (request.method === "GET")
509
460
  return true;
510
461
  const idempotencyKey = request.headers.get("idempotency-key");
511
- if (request.method !== "POST" || idempotencyKey === null || idempotencyKey.trim() === "") {
462
+ if (idempotencyKey === null || idempotencyKey.trim() === "") {
512
463
  return false;
513
464
  }
514
465
  const path = new URL(request.url).pathname.replace(TRAILING_SLASH, "");
515
- return path === "/v1/payments" || path === "/v1/refunds";
466
+ if (request.method === "PUT")
467
+ return PAYMENT_INVOICE_CHOICE_ROUTE.test(path);
468
+ return (request.method === "POST" &&
469
+ (path === "/v1/payments" || path === "/v1/refunds" || PAYMENT_INVOICE_ROUTE.test(path)));
516
470
  }
517
471
  function retryDelayMs(retry, retryAfter) {
518
472
  if (retryAfter !== undefined && retryAfter !== null) {
@@ -559,7 +513,7 @@ function requireSuccess(response) {
559
513
  throw httpError(response.response, response.error);
560
514
  }
561
515
  }
562
- function problemPointers(problems) {
516
+ function problemDetails(problems) {
563
517
  if (!Array.isArray(problems)) {
564
518
  return [];
565
519
  }
@@ -567,9 +521,9 @@ function problemPointers(problems) {
567
521
  if (typeof entry !== "object" || entry === null) {
568
522
  return [];
569
523
  }
570
- const { pointer, code } = entry;
571
- return typeof pointer === "string" && typeof code === "string"
572
- ? [{ pointer, code: code }]
524
+ const { path, code, message } = entry;
525
+ return typeof path === "string" && typeof code === "string" && typeof message === "string"
526
+ ? [{ path, code, message }]
573
527
  : [];
574
528
  });
575
529
  }
@@ -598,7 +552,7 @@ function httpError(response, body) {
598
552
  code: code ?? "unexpected_http_error",
599
553
  title,
600
554
  ...(requestId === undefined ? {} : { requestId }),
601
- problems: problemPointers(problem.problems),
555
+ problems: problemDetails(problem.problems),
602
556
  ...(seconds === undefined ? {} : { retryAfterSeconds: seconds }),
603
557
  });
604
558
  }
@@ -631,42 +585,6 @@ function transportError(cause) {
631
585
  cause,
632
586
  });
633
587
  }
634
- async function retrieveArtifact(fetcher, headers, baseUrl, fiscalDocumentId, artifact) {
635
- const response = await fetcher(`${baseUrl}/v1/fiscal_documents/${encodeURIComponent(fiscalDocumentId)}/${artifact}`, { headers });
636
- if (!response.ok) {
637
- let body;
638
- try {
639
- body = await response.json();
640
- }
641
- catch {
642
- body = undefined;
643
- }
644
- throw httpError(response, body);
645
- }
646
- const bytes = new Uint8Array(await response.arrayBuffer());
647
- const digest = response.headers.get("content-digest");
648
- if (digest === null || !verifyContentDigest(bytes, digest)) {
649
- throw new PaymentsError({
650
- status: 503,
651
- code: "artifact_digest_mismatch",
652
- title: "The fiscal artifact failed Content-Digest verification.",
653
- });
654
- }
655
- return {
656
- bytes,
657
- mediaType: response.headers.get("content-type") ?? "application/octet-stream",
658
- contentDigest: digest,
659
- };
660
- }
661
- function verifyContentDigest(bytes, header) {
662
- const match = CONTENT_DIGEST.exec(header);
663
- if (match?.[1] === undefined) {
664
- return false;
665
- }
666
- const expected = Buffer.from(match[1], "base64");
667
- const actual = createHash("sha256").update(bytes).digest();
668
- return expected.length === actual.length && timingSafeEqual(expected, actual);
669
- }
670
588
  function verifyWebhook(command) {
671
589
  const signed = verifySignedWebhookBody(command);
672
590
  if (!isWebhookEvent(signed.payload) || signed.payload.id !== signed.webhookId) {
@@ -675,6 +593,9 @@ function verifyWebhook(command) {
675
593
  return signed.payload;
676
594
  }
677
595
  function isWebhookEvent(value) {
596
+ if (isInvoiceWebhookEvent(value)) {
597
+ return true;
598
+ }
678
599
  if (!hasExactKeys(value, ["id", "type", "apiVersion", "occurredAt", "data"])) {
679
600
  return false;
680
601
  }
@@ -693,11 +614,45 @@ function isWebhookEvent(value) {
693
614
  value.type === "payment.operator_required") {
694
615
  return PAYMENT_ID.test(value.data.id) && value.data.object === "payment";
695
616
  }
696
- return ((value.type === "fiscal_document.issued" ||
697
- value.type === "fiscal_document.rejected" ||
698
- value.type === "fiscal_document.operator_required") &&
699
- FISCAL_DOCUMENT_ID.test(value.data.id) &&
700
- value.data.object === "fiscal_document");
617
+ return false;
618
+ }
619
+ function isInvoiceWebhookEvent(value) {
620
+ if (!hasExactKeys(value, [
621
+ "apiVersion",
622
+ "object",
623
+ "id",
624
+ "sequence",
625
+ "occurredAt",
626
+ "organizationId",
627
+ "environment",
628
+ "type",
629
+ "data",
630
+ ]) ||
631
+ typeof value.apiVersion !== "string" ||
632
+ value.object !== "event" ||
633
+ typeof value.id !== "string" ||
634
+ !UUID.test(value.id) ||
635
+ typeof value.sequence !== "string" ||
636
+ !INVOICE_SEQUENCE.test(value.sequence) ||
637
+ typeof value.occurredAt !== "string" ||
638
+ Number.isNaN(Date.parse(value.occurredAt)) ||
639
+ typeof value.organizationId !== "string" ||
640
+ !UUID.test(value.organizationId) ||
641
+ (value.environment !== "sandbox" &&
642
+ value.environment !== "certification" &&
643
+ value.environment !== "production") ||
644
+ (value.type !== "invoice.accepted" &&
645
+ value.type !== "invoice.rejected" &&
646
+ value.type !== "invoice.operatorRequired" &&
647
+ value.type !== "invoice.ready") ||
648
+ !hasExactKeys(value.data, ["id", "sourceConnectionId"]) ||
649
+ typeof value.data.id !== "string" ||
650
+ !UUID.test(value.data.id) ||
651
+ typeof value.data.sourceConnectionId !== "string" ||
652
+ !UUID.test(value.data.sourceConnectionId)) {
653
+ return false;
654
+ }
655
+ return true;
701
656
  }
702
657
  function hasExactKeys(value, expected) {
703
658
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"payments-client.js","sourceRoot":"","sources":["../src/payments-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,YAAY,EAAE,EAAe,MAAM,eAAe,CAAC;AAE1D,OAAO,EAA6B,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAC5D,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AACnD,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,MAAM,kBAAkB,GAAG,2CAA2C,CAAC;AACvE,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAkBhC,oFAAoF;AACpF,MAAM,UAAU,yBAAyB,CAAC,MAAuC;IAC/E,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC;SAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;SAClE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrB,CAAC;AAqaD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,MAAM,CAAS;IACf,IAAI,CAAc;IAClB,KAAK,CAAS;IACd,SAAS,CAAqB;IAC9B,QAAQ,CAA4B;IACpC,iBAAiB,CAAqB;IACtC,WAAW,CAAU;IAE9B,YAAY,KAQX;QACC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,WAAW;YACd,KAAK,CAAC,IAAI,KAAK,mBAAmB;gBAClC,KAAK,CAAC,iBAAiB,KAAK,SAAS;gBACrC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAID,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IACpD,MAAM,OAAO,GAA4B,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAC;IACF,MAAM,MAAM,GAAyB,YAAY,CAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/F,MAAM,YAAY,GAAG,KAAK,EAAE,MAA4B,EAAwB,EAAE;QAChF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,cAAc,EACd,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAA4C,EAAE,EAAE,CACxE,CAAC;QACF,OAAO,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,MAAoC,EACN,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,uBAAuB,EACvB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAoD,EAAE,EAAE,CAChF,CAAC;QACF,OAAO,yBAAyB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,EACjC,iBAAyB,EACzB,MAAqC,EACP,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sDAAsD,EAAE;YACxF,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,iBAAiB,EAAE;gBAC3B,GAAG,CAAC,MAAM,KAAK,SAAS;oBACtB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAqD,EAAE,CAAC;aACtE;SACF,CAAC,CAAC;QACH,OAAO,yBAAyB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,MAAoC,EACN,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,uBAAuB,EACvB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAoD,EAAE,EAAE,CAChF,CAAC;QACF,OAAO,yBAAyB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,MAA2B,EAAuB,EAAE;QAC7E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,aAAa,EACb,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,MAAuE;iBAC/E;aACF,CACN,CAAC;QACF,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE;YACR,KAAK,CAAC,MAAM,CAAC,OAA6B;gBACxC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;oBACjD,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;oBAC7B,MAAM,EAAE;wBACN,MAAM,EAAE;4BACN,iBAAiB,EAAE,qBAAqB,CACtC,cAAc;gCACZ,2BAA2B,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAC1E;yBACF;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,SAAiB;gBAC9B,OAAO,aAAa,CAClB,WAAW,CACT,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAClF,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,OAA6B;gBACxC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;gBAC9C,OAAO,aAAa,CAClB,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;oBACnD,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,SAAS,EAAE;wBACnB,MAAM,EAAE;4BACN,iBAAiB,EACf,cAAc,KAAK,SAAS;gCAC1B,CAAC,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,SAAS,CAAC;gCAC1D,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC;yBAC5C;qBACF;iBACF,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,qCAAqC,CACzC,OAAqD;gBAErD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBACvD,OAAO,aAAa,CAClB,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBACtE,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,SAAS,EAAE;wBACnB,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE;qBACrE;oBACD,IAAI,EAAE,IAAsD;iBAC7D,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,YAAY;YAClB,OAAO,CAAC,MAA4C;gBAClD,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACzE,CAAC;YACJ,CAAC;SACF;QACD,OAAO,EAAE;YACP,KAAK,CAAC,MAAM,CAAC,OAA4B;gBACvC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC5C,OAAO,YAAY,CACjB,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;oBAC/B,IAAI,EAAE,IAA6B;oBACnC,MAAM,EAAE;wBACN,MAAM,EAAE;4BACN,iBAAiB,EAAE,qBAAqB,CACtC,cAAc;gCACZ,2BAA2B,CACzB,eAAe,EACf,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAClD,CACJ;yBACF;qBACF;iBACF,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,wBAAwB,CAC5B,OAA8C;gBAE9C,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBACtD,OAAO,YAAY,CACjB,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;oBAC9D,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,QAAQ,EAAE;wBAClB,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE;qBACrE;oBACD,IAAI,EAAE,IAA+C;iBACtD,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,QAAgB;gBAC7B,OAAO,YAAY,CACjB,WAAW,CACT,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/E,CACF,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,WAAW;YACjB,OAAO,CAAC,MAA2C;gBACjD,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACxE,CAAC;YACJ,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,CAAC,4BAA4B,CAChC,iBAAyB;gBAEzB,OAAO,WAAW,CAChB,MAAM,MAAM,CAAC,GAAG,CAAC,iEAAiE,EAAE;oBAClF,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,CACL,MAAoD;gBAEpD,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACjF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,iBAAyB;gBACtC,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE;oBAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;SACF;QACD,sBAAsB,EAAE;YACtB,KAAK,CAAC,QAAQ;gBACZ,OAAO,WAAW,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,OAA4C;gBACvD,OAAO,WAAW,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,CAAC,QAAQ;gBACZ,OAAO,WAAW,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,OAAsC;gBACjD,OAAO,WAAW,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,8FAA8F;YAC9F,KAAK,CAAC,wBAAwB,CAC5B,OAAwD;gBAExD,OAAO,WAAW,CAChB,MAAM,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CACjF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,uBAAuB,CAC3B,OAAO,GAAmD,EAAE;gBAE5D,OAAO,WAAW,CAChB,MAAM,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CACnF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,sBAAsB,CAC1B,OAAsD;gBAEtD,OAAO,WAAW,CAChB,MAAM,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;oBAC7D,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;qBAC7E;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;SACF;QACD,kBAAkB,EAAE;YAClB,KAAK,CAAC,SAAS,CAAC,KAAsB;gBACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBAC7E,IAAI,EAAE,EAAE,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EAA0C;iBACrF,CAAC,CAAC;gBACH,OAAO,6BAA6B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,OAAqC;gBAChD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC5C,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACzC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE,EAAE;oBAChF,IAAI,EAAE,IAAsC;iBAC7C,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,OAA2C;gBAC5D,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;oBAC3E,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE;wBACtD,MAAM,EAAE;4BACN,iBAAiB,EAAE,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC;yBACjE;qBACF;iBACF,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,iBAAyB;gBACrC,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBACrE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,iBAAyB;gBACxC,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;oBACxE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,iBAAyB;gBACpC,cAAc,CACZ,MAAM,MAAM,CAAC,MAAM,CAAC,2CAA2C,EAAE;oBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,oBAAoB;YAC1B,OAAO,CACL,MAAoD;gBAEpD,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACjF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,iBAAyB;gBACtC,OAAO,qBAAqB,CAC1B,WAAW,CACT,MAAM,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE;oBAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE;iBACxC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,cAAc,EAAE,qBAAqB;YACrC,iBAAiB,CACf,iBAAyB,EACzB,MAAqD;gBAErD,OAAO,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,qBAAqB,CAAC,iBAAiB,EAAE;oBACvC,GAAG,MAAM;oBACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;iBAC5C,CAAC,CACH,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,OAAmC;gBAC9C,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;gBAChE,OAAO,WAAW,CAChB,MAAM,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBACrE,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,iBAAiB,EAAE;wBAC3B,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE;qBACrE;oBACD,IAAI,EAAE,KAAK;iBACZ,CAAC,CACH,CAAC;YACJ,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,OAA8B;gBACzC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC9D,OAAO,oBAAoB,CACzB,WAAW,CACT,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBACvE,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,gBAAgB,EAAE;wBAC1B,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE;qBACrE;oBACD,IAAI;iBACL,CAAC,CAID,CACF,CACF,CAAC;YACJ,CAAC;SACF;QACD,eAAe,EAAE;YACf,KAAK,CAAC,QAAQ,CAAC,gBAAwB;gBACrC,OAAO,oBAAoB,CACzB,WAAW,CACT,MAAM,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE;oBAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE;iBACvC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,OAAqC;gBACjD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC9D,OAAO,oBAAoB,CACzB,WAAW,CACT,MAAM,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;oBACvE,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,gBAAgB,EAAE;wBAC1B,MAAM,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAAE;qBACrE;oBACD,IAAI,EAAE,IAAsC;iBAC7C,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,sBAAsB,EAAE,CAAC,gBAAwB,EAAE,EAAE,CACnD,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YAClF,6BAA6B,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAC1D,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,CAAC;SAC1F;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;KAC3B,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6B;IACtD,OAAO,OAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,KAAuC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAsC;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,EAChE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,mBAAmB;QACpC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,EAChE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA+C;IACxE,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA8C;IAC1E,OAAO,SAAS,IAAI,KAAK;QACvB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;QACtE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA8C;IAC1E,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,iBAA0B;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACtE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;KAChF,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE;SACxD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;SACnD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA+C;IAC5E,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvF,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACnD,SAAS,EAAE;YACT,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;YAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnE,IAAI;gBACJ,KAAK;gBACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;SAC/B;QACD,YAAY,EACV,cAAc,IAAI,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,YAA4C,CAAC,CAAC,CAAC,EAAE;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAuD;IAEvD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAU9B;IACC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,kBAAkB;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAIlC;IACC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAIlC;IACC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAsB;IACnD,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiB,EAAE,QAAgB;IACtE,OAAO,GAAG,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,SAAkC,EAClC,OAAgB,EAChB,kBAA2B;IAE3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,QAA8B,CAAC;QACnC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,IAAI,KAAK,IAAI,qBAAqB,EAAE,CAAC;gBAC1D,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;YAC/E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,kBAA2B,EAC3B,KAAa,EACb,QAAkB;IAElB,OAAO,CACL,kBAAkB,IAAI,KAAK,GAAG,qBAAqB,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAgB;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,aAAa,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,UAA0B;IAC7D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;YAC7B,OAAO,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,IAAI,CAAC,YAAoB;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc;IACnD,IACE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAC7B,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,EAC5B,CAAC;QACD,MAAM,IAAI,aAAa,CAAC;YACtB,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,yEAAyE;SACjF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAO,QAA8D;IACvF,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,QAAiD;IACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAQD,SAAS,eAAe,CAAC,QAAiB;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAA8C,CAAC;QACzE,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;YAC5D,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAmB,EAAE,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,SAAS,CAAC,QAAkB,EAAE,IAAa;IAClD,MAAM,OAAO,GAAgB,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,IAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,KAAK,GACT,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;QACvD,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,iCAAiC,QAAQ,CAAC,MAAM,GAAG,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,aAAa,CAAC;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,IAAI,uBAAuB;QACrC,KAAK;QACL,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAQD,kGAAkG;AAClG,KAAK,SAAS,CAAC,CAAC,cAAc,CAC5B,QAA6E;IAE7E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,MAA0B,CAAC;IAC/B,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,aAAa,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,4EAA4E;aACpF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,IAAI,aAAa,CAAC;QACvB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,uCAAuC;QAC9C,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAgC,EAChC,OAA+B,EAC/B,OAAe,EACf,gBAAwB,EACxB,QAAsD;IAEtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,GAAG,OAAO,wBAAwB,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,QAAQ,EAAE,EACpF,EAAE,OAAO,EAAE,CACZ,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,aAAa,CAAC;YACtB,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,yDAAyD;SACjE,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,KAAK;QACL,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B;QAC7E,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAiB,EAAE,MAAc;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,aAAa,CAAC,OAA6B;IAClD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9E,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,KAAK,CAAC,IAAI,KAAK,kBAAkB;QACjC,KAAK,CAAC,IAAI,KAAK,iBAAiB;QAChC,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAC1C,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IAC3E,CAAC;IACD,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB;QACtC,KAAK,CAAC,IAAI,KAAK,0BAA0B;QACzC,KAAK,CAAC,IAAI,KAAK,mCAAmC,CAAC;QACrD,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,iBAAiB,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,QAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,CAC/F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"payments-client.js","sourceRoot":"","sources":["../src/payments-client.ts"],"names":[],"mappings":"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"}