@absol-labs/agent 0.12.0-rc.2 → 0.12.0-rc.3

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 (46) hide show
  1. package/dist/cli/commands/claim.d.ts +9 -0
  2. package/dist/cli/commands/claim.d.ts.map +1 -1
  3. package/dist/cli/commands/claim.js +12 -1
  4. package/dist/cli/commands/claim.js.map +1 -1
  5. package/dist/cli/commands/refund.d.ts +2 -0
  6. package/dist/cli/commands/refund.d.ts.map +1 -1
  7. package/dist/cli/commands/refund.js +126 -8
  8. package/dist/cli/commands/refund.js.map +1 -1
  9. package/dist/cli/status.d.ts +6 -0
  10. package/dist/cli/status.d.ts.map +1 -1
  11. package/dist/cli/status.js +25 -6
  12. package/dist/cli/status.js.map +1 -1
  13. package/dist/gateway/x402-opener-mode.d.ts.map +1 -1
  14. package/dist/gateway/x402-opener-mode.js +104 -7
  15. package/dist/gateway/x402-opener-mode.js.map +1 -1
  16. package/dist/x402-opener/block-floors.d.ts +35 -0
  17. package/dist/x402-opener/block-floors.d.ts.map +1 -0
  18. package/dist/x402-opener/block-floors.js +72 -0
  19. package/dist/x402-opener/block-floors.js.map +1 -0
  20. package/dist/x402-opener/facilitator-server.d.ts.map +1 -1
  21. package/dist/x402-opener/facilitator-server.js +7 -0
  22. package/dist/x402-opener/facilitator-server.js.map +1 -1
  23. package/dist/x402-opener/index.d.ts +1 -0
  24. package/dist/x402-opener/index.d.ts.map +1 -1
  25. package/dist/x402-opener/index.js +1 -0
  26. package/dist/x402-opener/index.js.map +1 -1
  27. package/dist/x402-opener/refund-relay.d.ts +62 -1
  28. package/dist/x402-opener/refund-relay.d.ts.map +1 -1
  29. package/dist/x402-opener/refund-relay.js +387 -208
  30. package/dist/x402-opener/refund-relay.js.map +1 -1
  31. package/dist/x402-opener/scheme.d.ts +8 -0
  32. package/dist/x402-opener/scheme.d.ts.map +1 -1
  33. package/dist/x402-opener/scheme.js +14 -0
  34. package/dist/x402-opener/scheme.js.map +1 -1
  35. package/docs/cli.md +23 -2
  36. package/docs/x402.md +83 -26
  37. package/package.json +2 -2
  38. package/src/cli/commands/claim.ts +17 -1
  39. package/src/cli/commands/refund.ts +149 -8
  40. package/src/cli/status.ts +28 -7
  41. package/src/gateway/x402-opener-mode.ts +131 -6
  42. package/src/x402-opener/block-floors.ts +78 -0
  43. package/src/x402-opener/facilitator-server.ts +7 -0
  44. package/src/x402-opener/index.ts +1 -0
  45. package/src/x402-opener/refund-relay.ts +486 -217
  46. package/src/x402-opener/scheme.ts +38 -0
@@ -1,5 +1,5 @@
1
1
  import { HTTPFacilitatorClient, SETTLEMENT_OVERRIDES_HEADER, withPrivateCacheControl, x402HTTPResourceServer, x402ResourceServer, } from "@x402/core/server";
2
- import { decodePaymentSignatureHeader } from "@x402/core/http";
2
+ import { decodePaymentRequiredHeader, decodePaymentSignatureHeader, encodePaymentRequiredHeader, } from "@x402/core/http";
3
3
  import { ExactEvmScheme } from "@x402/evm/exact/server";
4
4
  import { createPublicClient, formatUnits, getAddress, http, isAddress, } from "viem";
5
5
  import { predictUpfrontOpenerAddress, x402UpfrontStreamOpenerFactoryAbi, } from "@absol-labs/shared";
@@ -648,7 +648,10 @@ async function handleX402GatewayRequest(mode, io) {
648
648
  : authorizationKey(paymentHeader);
649
649
  if (claim !== undefined &&
650
650
  !mode.authorizations.claim(claim.key, claim.validBefore)) {
651
- io.writeJson(409, "x402-payment-already-used");
651
+ // Refused exactly as strictly as before (no verify, no upstream, no
652
+ // settle), but in the x402 v2 shape: a 402 with a FRESH PAYMENT-REQUIRED
653
+ // whose `error` says why, so a stock client can pay again or report it.
654
+ await writePaymentRejected(mode, io, context, "x402-payment-already-used", "this PAYMENT-SIGNATURE's authorization was already used (or is being settled) for another request; each authorization buys at most one response. Sign a new payment to call again.");
652
655
  return;
653
656
  }
654
657
  const release = () => {
@@ -673,7 +676,10 @@ async function handleX402GatewayRequest(mode, io) {
673
676
  }
674
677
  if (result.type === "payment-error") {
675
678
  release();
676
- writeInstructions(io, result.response);
679
+ // The stock 402: a fresh PAYMENT-REQUIRED whose `error` is the verifier's
680
+ // reason (e.g. an authorization whose validBefore is too short). The body
681
+ // is made readable too, instead of `{}`.
682
+ writeInstructions(io, result.response, "x402-payment-invalid");
677
683
  return;
678
684
  }
679
685
  const { cancellationDispatcher, beforeHandlerSettlement, paymentPayload, paymentRequirements, declaredExtensions, } = result;
@@ -738,8 +744,9 @@ async function handleX402GatewayRequest(mode, io) {
738
744
  release();
739
745
  }
740
746
  }
741
- // No upstream body on a failed settlement.
742
- writeInstructions(io, settled.response);
747
+ // No upstream body on a failed settlement. The stock settlement-failure
748
+ // 402 carries PAYMENT-RESPONSE (success false, errorReason).
749
+ writeInstructions(io, settled.response, "x402-settlement-failed", settled.errorReason);
743
750
  return;
744
751
  }
745
752
  if (claim !== undefined) {
@@ -759,7 +766,7 @@ async function handleX402GatewayRequest(mode, io) {
759
766
  withPrivateCacheControl(existingCacheControl);
760
767
  io.write(upstream.status, responseHeaders, upstream.body);
761
768
  }
762
- function writeInstructions(io, response) {
769
+ function writeInstructions(io, response, reason, settlementError) {
763
770
  const headers = { ...response.headers };
764
771
  if (response.isHtml === true) {
765
772
  headers["Content-Type"] = "text/html; charset=utf-8";
@@ -767,6 +774,96 @@ function writeInstructions(io, response) {
767
774
  return;
768
775
  }
769
776
  headers["Content-Type"] = "application/json";
770
- io.write(response.status, headers, JSON.stringify(response.body ?? {}));
777
+ let body = response.body ?? {};
778
+ if (reason !== undefined &&
779
+ typeof body === "object" &&
780
+ body !== null &&
781
+ Object.keys(body).length === 0) {
782
+ // Same JSON shape as the gateway's other refusals, plus the x402 error.
783
+ const error = settlementError ?? paymentRequiredError(headers);
784
+ body = {
785
+ authorized: false,
786
+ reason,
787
+ ...(error === undefined ? {} : { error }),
788
+ };
789
+ }
790
+ io.write(response.status, headers, JSON.stringify(body));
791
+ }
792
+ /** The `error` carried in a response's PAYMENT-REQUIRED header, if any. */
793
+ function paymentRequiredError(headers) {
794
+ const value = headerValue(headers, "payment-required");
795
+ if (value === undefined)
796
+ return undefined;
797
+ try {
798
+ const decoded = decodePaymentRequiredHeader(value);
799
+ return typeof decoded.error === "string" ? decoded.error : undefined;
800
+ }
801
+ catch {
802
+ return undefined;
803
+ }
804
+ }
805
+ function headerValue(headers, name) {
806
+ for (const [key, value] of Object.entries(headers)) {
807
+ if (key.toLowerCase() === name)
808
+ return value;
809
+ }
810
+ return undefined;
811
+ }
812
+ /**
813
+ * A spec-shaped x402 v2 refusal of a payment the gateway will not accept: a
814
+ * `402` with a fresh `PAYMENT-REQUIRED` (built by the same resource server
815
+ * that quotes every 402, with no payment attached, so nothing is verified or
816
+ * settled) whose `error` is `reason`, and a JSON body naming it.
817
+ */
818
+ async function writePaymentRejected(mode, io, context, reason, message) {
819
+ const body = JSON.stringify({
820
+ authorized: false,
821
+ reason,
822
+ error: reason,
823
+ message,
824
+ });
825
+ let headers = {};
826
+ try {
827
+ const { paymentHeader: _omitted, ...unpaid } = context;
828
+ const challenge = await mode.httpServer.processHTTPRequest({
829
+ ...unpaid,
830
+ adapter: {
831
+ ...context.adapter,
832
+ // The core reads the payment from the adapter's headers: hide it, so
833
+ // this builds a quote only and NOTHING is verified or settled.
834
+ getHeader: (name) => ["payment-signature", "x-payment"].includes(name.toLowerCase())
835
+ ? undefined
836
+ : context.adapter.getHeader(name),
837
+ // Always the machine-readable 402, never the browser paywall.
838
+ getAcceptHeader: () => "application/json",
839
+ },
840
+ });
841
+ if (challenge.type === "payment-error") {
842
+ for (const [key, value] of Object.entries(challenge.response.headers)) {
843
+ if (key.toLowerCase() === "content-type")
844
+ continue;
845
+ headers[key] = value;
846
+ }
847
+ const required = headerValue(headers, "payment-required");
848
+ if (required !== undefined) {
849
+ const decoded = decodePaymentRequiredHeader(required);
850
+ for (const key of Object.keys(headers)) {
851
+ if (key.toLowerCase() === "payment-required")
852
+ delete headers[key];
853
+ }
854
+ headers["PAYMENT-REQUIRED"] = encodePaymentRequiredHeader({
855
+ ...decoded,
856
+ error: reason,
857
+ });
858
+ }
859
+ }
860
+ }
861
+ catch (error) {
862
+ // Still a 402 refusal (never served, never settled); just without a quote.
863
+ io.logError("x402 fresh PAYMENT-REQUIRED failed", error);
864
+ headers = {};
865
+ }
866
+ headers["Content-Type"] = "application/json";
867
+ io.write(402, headers, body);
771
868
  }
772
869
  //# sourceMappingURL=x402-opener-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x402-opener-mode.js","sourceRoot":"","sources":["../../src/gateway/x402-opener-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402-opener-mode.js","sourceRoot":"","sources":["../../src/gateway/x402-opener-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The lowest block a read about a stream must be served from, per stream.
3
+ *
4
+ * A public RPC endpoint is usually a load balancer over several nodes that are
5
+ * not all at the same height: the node that returned a transaction's receipt
6
+ * can be a block or two ahead of the node that answers the next `eth_call` at
7
+ * `latest`. Right after the facilitator settles a payment (or the refund relay
8
+ * mines a close or reclaim), a read at `latest` can therefore still see the
9
+ * stream as it was BEFORE that transaction — not opened yet, still active,
10
+ * not reclaimed (live finding 2026-10-03: the relay answered `not-found` for a
11
+ * stream it had settled half a second earlier).
12
+ *
13
+ * Whoever observes a mined receipt for a stream records its block here; the
14
+ * refund relay then refuses to answer from any block below it (it waits,
15
+ * bounded, for the RPC to catch up and pins every read of one answer to one
16
+ * block). In-memory, per process, bounded; an entry only ever raises.
17
+ */
18
+ export declare class StreamBlockFloors {
19
+ private readonly options;
20
+ private readonly floors;
21
+ constructor(options?: {
22
+ /** How long an entry is kept, ms. Default 1 h. */
23
+ readonly ttlMs?: number;
24
+ /** Hard cap on entries (oldest dropped first). Default 10 000. */
25
+ readonly maxEntries?: number;
26
+ readonly nowMs?: () => number;
27
+ });
28
+ private now;
29
+ /** Records that `streamId` changed in `block` (a mined receipt's block). */
30
+ note(streamId: string, block: bigint | number | null | undefined): void;
31
+ /** The floor for `streamId`, or `undefined` when none is known. */
32
+ get(streamId: string): bigint | undefined;
33
+ private prune;
34
+ }
35
+ //# sourceMappingURL=block-floors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-floors.d.ts","sourceRoot":"","sources":["../../src/x402-opener/block-floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGnB;gBAGe,OAAO,GAAE;QACxB,kDAAkD;QAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,kEAAkE;QAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;KAC1B;IAGR,OAAO,CAAC,GAAG;IAIX,4EAA4E;IAC5E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAoBvE,mEAAmE;IACnE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWzC,OAAO,CAAC,KAAK;CAOd"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * The lowest block a read about a stream must be served from, per stream.
3
+ *
4
+ * A public RPC endpoint is usually a load balancer over several nodes that are
5
+ * not all at the same height: the node that returned a transaction's receipt
6
+ * can be a block or two ahead of the node that answers the next `eth_call` at
7
+ * `latest`. Right after the facilitator settles a payment (or the refund relay
8
+ * mines a close or reclaim), a read at `latest` can therefore still see the
9
+ * stream as it was BEFORE that transaction — not opened yet, still active,
10
+ * not reclaimed (live finding 2026-10-03: the relay answered `not-found` for a
11
+ * stream it had settled half a second earlier).
12
+ *
13
+ * Whoever observes a mined receipt for a stream records its block here; the
14
+ * refund relay then refuses to answer from any block below it (it waits,
15
+ * bounded, for the RPC to catch up and pins every read of one answer to one
16
+ * block). In-memory, per process, bounded; an entry only ever raises.
17
+ */
18
+ export class StreamBlockFloors {
19
+ options;
20
+ floors = new Map();
21
+ constructor(options = {}) {
22
+ this.options = options;
23
+ }
24
+ now() {
25
+ return (this.options.nowMs ?? Date.now)();
26
+ }
27
+ /** Records that `streamId` changed in `block` (a mined receipt's block). */
28
+ note(streamId, block) {
29
+ if (block === null || block === undefined)
30
+ return;
31
+ const value = BigInt(block);
32
+ if (value <= 0n)
33
+ return;
34
+ const key = streamId.toLowerCase();
35
+ const current = this.get(key);
36
+ if (current !== undefined && current >= value)
37
+ return;
38
+ const max = this.options.maxEntries ?? 10_000;
39
+ if (!this.floors.has(key) && this.floors.size >= max) {
40
+ this.prune();
41
+ while (this.floors.size >= max) {
42
+ const oldest = this.floors.keys().next().value;
43
+ if (oldest === undefined)
44
+ break;
45
+ this.floors.delete(oldest);
46
+ }
47
+ }
48
+ this.floors.delete(key);
49
+ this.floors.set(key, { block: value, at: this.now() });
50
+ }
51
+ /** The floor for `streamId`, or `undefined` when none is known. */
52
+ get(streamId) {
53
+ const key = streamId.toLowerCase();
54
+ const entry = this.floors.get(key);
55
+ if (entry === undefined)
56
+ return undefined;
57
+ if (this.now() - entry.at >= (this.options.ttlMs ?? 3_600_000)) {
58
+ this.floors.delete(key);
59
+ return undefined;
60
+ }
61
+ return entry.block;
62
+ }
63
+ prune() {
64
+ const ttl = this.options.ttlMs ?? 3_600_000;
65
+ const now = this.now();
66
+ for (const [key, entry] of this.floors) {
67
+ if (now - entry.at >= ttl)
68
+ this.floors.delete(key);
69
+ }
70
+ }
71
+ }
72
+ //# sourceMappingURL=block-floors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-floors.js","sourceRoot":"","sources":["../../src/x402-opener/block-floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iBAAiB;IAOT;IANF,MAAM,GAAG,IAAI,GAAG,EAG9B,CAAC;IAEJ,YACmB,UAMb,EAAE;QANW,YAAO,GAAP,OAAO,CAMlB;IACL,CAAC;IAEI,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,QAAgB,EAAE,KAAyC;QAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO;QACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK;YAAE,OAAO;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAC/C,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM;gBAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,mEAAmE;IACnE,GAAG,CAAC,QAAgB;QAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator-server.d.ts","sourceRoot":"","sources":["../../src/x402-opener/facilitator-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facilitator-server.d.ts","sourceRoot":"","sources":["../../src/x402-opener/facilitator-server.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { privateKeyToAccount } from "viem/accounts";
7
7
  import { DEFAULT_METRIK_PUBLIC_REGISTRY_URL } from "../discovery/registry.js";
8
8
  import { DEFAULT_LISTING_CACHE_SECONDS, RegistryListingResolver, } from "./listing-resolver.js";
9
9
  import { DEFAULT_REFUND_READ_CACHE_SECONDS, DEFAULT_REFUND_SUBMISSIONS_PER_MINUTE, DEFAULT_REFUND_SUBMISSIONS_PER_STREAM_PER_MINUTE, OpenerRefundRelay, } from "./refund-relay.js";
10
+ import { StreamBlockFloors } from "./block-floors.js";
10
11
  import { RelayerQueue } from "./relayer-queue.js";
11
12
  import { MetrikOpenerExactScheme, } from "./scheme.js";
12
13
  import { chainIdFromNetwork } from "./terms.js";
@@ -342,9 +343,14 @@ export async function buildOpenerFacilitator(options) {
342
343
  const walletClient = createWalletClient({ account, chain, transport });
343
344
  // ONE queue for every transaction this relayer key sends.
344
345
  const relayerQueue = new RelayerQueue();
346
+ // ONE set of per-stream block floors: the scheme records each settlement's
347
+ // block, and the refund relay never answers below it (a lagging RPC node
348
+ // would otherwise call a stream settled a second ago "not found").
349
+ const streamFloors = new StreamBlockFloors();
345
350
  const receiptTimeoutMs = options.receiptTimeoutMs;
346
351
  const scheme = new MetrikOpenerExactScheme({
347
352
  relayerQueue,
353
+ streamFloors,
348
354
  advertiseRefundRelay: options.refundRelay !== undefined,
349
355
  network: options.network,
350
356
  factoryAddress: options.factoryAddress,
@@ -385,6 +391,7 @@ export async function buildOpenerFacilitator(options) {
385
391
  publicClient,
386
392
  walletClient,
387
393
  relayerQueue,
394
+ streamFloors,
388
395
  ...(receiptTimeoutMs === undefined ? {} : { receiptTimeoutMs }),
389
396
  ...(relay.publicBaseUrl === undefined
390
397
  ? {}
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator-server.js","sourceRoot":"","sources":["../../src/x402-opener/facilitator-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,YAAY,GAIb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,KAAK,GAGN,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,gDAAgD,EAChD,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,uBAAuB,GAExB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;;;;;;;GAWG;AAEH,mFAAmF;AACnF,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEvC,6DAA6D;AAC7D,MAAM,aAAa,GAAG,uCAAuC,CAAC;AAE9D,MAAM,iBAAkB,SAAQ,KAAK;CAAG;AA6CxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,2CAA2C,GAAG,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,GAAG,CAAC;AAC/D,qFAAqF;AACrF,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,MAAM,UAAU,6BAA6B,CAC3C,MAAqC;IAErC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,8BAA8B,qBAAqB,aAAa,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAC/D,MAAM,WAAW,GACf,MAAM,CAAC,wBAAwB,IAAI,oCAAoC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,2EAA2E;IAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAC1E,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE;QAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACzD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,WAAW,GACf,MAAM,CAAC,6BAA6B;QACpC,2CAA2C,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,iBAAiB,GACrB,MAAM,CAAC,8BAA8B;QACrC,2CAA2C,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1D,gFAAgF;IAChF,MAAM,sBAAsB,GAAG,GAAW,EAAE;QAC1C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,IAAI,GAAG,GAAG,kBAAkB,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YAC7C,kBAAkB,CAAC,KAAK,GAAG,GAAG,CAAC;YAC/B,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,kBAAkB,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAC5D,CAAC;QACJ,CAAC;QACD,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAC1E,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;QAClD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBACtE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;oBACzC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM;wBAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,aAAa,CAAC,IAAI,IAAI,mBAAmB;oBAAE,OAAO,EAAE,CAAC;YAC3D,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAU,EAAE;QACjD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,GAAG,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;gBAAE,OAAO,GAAG,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAoB,EAAW,EAAE;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oEAAoE;QACpE,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,KAAK,CACV,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,MAAM,CAAC,GAAoB,EAAE,GAAmB;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QAEnC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAW,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,MAAM,YAAY,CAChB,GAAG,EACH,GAAG,EACH,MAAM,CAAC,WAAW,EAClB,MAAM,EACN,QAAQ,EACR,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IACE,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC1D,MAAM,KAAK,MAAM,EACjB,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC5C,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,IAGf,CAAC;YACF,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,KAAK,IAAI;gBAChB,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;gBAC1C,OAAO,CAAC,cAAc,KAAK,IAAI;gBAC/B,OAAO,OAAO,CAAC,mBAAmB,KAAK,QAAQ;gBAC/C,OAAO,CAAC,mBAAmB,KAAK,IAAI,EACpC,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;oBACb,KAAK,EAAE,qDAAqD;iBAC7D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,cAEpB,CAAC;YACL,MAAM,YAAY,GAAG,OAAO,CAAC,mBAEzB,CAAC;YACL,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,IAAI,CACF,GAAG,EACH,GAAG,EACH,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CACvD,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;wBACb,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,4BAA4B;wBACzC,YAAY,EACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBACxD,WAAW,EAAE,EAAE;wBACf,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;oBACb,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,4BAA4B;oBAC3C,cAAc,EACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,GAAoB,EACpB,GAAmB,EACnB,KAAyB,EACzB,MAAc,EACd,QAAgB,EAChB,MAA0B;QAE1B,MAAM,KAAK,GACT,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,KAAK,OAAO;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,KAAK,oBAAoB;wBAC/B,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,SAAS,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,CAAC;YAAE,UAAU,GAAG,sBAAsB,EAAE,CAAC;QAC5D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,MAA2B,CAAC;QAChC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,8DAA8D;YAC9D,MAAM,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CACf,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;oBACvC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM;gBACJ,KAAK,KAAK,OAAO;oBACf,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACnC,CAAC,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,UAAU;QACV,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBACjC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAiB,CAAC;gBACpD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACJ,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC;KACL,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAC9D,GAAG;SACA,SAAS,CAAC,MAAM,EAAE;QACjB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU;KAC5B,CAAC;SACD,GAAG,CACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,CACF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAoB,EACpB,QAAgB,cAAc;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;QACtB,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AA6CD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAiC;IAQjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,0DAA0D;IAC1D,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;QACzC,YAAY;QACZ,oBAAoB,EAAE,OAAO,CAAC,WAAW,KAAK,SAAS;QACvD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY;QACZ,YAAY;QACZ,eAAe,EACb,OAAO,CAAC,eAAe;YACvB,IAAI,uBAAuB,CAAC;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kCAAkC;gBACtE,YAAY,EACV,OAAO,CAAC,mBAAmB,IAAI,6BAA6B;aAC/D,CAAC;QACJ,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,WAA0C,CAAC;IAC/C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,WAAW,GAAG,IAAI,iBAAiB,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC7D,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;YAC/D,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,6BAA6B,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,gCAAgC,EAC9B,KAAK,CAAC,6BAA6B;iBACtC,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS;gBAC1C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,uBAAuB,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;gBACtC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO;QACL,WAAW;QACX,MAAM;QACN,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAyB,OAAO,CAAC,GAAG;IAEpC,IACE,CAAC,YAAY,CACX,GAAG,CAAC,iCAAiC,EACrC,mCAAmC,CACpC,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE;QAC5D,cAAc,EAAE,CAAC,KAAK,CAAY,CAAC;IACrC,sEAAsE;IACtE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;IACpE,uEAAuE;IACvE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,iBAAiB,GAAG,UAAU,CAClC,GAAG,EACH,+CAA+C,CAChD,CAAC;IACF,IACE,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3C,iBAAiB,CAAC,MAAM,KAAK,EAAE,EAC/B,CAAC;QACD,wBAAwB;QACxB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;IAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,yDAAyD,qBAAqB,aAAa,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,yCAAyC,EAAE,IAAI,EAAE,CAAC;IACzE,IAAI,cAAuB,CAAC;IAC5B,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,qDAAqD,CACzH,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,cAAc,CAC7B,GAAG,EACH,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,wCAAwC,EAAE,IAAI,EAAE,CAAC;IACvE,IAAI,aAAsB,CAAC;IAC3B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,2DAA2D,OAAO,yCAAyC,CAC5G,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,cAAc,CAC5B,GAAG,EACH,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CACnC,GAAG,CAAC,iDAAiD,EACrD,OAAO,EACP,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,cAAyB,CAAC;IAC9B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,yCAAyC,CACpG,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,SAAS;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,6DAA6D,KAAK,EAAE,CACrE,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,WAAW,GACf,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE;QAClD,kCAAkC,CAAC;IACrC,uEAAuE;IACvE,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrB,MAAM,mBAAmB,GAAG,cAAc,CACxC,GAAG,EACH,iDAAiD,EACjD,6BAA6B,CAC9B,CAAC;IACF,MAAM,qBAAqB,GAAG,WAAW,CACvC,GAAG,EACH,mDAAmD,EACnD,EAAE,CACH,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,IAAI,EAAE,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,WAAW;QAC/D,IAAI;QACJ,OAAO;QACP,MAAM;QACN,iBAAiB,EAAE,iBAAwB;QAC3C,SAAS;QACT,mBAAmB,EACjB,CAAC,GAAG,CAAC,gDAAgD,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpE,EAAE;YACA,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,YAAY,CACV,GAAG,CAAC,gDAAgD,EACpD,kDAAkD,CACnD;QACP,SAAS,EAAE,MAAM,CACf,WAAW,CAAC,GAAG,EAAE,sCAAsC,EAAE,MAAM,CAAC,CACjE;QACD,wBAAwB,EAAE,WAAW,CACnC,GAAG,EACH,wDAAwD,EACxD,oCAAoC,CACrC;QACD,cAAc;QACd,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,aAAa;QACb,cAAc;QACd,WAAW;QACX,mBAAmB;QACnB,gBAAgB,EAAE,qBAAqB,GAAG,IAAI;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAuB,EACvB,OAAgB,EAChB,aAAsB;IAOtB,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GACb,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzC,UAAU,CAAC,aAAa,CAAC,CAC9B,CAAC;IACR,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO;YACL,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,IAAI;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;SACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GACT,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAClD,CAAC;IACR,OAAO;QACL,qBAAqB,EAAE,UAAU,CAAC,KAAK,CAAC;QACxC,GAAG,CAAC,KAAK,EAAE,cAAc,IAAI,IAAI;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAsB,EACtB,OAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrE,IACE,GAAG,CAAC,MAAM,GAAG,CAAC;QACd,CAAC,YAAY,CAAC,GAAG,EAAE,wCAAwC,CAAC,EAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,uDAAuD,OAAO,2FAA2F,CAC1J,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,cAAc,CACxB,SAAS,EACT,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,aAAa,GACjB,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzE,OAAO;QACL,SAAS;QACT,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,uBAAuB,EAAE,WAAW,CAClC,GAAG,EACH,+DAA+D,EAC/D,2CAA2C,CAC5C;QACD,wBAAwB,EAAE,WAAW,CACnC,GAAG,EACH,+DAA+D,EAC/D,2CAA2C,CAC5C;QACD,gBAAgB,EAAE,cAAc,CAC9B,GAAG,EACH,qDAAqD,EACrD,iCAAiC,CAClC;QACD,6BAA6B,EAAE,WAAW,CACxC,GAAG,EACH,oEAAoE,EACpE,gDAAgD,CACjD;QACD,oBAAoB,EAAE,WAAW,CAC/B,GAAG,EACH,yDAAyD,EACzD,qCAAqC,CACtC;QACD,UAAU,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,YAAY,CAAC,QAAQ,EAAE,uCAAuC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,IAAY;IACjD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,MAAyB,OAAO,CAAC,GAAG;IAQpC,MAAM,MAAM,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC;QACzE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5D,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;oBACvC,6BAA6B,EAC3B,MAAM,CAAC,WAAW,CAAC,6BAA6B;oBAClD,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,oBAAoB;oBAC7D,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB;oBACrD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,SAAS;wBAChD,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;iBACzD;aACF,CAAC;KACP,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC;QAC3C,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAC/D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW;gBACX,6BAA6B,EAC3B,MAAM,CAAC,WAAW,CAAC,uBAAuB;gBAC5C,8BAA8B,EAC5B,MAAM,CAAC,WAAW,CAAC,wBAAwB;gBAC7C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU;aAC1C,CAAC;KACP,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,IAAI;QACf,OAAO;QACP,kBAAkB,EAAE,WAAW,KAAK,SAAS;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,uBAAuB,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,GAAsB,EAAE,IAAY;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAAsB,EAAE,IAAY;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAClB,GAAsB,EACtB,IAAY,EACZ,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,GAAG,gCAAgC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,GAAsB,EACtB,IAAY,EACZ,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,KAAK,GAAG,oCAAoC,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"facilitator-server.js","sourceRoot":"","sources":["../../src/x402-opener/facilitator-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,YAAY,GAIb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,KAAK,GAGN,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,gDAAgD,EAChD,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,uBAAuB,GAExB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;;;;;;;GAWG;AAEH,mFAAmF;AACnF,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEvC,6DAA6D;AAC7D,MAAM,aAAa,GAAG,uCAAuC,CAAC;AAE9D,MAAM,iBAAkB,SAAQ,KAAK;CAAG;AA6CxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,2CAA2C,GAAG,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,GAAG,CAAC;AAC/D,qFAAqF;AACrF,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,MAAM,UAAU,6BAA6B,CAC3C,MAAqC;IAErC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,8BAA8B,qBAAqB,aAAa,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAC/D,MAAM,WAAW,GACf,MAAM,CAAC,wBAAwB,IAAI,oCAAoC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,2EAA2E;IAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAC1E,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE;QAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACzD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,WAAW,GACf,MAAM,CAAC,6BAA6B;QACpC,2CAA2C,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,iBAAiB,GACrB,MAAM,CAAC,8BAA8B;QACrC,2CAA2C,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1D,gFAAgF;IAChF,MAAM,sBAAsB,GAAG,GAAW,EAAE;QAC1C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,IAAI,GAAG,GAAG,kBAAkB,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YAC7C,kBAAkB,CAAC,KAAK,GAAG,GAAG,CAAC;YAC/B,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,kBAAkB,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAC5D,CAAC;QACJ,CAAC;QACD,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAC1E,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;QAClD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBACtE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;oBACzC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM;wBAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,aAAa,CAAC,IAAI,IAAI,mBAAmB;oBAAE,OAAO,EAAE,CAAC;YAC3D,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAU,EAAE;QACjD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,GAAG,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;gBAAE,OAAO,GAAG,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAoB,EAAW,EAAE;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oEAAoE;QACpE,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,KAAK,CACV,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,MAAM,CAAC,GAAoB,EAAE,GAAmB;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QAEnC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAW,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,MAAM,YAAY,CAChB,GAAG,EACH,GAAG,EACH,MAAM,CAAC,WAAW,EAClB,MAAM,EACN,QAAQ,EACR,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IACE,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC1D,MAAM,KAAK,MAAM,EACjB,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC5C,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,IAGf,CAAC;YACF,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,KAAK,IAAI;gBAChB,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;gBAC1C,OAAO,CAAC,cAAc,KAAK,IAAI;gBAC/B,OAAO,OAAO,CAAC,mBAAmB,KAAK,QAAQ;gBAC/C,OAAO,CAAC,mBAAmB,KAAK,IAAI,EACpC,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;oBACb,KAAK,EAAE,qDAAqD;iBAC7D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,cAEpB,CAAC;YACL,MAAM,YAAY,GAAG,OAAO,CAAC,mBAEzB,CAAC;YACL,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,IAAI,CACF,GAAG,EACH,GAAG,EACH,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CACvD,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;wBACb,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,4BAA4B;wBACzC,YAAY,EACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBACxD,WAAW,EAAE,EAAE;wBACf,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;oBACb,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,4BAA4B;oBAC3C,cAAc,EACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,GAAoB,EACpB,GAAmB,EACnB,KAAyB,EACzB,MAAc,EACd,QAAgB,EAChB,MAA0B;QAE1B,MAAM,KAAK,GACT,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,KAAK,OAAO;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,KAAK,oBAAoB;wBAC/B,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,SAAS,CAAC;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,CAAC;YAAE,UAAU,GAAG,sBAAsB,EAAE,CAAC;QAC5D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,MAA2B,CAAC;QAChC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,8DAA8D;YAC9D,MAAM,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CACf,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;oBACvC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM;gBACJ,KAAK,KAAK,OAAO;oBACf,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACnC,CAAC,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,UAAU;QACV,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBACjC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAiB,CAAC;gBACpD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACJ,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC;KACL,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAC9D,GAAG;SACA,SAAS,CAAC,MAAM,EAAE;QACjB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU;KAC5B,CAAC;SACD,GAAG,CACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,CACF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAoB,EACpB,QAAgB,cAAc;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAe,CAAC;QAC/B,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;QACtB,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AA6CD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAiC;IAQjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,0DAA0D;IAC1D,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,2EAA2E;IAC3E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;QACzC,YAAY;QACZ,YAAY;QACZ,oBAAoB,EAAE,OAAO,CAAC,WAAW,KAAK,SAAS;QACvD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY;QACZ,YAAY;QACZ,eAAe,EACb,OAAO,CAAC,eAAe;YACvB,IAAI,uBAAuB,CAAC;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kCAAkC;gBACtE,YAAY,EACV,OAAO,CAAC,mBAAmB,IAAI,6BAA6B;aAC/D,CAAC;QACJ,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,WAA0C,CAAC;IAC/C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,WAAW,GAAG,IAAI,iBAAiB,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC7D,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;YAC/D,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,6BAA6B,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,gCAAgC,EAC9B,KAAK,CAAC,6BAA6B;iBACtC,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS;gBAC1C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,uBAAuB,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;gBACtC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO;QACL,WAAW;QACX,MAAM;QACN,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAyB,OAAO,CAAC,GAAG;IAEpC,IACE,CAAC,YAAY,CACX,GAAG,CAAC,iCAAiC,EACrC,mCAAmC,CACpC,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE;QAC5D,cAAc,EAAE,CAAC,KAAK,CAAY,CAAC;IACrC,sEAAsE;IACtE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;IACpE,uEAAuE;IACvE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,iBAAiB,GAAG,UAAU,CAClC,GAAG,EACH,+CAA+C,CAChD,CAAC;IACF,IACE,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3C,iBAAiB,CAAC,MAAM,KAAK,EAAE,EAC/B,CAAC;QACD,wBAAwB;QACxB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;IAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,yDAAyD,qBAAqB,aAAa,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,yCAAyC,EAAE,IAAI,EAAE,CAAC;IACzE,IAAI,cAAuB,CAAC;IAC5B,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,qDAAqD,CACzH,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,cAAc,CAC7B,GAAG,EACH,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,wCAAwC,EAAE,IAAI,EAAE,CAAC;IACvE,IAAI,aAAsB,CAAC;IAC3B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,2DAA2D,OAAO,yCAAyC,CAC5G,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,cAAc,CAC5B,GAAG,EACH,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CACnC,GAAG,CAAC,iDAAiD,EACrD,OAAO,EACP,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,cAAyB,CAAC;IAC9B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,yCAAyC,CACpG,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,SAAS;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,6DAA6D,KAAK,EAAE,CACrE,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,WAAW,GACf,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE;QAClD,kCAAkC,CAAC;IACrC,uEAAuE;IACvE,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrB,MAAM,mBAAmB,GAAG,cAAc,CACxC,GAAG,EACH,iDAAiD,EACjD,6BAA6B,CAC9B,CAAC;IACF,MAAM,qBAAqB,GAAG,WAAW,CACvC,GAAG,EACH,mDAAmD,EACnD,EAAE,CACH,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,IAAI,EAAE,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,WAAW;QAC/D,IAAI;QACJ,OAAO;QACP,MAAM;QACN,iBAAiB,EAAE,iBAAwB;QAC3C,SAAS;QACT,mBAAmB,EACjB,CAAC,GAAG,CAAC,gDAAgD,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpE,EAAE;YACA,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,YAAY,CACV,GAAG,CAAC,gDAAgD,EACpD,kDAAkD,CACnD;QACP,SAAS,EAAE,MAAM,CACf,WAAW,CAAC,GAAG,EAAE,sCAAsC,EAAE,MAAM,CAAC,CACjE;QACD,wBAAwB,EAAE,WAAW,CACnC,GAAG,EACH,wDAAwD,EACxD,oCAAoC,CACrC;QACD,cAAc;QACd,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,aAAa;QACb,cAAc;QACd,WAAW;QACX,mBAAmB;QACnB,gBAAgB,EAAE,qBAAqB,GAAG,IAAI;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAuB,EACvB,OAAgB,EAChB,aAAsB;IAOtB,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GACb,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzC,UAAU,CAAC,aAAa,CAAC,CAC9B,CAAC;IACR,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO;YACL,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,IAAI;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;SACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GACT,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAClD,CAAC;IACR,OAAO;QACL,qBAAqB,EAAE,UAAU,CAAC,KAAK,CAAC;QACxC,GAAG,CAAC,KAAK,EAAE,cAAc,IAAI,IAAI;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAsB,EACtB,OAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrE,IACE,GAAG,CAAC,MAAM,GAAG,CAAC;QACd,CAAC,YAAY,CAAC,GAAG,EAAE,wCAAwC,CAAC,EAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,uDAAuD,OAAO,2FAA2F,CAC1J,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,cAAc,CACxB,SAAS,EACT,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,aAAa,GACjB,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzE,OAAO;QACL,SAAS;QACT,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,uBAAuB,EAAE,WAAW,CAClC,GAAG,EACH,+DAA+D,EAC/D,2CAA2C,CAC5C;QACD,wBAAwB,EAAE,WAAW,CACnC,GAAG,EACH,+DAA+D,EAC/D,2CAA2C,CAC5C;QACD,gBAAgB,EAAE,cAAc,CAC9B,GAAG,EACH,qDAAqD,EACrD,iCAAiC,CAClC;QACD,6BAA6B,EAAE,WAAW,CACxC,GAAG,EACH,oEAAoE,EACpE,gDAAgD,CACjD;QACD,oBAAoB,EAAE,WAAW,CAC/B,GAAG,EACH,yDAAyD,EACzD,qCAAqC,CACtC;QACD,UAAU,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,YAAY,CAAC,QAAQ,EAAE,uCAAuC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,IAAY;IACjD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,MAAyB,OAAO,CAAC,GAAG;IAQpC,MAAM,MAAM,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC;QACzE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5D,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;oBACvC,6BAA6B,EAC3B,MAAM,CAAC,WAAW,CAAC,6BAA6B;oBAClD,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,oBAAoB;oBAC7D,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB;oBACrD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,SAAS;wBAChD,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;iBACzD;aACF,CAAC;KACP,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,6BAA6B,CAAC;QAC3C,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAC/D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW;gBACX,6BAA6B,EAC3B,MAAM,CAAC,WAAW,CAAC,uBAAuB;gBAC5C,8BAA8B,EAC5B,MAAM,CAAC,WAAW,CAAC,wBAAwB;gBAC7C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU;aAC1C,CAAC;KACP,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,IAAI;QACf,OAAO;QACP,kBAAkB,EAAE,WAAW,KAAK,SAAS;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,uBAAuB,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,GAAsB,EAAE,IAAY;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAAsB,EAAE,IAAY;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAClB,GAAsB,EACtB,IAAY,EACZ,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,GAAG,gCAAgC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,GAAsB,EACtB,IAAY,EACZ,QAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,KAAK,GAAG,oCAAoC,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -11,4 +11,5 @@ export * from "./scheme.js";
11
11
  export * from "./facilitator-server.js";
12
12
  export * from "./refund-relay.js";
13
13
  export * from "./relayer-queue.js";
14
+ export * from "./block-floors.js";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/x402-opener/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/x402-opener/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -11,4 +11,5 @@ export * from "./scheme.js";
11
11
  export * from "./facilitator-server.js";
12
12
  export * from "./refund-relay.js";
13
13
  export * from "./relayer-queue.js";
14
+ export * from "./block-floors.js";
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/x402-opener/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/x402-opener/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}