mppx 0.8.13 → 0.8.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/dist/Errors.d.ts +10 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +11 -2
- package/dist/Errors.js.map +1 -1
- package/dist/Method.d.ts +105 -3
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +102 -2
- package/dist/Method.js.map +1 -1
- package/dist/cli/validate/payment.d.ts.map +1 -1
- package/dist/cli/validate/payment.js +18 -4
- package/dist/cli/validate/payment.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +98 -5
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/MethodChallenge.d.ts +19 -0
- package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
- package/dist/client/internal/MethodChallenge.js +15 -0
- package/dist/client/internal/MethodChallenge.js.map +1 -0
- package/dist/client/internal/MethodResponse.d.ts +15 -0
- package/dist/client/internal/MethodResponse.d.ts.map +1 -1
- package/dist/client/internal/MethodResponse.js +10 -0
- package/dist/client/internal/MethodResponse.js.map +1 -1
- package/dist/server/Mppx.d.ts +23 -4
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +91 -82
- package/dist/server/Mppx.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +1 -0
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +1 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +7 -2
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.js +2 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +46 -77
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +289 -209
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +12 -1
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +4 -0
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Relay.d.ts +57 -0
- package/dist/tempo/server/Relay.d.ts.map +1 -0
- package/dist/tempo/server/Relay.js +179 -0
- package/dist/tempo/server/Relay.js.map +1 -0
- package/dist/tempo/server/SponsorBudget.d.ts +59 -0
- package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
- package/dist/tempo/server/SponsorBudget.js +150 -0
- package/dist/tempo/server/SponsorBudget.js.map +1 -0
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +9 -4
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/CredentialState.d.ts +5 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +37 -19
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Runtime.d.ts +8 -0
- package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
- package/dist/tempo/session/client/Runtime.js +17 -0
- package/dist/tempo/session/client/Runtime.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +15 -5
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +216 -45
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +8 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +114 -44
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/Transports.d.ts +16 -6
- package/dist/tempo/session/client/Transports.d.ts.map +1 -1
- package/dist/tempo/session/client/Transports.js +84 -37
- package/dist/tempo/session/client/Transports.js.map +1 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Chain.js +96 -8
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/tempo/session/precompile/Channel.d.ts +2 -0
- package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Channel.js +4 -0
- package/dist/tempo/session/precompile/Channel.js.map +1 -1
- package/dist/tempo/session/server/RequestState.js +3 -1
- package/dist/tempo/session/server/RequestState.js.map +1 -1
- package/dist/tempo/session/server/Ws.d.ts.map +1 -1
- package/dist/tempo/session/server/Ws.js +3 -0
- package/dist/tempo/session/server/Ws.js.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts +1 -829
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.js +14 -3
- package/dist/tempo/subscription/KeyAuthorization.js.map +1 -1
- package/dist/viem/Client.d.ts.map +1 -1
- package/dist/viem/Client.js +6 -1
- package/dist/viem/Client.js.map +1 -1
- package/package.json +2 -2
- package/src/Errors.test.ts +23 -0
- package/src/Errors.ts +21 -2
- package/src/Method.test.ts +102 -1
- package/src/Method.ts +241 -5
- package/src/cli/validate/payment.ts +18 -4
- package/src/cli/validate.test.ts +16 -0
- package/src/client/Mppx.test-d.ts +3 -3
- package/src/client/internal/Fetch.test.ts +77 -0
- package/src/client/internal/Fetch.ts +122 -11
- package/src/client/internal/MethodChallenge.ts +35 -0
- package/src/client/internal/MethodResponse.ts +28 -0
- package/src/server/Mppx.test-d.ts +2 -0
- package/src/server/Mppx.test.ts +205 -0
- package/src/server/Mppx.ts +167 -103
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/PublicExports.test-d.ts +20 -0
- package/src/tempo/internal/fee-payer.ts +7 -3
- package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
- package/src/tempo/legacy/client/ChannelOps.ts +2 -1
- package/src/tempo/server/Charge.test.ts +337 -63
- package/src/tempo/server/Charge.ts +443 -267
- package/src/tempo/server/Methods.ts +11 -0
- package/src/tempo/server/Relay.test.ts +677 -0
- package/src/tempo/server/Relay.ts +297 -0
- package/src/tempo/server/SponsorBudget.test.ts +154 -0
- package/src/tempo/server/SponsorBudget.ts +219 -0
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/README.md +7 -0
- package/src/tempo/session/client/ChannelOps.test.ts +17 -2
- package/src/tempo/session/client/ChannelOps.ts +12 -4
- package/src/tempo/session/client/CredentialState.ts +61 -20
- package/src/tempo/session/client/Runtime.test.ts +12 -0
- package/src/tempo/session/client/Runtime.ts +22 -0
- package/src/tempo/session/client/Session.test.ts +506 -7
- package/src/tempo/session/client/Session.ts +279 -54
- package/src/tempo/session/client/SessionManager.test.ts +318 -13
- package/src/tempo/session/client/SessionManager.ts +132 -42
- package/src/tempo/session/client/Transports.test.ts +54 -1
- package/src/tempo/session/client/Transports.ts +137 -57
- package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
- package/src/tempo/session/precompile/Chain.test.ts +197 -10
- package/src/tempo/session/precompile/Chain.ts +102 -8
- package/src/tempo/session/precompile/Channel.test.ts +9 -0
- package/src/tempo/session/precompile/Channel.ts +5 -0
- package/src/tempo/session/server/RequestState.test.ts +8 -1
- package/src/tempo/session/server/RequestState.ts +2 -2
- package/src/tempo/session/server/Session.test.ts +66 -4
- package/src/tempo/session/server/Ws.ts +3 -0
- package/src/tempo/subscription/KeyAuthorization.test.ts +70 -1
- package/src/tempo/subscription/KeyAuthorization.ts +14 -3
- package/src/viem/Client.test.ts +18 -1
- package/src/viem/Client.ts +7 -1
|
@@ -17,6 +17,7 @@ export const WebSocketReadyState = {
|
|
|
17
17
|
// Keep protocol/policy close codes on the server side and use an app-defined code here.
|
|
18
18
|
/** Client-side close code used for payment protocol errors. */
|
|
19
19
|
export const ClientWebSocketProtocolErrorCloseCode = 3008;
|
|
20
|
+
const webSocketChallengeRefreshWindowMs = 5_000;
|
|
20
21
|
/** Wraps a raw WebSocket so protocol frames can be handled before user listeners see messages. */
|
|
21
22
|
export function createManagedSocket(socket) {
|
|
22
23
|
const listeners = new Map();
|
|
@@ -174,23 +175,24 @@ export function resolveManualTopUp(parameters) {
|
|
|
174
175
|
/**
|
|
175
176
|
* Applies local deposit and state bookkeeping for a top-up response.
|
|
176
177
|
*
|
|
177
|
-
*
|
|
178
|
-
* update accepted spend authorization; they do not replace deposit.
|
|
178
|
+
* Deposit advances from the highest known baseline. Receipt cumulative values
|
|
179
|
+
* only update accepted spend authorization; they do not replace deposit.
|
|
179
180
|
*/
|
|
180
181
|
export function applyTopUpResult(parameters) {
|
|
181
|
-
const { additionalDeposit, channel, channelId, challengeId, currentState, receipt, spent } = parameters;
|
|
182
|
+
const { additionalDeposit, channel, channelId, challengeId, currentState, knownDeposit, receipt, spent, } = parameters;
|
|
182
183
|
if (channel?.channelId !== channelId)
|
|
183
184
|
return undefined;
|
|
184
|
-
channel.deposit
|
|
185
|
+
const baseline = knownDeposit !== undefined && knownDeposit > channel.deposit ? knownDeposit : channel.deposit;
|
|
186
|
+
const updated = { ...channel, deposit: baseline + additionalDeposit };
|
|
185
187
|
if (receipt)
|
|
186
|
-
return { channel, state: activeStateFromReceipt(receipt,
|
|
188
|
+
return { channel: updated, state: activeStateFromReceipt(receipt, updated) };
|
|
187
189
|
if (!challengeId)
|
|
188
|
-
return { channel };
|
|
190
|
+
return { channel: updated };
|
|
189
191
|
return {
|
|
190
|
-
channel,
|
|
192
|
+
channel: updated,
|
|
191
193
|
state: activeStateFromChannel({
|
|
192
194
|
challengeId,
|
|
193
|
-
entry:
|
|
195
|
+
entry: updated,
|
|
194
196
|
spent: spent.toString(),
|
|
195
197
|
units: currentState.status === 'active' ? currentState.units : 0,
|
|
196
198
|
}),
|
|
@@ -234,6 +236,11 @@ export async function resolveNeedVoucherContext(parameters) {
|
|
|
234
236
|
export function isTempoSessionChallenge(challenge) {
|
|
235
237
|
return (challenge.method === Constants.Methods.tempo && challenge.intent === Constants.Intents.session);
|
|
236
238
|
}
|
|
239
|
+
/** Returns true when a challenge selects the TIP-1034 session protocol. */
|
|
240
|
+
export function isTip1034SessionChallenge(challenge) {
|
|
241
|
+
return (isTempoSessionChallenge(challenge) &&
|
|
242
|
+
Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionProtocol) === Constants.SessionProtocols.v2);
|
|
243
|
+
}
|
|
237
244
|
/** Reads a server-provided session snapshot from challenge method details. */
|
|
238
245
|
export function getSessionSnapshot(challenge) {
|
|
239
246
|
return Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionSnapshot);
|
|
@@ -296,21 +303,37 @@ export async function postTopUp(parameters) {
|
|
|
296
303
|
if (!channel?.descriptor || channel.channelId !== channelId) {
|
|
297
304
|
throw new Error('Cannot top up session: no local channel descriptor available.');
|
|
298
305
|
}
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
306
|
+
const response = await postManagementCredential({
|
|
307
|
+
challenge: parameters.challenge,
|
|
308
|
+
context: {
|
|
309
|
+
action: 'topUp',
|
|
310
|
+
channelId,
|
|
311
|
+
descriptor: channel.descriptor,
|
|
312
|
+
additionalDepositRaw: parameters.additionalDeposit.toString(),
|
|
313
|
+
},
|
|
314
|
+
createSessionCredential: parameters.createSessionCredential,
|
|
315
|
+
fetch: parameters.fetch,
|
|
316
|
+
input: parameters.input,
|
|
308
317
|
});
|
|
309
318
|
if (!response.ok)
|
|
310
319
|
throw new Error(`Top-up POST failed with status ${response.status}`);
|
|
311
320
|
const receiptHeader = response.headers.get(Constants.Headers.paymentReceipt);
|
|
312
321
|
return receiptHeader ? deserializeSessionReceipt(receiptHeader) : undefined;
|
|
313
322
|
}
|
|
323
|
+
/** Posts a management credential and retries once with a refreshed TIP-1034 challenge. */
|
|
324
|
+
async function postManagementCredential(parameters) {
|
|
325
|
+
const post = async (challenge) => parameters.fetch(managementInput(parameters.input), {
|
|
326
|
+
method: 'POST',
|
|
327
|
+
headers: {
|
|
328
|
+
[Constants.Headers.authorization]: await parameters.createSessionCredential(challenge, parameters.context),
|
|
329
|
+
},
|
|
330
|
+
});
|
|
331
|
+
const response = await post(parameters.challenge);
|
|
332
|
+
if (response.status !== 402)
|
|
333
|
+
return response;
|
|
334
|
+
const challenge = Challenge.fromResponseList(response).find(isTip1034SessionChallenge);
|
|
335
|
+
return challenge ? post(challenge) : response;
|
|
336
|
+
}
|
|
314
337
|
/** Retries an HTTP 402 when the server snapshot asks for more voucher headroom. */
|
|
315
338
|
export async function retryHttpPaymentRequired(parameters) {
|
|
316
339
|
const context = resolveRetryHttpPaymentContext({
|
|
@@ -337,21 +360,29 @@ export async function retryHttpPaymentRequired(parameters) {
|
|
|
337
360
|
const cumulativeAmount = currentChannel.cumulativeAmount > requiredCumulative
|
|
338
361
|
? currentChannel.cumulativeAmount
|
|
339
362
|
: requiredCumulative;
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
363
|
+
const restore = () => parameters.restoreCumulative(snapshot.channelId, cumulativeBeforeVoucher);
|
|
364
|
+
let retry;
|
|
365
|
+
try {
|
|
366
|
+
const credential = await parameters.createSessionCredential(challenge, {
|
|
367
|
+
action: 'voucher',
|
|
368
|
+
channelId: snapshot.channelId,
|
|
369
|
+
descriptor: currentChannel.descriptor,
|
|
370
|
+
cumulativeAmountRaw: cumulativeAmount.toString(),
|
|
371
|
+
});
|
|
372
|
+
retry = await parameters.fetch(parameters.input, requestInitWithAuthorization(parameters.input, parameters.init, credential));
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
await restore();
|
|
376
|
+
throw error;
|
|
377
|
+
}
|
|
347
378
|
if (!retry.ok && !retry.headers.get(Constants.Headers.paymentReceipt)) {
|
|
348
|
-
|
|
379
|
+
await restore();
|
|
349
380
|
}
|
|
350
381
|
return retry;
|
|
351
382
|
}
|
|
352
383
|
/** Resolves whether a 402 response can be handled by an automatic session voucher retry. */
|
|
353
384
|
export function resolveRetryHttpPaymentContext(parameters) {
|
|
354
|
-
const challenge = Challenge.fromResponseList(parameters.response).find(
|
|
385
|
+
const challenge = Challenge.fromResponseList(parameters.response).find(isTip1034SessionChallenge);
|
|
355
386
|
if (!challenge)
|
|
356
387
|
return undefined;
|
|
357
388
|
const snapshot = getSessionSnapshot(challenge);
|
|
@@ -387,7 +418,7 @@ export async function closeHttpSession(parameters) {
|
|
|
387
418
|
};
|
|
388
419
|
let response = await postClose(parameters.target.challenge);
|
|
389
420
|
if (response.status === 402) {
|
|
390
|
-
const challenge = Challenge.fromResponseList(response).find(
|
|
421
|
+
const challenge = Challenge.fromResponseList(response).find(isTip1034SessionChallenge);
|
|
391
422
|
if (challenge) {
|
|
392
423
|
parameters.setChallenge?.(challenge);
|
|
393
424
|
response = await postClose(challenge, true);
|
|
@@ -604,17 +635,19 @@ export async function handleSseNeedVoucher(parameters, event) {
|
|
|
604
635
|
});
|
|
605
636
|
if (resolution.status !== 'ready')
|
|
606
637
|
return;
|
|
607
|
-
const
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
638
|
+
const voucherResponse = await postManagementCredential({
|
|
639
|
+
challenge: parameters.challenge,
|
|
640
|
+
context: resolution.context,
|
|
641
|
+
createSessionCredential: parameters.driver.createSessionCredential,
|
|
642
|
+
fetch: parameters.driver.fetch,
|
|
643
|
+
input: parameters.input,
|
|
611
644
|
});
|
|
612
645
|
if (!voucherResponse.ok) {
|
|
613
646
|
throw new Error(`Voucher POST failed with status ${voucherResponse.status}`);
|
|
614
647
|
}
|
|
615
648
|
}
|
|
616
|
-
/** Probes a WebSocket endpoint over HTTP and
|
|
617
|
-
export async function
|
|
649
|
+
/** Probes a WebSocket endpoint over HTTP and returns its current session challenge. */
|
|
650
|
+
export async function probeWebSocketSession(parameters) {
|
|
618
651
|
const wsUrl = new URL(parameters.input.toString());
|
|
619
652
|
const httpUrl = webSocketProbeUrl(wsUrl);
|
|
620
653
|
parameters.onProbeUrl?.(httpUrl);
|
|
@@ -625,17 +658,24 @@ export async function prepareWebSocketSession(parameters) {
|
|
|
625
658
|
if (probe.status !== 402) {
|
|
626
659
|
throw new Error(`Expected a 402 payment challenge from ${httpUrl}, received ${probe.status} instead.`);
|
|
627
660
|
}
|
|
628
|
-
const challenge = Challenge.fromResponseList(probe).find(
|
|
661
|
+
const challenge = Challenge.fromResponseList(probe).find(isTip1034SessionChallenge);
|
|
629
662
|
if (!challenge) {
|
|
630
663
|
throw new Error('No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.');
|
|
631
664
|
}
|
|
632
665
|
return {
|
|
633
666
|
challenge,
|
|
634
|
-
credential: await parameters.createSessionCredential(challenge, {}),
|
|
635
667
|
httpUrl,
|
|
636
668
|
wsUrl,
|
|
637
669
|
};
|
|
638
670
|
}
|
|
671
|
+
/** Probes a WebSocket endpoint over HTTP and creates the opening credential. */
|
|
672
|
+
export async function prepareWebSocketSession(parameters) {
|
|
673
|
+
const probed = await probeWebSocketSession(parameters);
|
|
674
|
+
return {
|
|
675
|
+
...probed,
|
|
676
|
+
credential: await parameters.createSessionCredential(probed.challenge, {}),
|
|
677
|
+
};
|
|
678
|
+
}
|
|
639
679
|
/** Creates the initial runtime state for a paid WebSocket from its opening credential. */
|
|
640
680
|
export function createActiveSocketSession(parameters) {
|
|
641
681
|
const { challenge, credential, socket } = parameters;
|
|
@@ -804,9 +844,16 @@ function handleCloseReady(parameters, receipt) {
|
|
|
804
844
|
}
|
|
805
845
|
async function handleNeedVoucher(parameters, event) {
|
|
806
846
|
try {
|
|
847
|
+
let challenge = parameters.driver.challenge;
|
|
848
|
+
if (challenge.expires &&
|
|
849
|
+
new Date(challenge.expires).getTime() <= Date.now() + webSocketChallengeRefreshWindowMs) {
|
|
850
|
+
challenge = await parameters.driver.refreshChallenge();
|
|
851
|
+
parameters.driver.challenge = challenge;
|
|
852
|
+
parameters.socketState.challenge = challenge;
|
|
853
|
+
}
|
|
807
854
|
const resolution = await resolveNeedVoucherContext({
|
|
808
855
|
assertVoucherWithinLocalLimit: parameters.driver.assertVoucherWithinLocalLimit,
|
|
809
|
-
challenge
|
|
856
|
+
challenge,
|
|
810
857
|
event,
|
|
811
858
|
expectedChannelId: parameters.socketState.channelId,
|
|
812
859
|
getChannel: parameters.driver.getChannel,
|
|
@@ -819,7 +866,7 @@ async function handleNeedVoucher(parameters, event) {
|
|
|
819
866
|
: 'cannot create voucher: no active channel');
|
|
820
867
|
return;
|
|
821
868
|
}
|
|
822
|
-
const voucher = await parameters.driver.createSessionCredential(
|
|
869
|
+
const voucher = await parameters.driver.createSessionCredential(challenge, resolution.context);
|
|
823
870
|
parameters.rawSocket.send(Ws.formatAuthorizationMessage(voucher));
|
|
824
871
|
}
|
|
825
872
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transports.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/Transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAExB,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAG3D,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,0BAA0B,EAC1B,MAAM,GAIP,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAI/C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GAGnB,MAAM,cAAc,CAAA;AAOrB,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;CACD,CAAA;AAEV,kFAAkF;AAClF,wFAAwF;AACxF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAA;AA0CzD,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;IACrD,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,aAAa,GAAwC,EAAE,CAAA;IAC3D,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IAElC,MAAM,GAAG,GAAG,CACV,IAAU,EACV,QAA6B,EAC7B,OAA2C,EAC3C,EAAE;QACF,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;YACf,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC;YACN,IAAI,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK;YACjE,KAAK,EAAE,QAAoC;SAC5C,CAAC,CAAA;QACF,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,aAAa,CAAA;YAC9B,aAAa,GAAG,IAAI,CAAA;YACpB,KAAK,MAAM,KAAK,IAAI,QAAQ;gBAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,CAAyB,IAAU,EAAE,QAA6B,EAAE,EAAE;QACnF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAA;IAED,SAAS,IAAI,CAAyB,IAAU,EAAE,KAA4B;QAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,YAAY;gBAAE,OAAM;YACxB,YAAY,GAAG,IAAI,CAAA;YACnB,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAA;YACvC,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAA;QAEhE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YAC9C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,OAAM;QACR,CAAC;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;gBACxB,MAAK;YACP,KAAK,OAAO;gBACV,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;gBACxB,MAAK;YACP,KAAK,SAAS;gBACZ,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;gBAC1B,MAAK;YACP,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;gBACvB,MAAK;QACT,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;gBAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;;gBACpD,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAoC,IAAI,CAAA;IACrD,MAAM,OAAO,GAA4B;QACvC,gBAAgB,EAAE,GAAG;QACrB,KAAK,CAAC,IAAa,EAAE,MAAe;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,cAAc;YAChB,OAAO,MAAM,CAAC,cAAc,CAAA;QAC9B,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,MAAM,CAAC,UAAU,CAAA;QAC1B,CAAC;QACD,EAAE,CAAyB,IAAU,EAAE,QAAgD;YACrF,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,EAAE,IAAqC;QAC9C,OAAO,EAAE,IAAqC;QAC9C,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,SAAS,CAAC,EAAmC;YAC/C,SAAS,GAAG,EAAE,CAAA;YACd,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,aAAa,CAAA;gBAC9B,aAAa,GAAG,IAAI,CAAA;gBACpB,KAAK,MAAM,KAAK,IAAI,QAAQ;oBAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAoC;QAC5C,GAAG,CAAyB,IAAU,EAAE,QAAgD;YACtF,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACxB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,MAAM,CAAC,QAAQ,CAAA;QACxB,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,mBAAmB,EAAE,MAAM;QAC3B,IAAI,CAAC,IAAY;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,IAAI,GAAG;YACL,OAAO,MAAM,CAAC,GAAG,CAAA;QACnB,CAAC;KACF,CAAA;IAED,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,OAAO;KAChB,CAAA;AACH,CAAC;AAiHD,gEAAgE;AAChE,MAAM,UAAU,2BAA2B,CAAC,KAAuB;IACjE,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACpD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;KACrD,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB,CAAC,UAAwC;IACzE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,GACxF,UAAU,CAAA;IAEZ,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAChF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9D,IAAI,iBAAiB,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACxF,6BAA6B,CAAC,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAA;IAE3E,OAAO;QACL,iBAAiB;QACjB,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO;KACf,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAsC;IAEtC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GACxF,UAAU,CAAA;IACZ,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEtD,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAA;IAEpC,IAAI,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAA;IAChF,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAEpC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,sBAAsB,CAAC;YAC5B,WAAW;YACX,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,KAAK,EAAE,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;KACH,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAA+C;IAE/C,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAClE,UAAU,CAAC,6BAA6B,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAEzE,MAAM,UAAU,CAAC,aAAa,CAAC;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,SAAS,EAAE,UAAU,CAAC,iBAAiB;QACvC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;KACpD,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAA;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC,kBAAkB;QACxD,CAAC,CAAC,OAAO,CAAC,gBAAgB;QAC1B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAE7C,OAAO;QACL,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,UAAU,CAAC,iBAAiB;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,mBAAmB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;SACjD;KACF,CAAA;AACH,CAAC;AAmFD,oFAAoF;AACpF,MAAM,UAAU,uBAAuB,CACrC,SAA8B;IAE9B,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,OAAO,CAC/F,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,SAAgC;IACjE,OAAO,SAAS,CAAC,eAAe,CAC9B,SAAS,CAAC,OAAO,CAAC,aAAa,EAC/B,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAC3C,CAAA;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAC1C,KAAwB,EACxB,IAA6B,EAC7B,UAAkB;IAElB,MAAM,cAAc,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC;YACzC,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;YACxC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU;SAC9C;KACF,CAAA;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,GACR,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,QAAQ,CAAC,IAA8B,CAAA;QACxF,MAAM,GAAG,GACP,KAAK,YAAY,OAAO;YACtB,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACpB,CAAC,CAAC,KAAK,YAAY,GAAG;gBACpB,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;QACpC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAA;QACb,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK;QAAE,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAA;IAClD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACpD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IACxD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5F,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAA;QACvD,OAAO,OAAO,CAAC,MAAM,IAAI,IAAI,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE;QAChF,MAAM,EAAE,OAAO;QACf,SAAS;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE;KAC9D,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE;KAC3D,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAEtF,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC5E,OAAO,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7E,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA8C;IAE9C,MAAM,OAAO,GAAG,8BAA8B,CAAC;QAC7C,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE;QAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC,CAAA;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAEhD,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAC9D,MAAM,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAExD,MAAM,UAAU,CAAC,aAAa,CAAC;QAC7B,SAAS;QACT,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,kBAAkB;KACnB,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,EAAE,CAAA;IAC9C,IAAI,CAAC,cAAc,EAAE,UAAU,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnF,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,gBAAgB,GACpB,cAAc,CAAC,gBAAgB,GAAG,kBAAkB;QAClD,CAAC,CAAC,cAAc,CAAC,gBAAgB;QACjC,CAAC,CAAC,kBAAkB,CAAA;IACxB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE;QACrE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,mBAAmB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;KACjD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAClC,UAAU,CAAC,KAAK,EAChB,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAC5E,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,8BAA8B,CAAC,UAG9C;IACC,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAC/F,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAE/B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAC9B,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEtF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAsC;IAEtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,iQAAiQ,CAClQ,CAAA;IACH,CAAC;IAED,IAAI,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;IAChD,IAAI,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAA;IACpD,MAAM,SAAS,GAAG,KAAK,EAAE,SAAgC,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;QAC9E,cAAc,GAAG,SAAS,CAAA;QAC1B,iBAAiB;YACf,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1E,UAAU,CAAC,iBAAiB,CAAA;QAC9B,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE;YACrE,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;YACtC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU;YAChD,mBAAmB,EAAE,iBAAiB;SACvC,CAAC,CAAA;QACF,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAQ,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE;SAC3D,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,IAAI,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACpF,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAA;YACpC,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;QAC7E,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,eAAe,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3J,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC5E,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAA;IACpC,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAA;IACxD,IACE,CAAC,OAAO,CAAC,MAAM;QACf,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;QAC/B,CAAC,sBAAsB,CAAC;YACtB,WAAW,EAAE,cAAc,CAAC,EAAE;YAC9B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;YACtC,mBAAmB,EAAE,iBAAiB;YACtC,OAAO;SACR,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,OAAO,OAAO,CAAA;AAChB,CAAC;AAoDD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAwB,EACxB,IAAkC,EAClC,MAAgC;IAEhC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IACtD,MAAM,OAAO,GAAG;QACd,GAAG,SAAS;QACZ,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5C,MAAM,EAAE,mBAAmB;SAC5B;QACD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAA;IAED,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACnD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM;QACzD,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAEjD,OAAO,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;AAClF,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,yBAAyB,CACvC,KAAwB,EACxB,QAAkB,EAClB,OAAuC,EACvC,MAAgC;IAEhC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACrF,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;IAEvC,OAAO,kBAAkB,CAAC;QACxB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC;QACnF,SAAS,CAAC,OAAO;YACf,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC7B,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;QACD,QAAQ;QACR,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC;AAsBD,KAAK,SAAS,CAAC,CAAC,kBAAkB,CAAC,UAAsC;IACvE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,IAAI,CAAA;IAChD,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,UAAsC;IAEtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACtE,CAAC,CAAA;IACD,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO;QAAE,MAAM,EAAE,CAAA;IAExC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAK;YAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAA;gBACf,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAA;YAC5B,CAAC;;gBAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAExD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,SAAS;oBAAE,MAAK;gBACrB,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAA;gBAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAQ;gBAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,EAAE,GAAG,EAAE,CAAA;oBACb,SAAQ;gBACV,CAAC;gBAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,SAAS;wBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;wBAC/B,MAAK;oBACP,KAAK,sBAAsB;wBACzB,MAAM,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC1C,MAAK;oBACP,KAAK,iBAAiB;wBACpB,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAChC,MAAK;gBACT,CAAC;YACH,CAAC;YACD,IAAI,IAAI;gBAAE,MAAK;QACjB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3D,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,QAAiB;IAEjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC/D,IAAI,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,CAAA;QACpD,KAAK,IAAI,KAAK,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,QAAiB;IACvE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACvC,IAAI,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,UAAsC;IACpE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO;QAAE,KAAK,EAAE,CAAA;IAEvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;IACpF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACxD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE5E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,IAAI,cAAc,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACnC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,EAAE,CAAA;oBACT,OAAO,UAAU,CAAC,KAAK,EAAE,CAAA;gBAC3B,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,CAAA;gBACT,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,OAAO,EAAE,CAAA;YACT,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;KACF,CAAC,EACF;QACE,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;QAClC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU;KAC3C,CACF,CAAA;IAED,KAAK,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAU;QAC3D,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACzC,CAAC,CAAA;IAEJ,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAIC,EACD,KAAuB;IAEvB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS;QAAE,OAAM;IAE7C,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC;QACjD,6BAA6B,EAAE,UAAU,CAAC,MAAM,CAAC,6BAA6B;QAC9E,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,KAAK;QACL,iBAAiB,EAAE,OAAO,CAAC,SAAS;QACpC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU;QACxC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa;KAC/C,CAAC,CAAA;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO;QAAE,OAAM;IAEzC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAChE,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,OAAO,CACnB,CAAA;IACD,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CACnD,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EACnD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE;KAC3D,CACF,CAAA;IACD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC;AAyID,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA6C;IAE7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACxC,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;QAC5C,GAAG,UAAU,CAAC,SAAS;QACvB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAA;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,cAAc,KAAK,CAAC,MAAM,WAAW,CACtF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACjF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+IAA+I,CAChJ,CAAA;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,UAAU,EAAE,MAAM,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,EAAE,CAAC;QACnE,OAAO;QACP,KAAK;KACN,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,yBAAyB,CACvC,UAA+C;IAE/C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACpD,OAAO;QACL,SAAS;QACT,SAAS,EACP,iBAAiB,CAAC,WAAW,CAA2B,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS;QACvF,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,EAAE;QACnB,mBAAmB,EAAE,IAAI;QACzB,MAAM;QACN,QAAQ,EAAE,0BAA0B,CAAC,SAAS,CAAC;KAChD,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,uBAAuB,CAAC,UAA2C;IACjF,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IACtD,OAAO,OAAO,CAAC,WAAW,KAAK,WAAW,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAA;AAC/E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,UAAqD;IAErD,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;QAAE,OAAO,+CAA+C,CAAA;IAChG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACnE,OAAO,yDAAyD,CAAA;IAClE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,4BAA4B,CAC1C,UAAkD;IAElD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAC3E,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;QAAE,OAAO,2CAA2C,CAAA;IAC5F,IACE,mBAAmB,KAAK,IAAI;QAC5B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,CAAC,sBAAsB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EACjF,CAAC;QACD,OAAO,iDAAiD,CAAA;IAC1D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA0C;IAE1C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IACtF,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC;QAC5C,SAAS;QACT,UAAU;QACV,MAAM,EAAE,SAAS;KAClB,CAAC,CAAA;IACF,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAExC,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACpD,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE;QACzC,UAAU,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5C,UAAU,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/C,IACE,SAAS,CAAC,UAAU,KAAK,mBAAmB,CAAC,UAAU;YACvD,SAAS,CAAC,UAAU,KAAK,mBAAmB,CAAC,IAAI,EACjD,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAA;QACjE,CAAC;IACH,CAAC,CAAA;IACD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,WAAW,CAAC,MAAM,GAAG,IAAI,CAAA;QACzB,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACtC,UAAU,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAC1F,UAAU,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAC7F,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,EAAG,KAAoB,CAAC,IAAI,IAAI,IAAI;YACxC,MAAM,EAAG,KAAoB,CAAC,MAAM,IAAI,EAAE;YAC1C,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACvC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,mBAAmB,CAAC;YACxB,MAAM,EAAE,UAAU;YAClB,cAAc;YACd,WAAW,EAAE,aAAa,CAAC,IAAI;YAC/B,OAAO,EAAE,GAAG;YACZ,SAAS;YACT,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAC/B,OAAO,EACP,GAAG,EAAE;QACH,UAAU,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;QACtE,UAAU,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;QACzE,SAAS,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,MAAM,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC7D,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAA;IACzD,MAAM,UAAU,CAAC,cAAc,EAAE,CAAA;IACjC,OAAO,aAAa,CAAC,MAAM,CAAA;AAC7B,CAAC;AAID,SAAS,iBAAiB,CAAC,SAAoB,EAAE,WAAwB,EAAE,KAAU;IACnF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC/C,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACrC,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC7C,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,KAAK,kBAAkB,CAAC,CAAC,CAAA;QACvE,CAAC,CAAA;QACD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC;AAWD,KAAK,UAAU,mBAAmB,CAAC,UAAyC;IAC1E,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAChF,OAAM;IACR,CAAC;IAED,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,KAAK,eAAe;YAClB,OAAM;QACR,KAAK,SAAS;YACZ,UAAU,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAA;YAC5C,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YACzE,OAAM;QACR,KAAK,qBAAqB;YACxB,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACzC,OAAM;QACR,KAAK,eAAe;YAClB,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAC1D,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7D,OAAM;QACR,KAAK,sBAAsB;YACzB,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAChD,OAAM;QACR,KAAK,iBAAiB;YACpB,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACtC,OAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyC,EAAE,OAAuB;IAC1F,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,gBAAgB,IAAI,EAAE,CAAA;IAC/E,MAAM,KAAK,GAAG,+BAA+B,CAAC;QAC5C,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS;QAC3C,gBAAgB;QAChB,OAAO;KACR,CAAC,CAAA;IACF,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IAC/C,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC3C,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE;QAC9B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,UAAyC,EACzC,KAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC;YACjD,6BAA6B,EAAE,UAAU,CAAC,MAAM,CAAC,6BAA6B;YAC9E,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;YACtC,KAAK;YACL,iBAAiB,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS;YACnD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU;YACxC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAChC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa;SAC/C,CAAC,CAAA;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,UAAU,CAAC,cAAc,CACvB,UAAU,CAAC,MAAM,KAAK,kBAAkB;gBACtC,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,0CAA0C,CAC/C,CAAA;YACD,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAC7D,UAAU,CAAC,MAAM,CAAC,SAAS,EAC3B,UAAU,CAAC,OAAO,CACnB,CAAA;QACD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,cAAc,CACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAC9E,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,UAAyC,EAAE,OAAuB;IACvF,MAAM,KAAK,GAAG,4BAA4B,CAAC;QACzC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC3C,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS;QAC3C,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC,mBAAmB;QAC/D,OAAO;KACR,CAAC,CAAA;IACF,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IAC/C,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"Transports.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/Transports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACzD,OAAO,EAA0D,cAAc,EAAE,MAAM,MAAM,CAAA;AAC7F,OAAO,EAIL,kBAAkB,EAKnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;AAGzD,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AAIvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIrD,8EAA8E;AAC9E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wFAAwF;AACxF,MAAM,MAAM,sCAAsC,GAAG;IACnD,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,qDAAqD;IACrD,gBAAgB,EAAE,GAAG,CAAA;IACrB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,wBAAwB,EAAE,GAAG,CAAA;IAC7B,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAA;IACf,+CAA+C;IAC/C,iBAAiB,EAAE,GAAG,CAAA;IACtB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wEAAwE;AACxE,MAAM,MAAM,mCAAmC,GAAG;IAChD,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,KAAK,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,6CAA6C;IAC7C,gBAAgB,EAAE,GAAG,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,EAAE,GAAG,CAAA;CACvB,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,oCAAoC,GAAG;IACjD,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,4CAA4C;IAC5C,SAAS,EAAE,GAAG,CAAA;IACd,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,iBAAiB,EAAE,GAAG,CAAA;CACvB,CAAA;AAED,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,4CAA4C;IAC5C,SAAS,EAAE,GAAG,CAAA;IACd,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAiBD,2EAA2E;AAC3E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,oBAAoB,GAC1B,0BAA0B,CAM5B;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB,CAKtF;AAED,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAI1F;AAED,2EAA2E;AAC3E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,oBAAoB,GAC1B,0BAA0B,CAK5B;AAED,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,sCAAsC,GACjD,IAAI,CA4BN;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mCAAmC,GAAG,IAAI,CAM/F;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAGrF;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,oCAAoC,GAAG,IAAI,CAKjG;AAED,uFAAuF;AACvF,MAAM,MAAM,qCAAqC,GAAG;IAClD,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,wCAAwC,GAAG;IACrD,mDAAmD;IACnD,QAAQ,EAAE,qCAAqC,CAAA;IAC/C,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,sFAAsF;AACtF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,wCAAwC,QAkBrD;AAID,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AAQxE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,CASvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,GAAG,EAAE,EAC1B,MAAM,GAAE,OAA4B,GACnC,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB;AAED,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG;IACjC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,0EAA0E;AAC1E,MAAM,MAAM,yBAAyB,GAAG;IACtC,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAA;IACnD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B,CAAA;AAyKD;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,iBAAiB,EAAE,MAAM,EACzB,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,OAA4B,EACpC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,GAAG,CAAC,CAWd;AAED,qFAAqF;AACrF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE;QACJ,SAAS,EAAE,GAAG,CAAA;QACd,iBAAiB,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;QACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACrC,CAAA;CACF,CAAA;AAED,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;CACnD,CAAA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,GAC3D,IAAI,CAKN;AAED,8CAA8C;AAC9C,wBAAsB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,0BAEhF;AAED,sEAAsE;AACtE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,8CAKlF;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,EAC7D,SAAS,EAAE,GAAG,GACb,mBAAmB,CAYrB;AAED,iFAAiF;AACjF,MAAM,MAAM,mCAAmC,GAAG;IAChD,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,MAAM,EAAE,iBAAiB,CAAA;IACzB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAA;IACjD,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACrC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,4CAA4C;IAC5C,qBAAqB,EAAE,GAAG,CAAA;IAC1B,yEAAyE;IACzE,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,yGAAyG;AACzG,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,mCAAmC,8CAgE9F;AAED,mFAAmF;AACnF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,kCAAkC;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,+DAA+D;IAC/D,UAAU,EAAE,iBAAiB,CAAA;IAC7B,gDAAgD;IAChD,KAAK,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,iBAAiB,EAAE,GAAG,CAAA;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,uFAAuF;AACvF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sEAAsE;IACtE,eAAe,CAAC,EACZ,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAC5F,SAAS,CAAA;IACb,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,MAAM,EAAE,iBAAiB,CAAA;IACzB,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,+DAA+D;IAC/D,wBAAwB,EAAE,OAAO,CAAA;IACjC,iEAAiE;IACjE,iBAAiB,EAAE,GAAG,CAAA;IACtB,mDAAmD;IACnD,gBAAgB,EAAE,OAAO,CAAA;IACzB,+DAA+D;IAC/D,yBAAyB,EAAE,GAAG,CAAA;IAC9B,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAA;IACzB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAA;IACtB,0DAA0D;IAC1D,aAAa,EAAE,OAAO,CAAA;IACtB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACrC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,iDAAiD;IACjD,qBAAqB,EAAE,GAAG,CAAA;CAC3B,CAAA;AAED,wEAAwE;AACxE,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,kCAAkC,GAC7C,OAAO,CAAC,8BAA8B,CAAC,CAyFzC;AAED,qFAAqF;AACrF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,kCAAkC;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,yFAAyF;AACzF,MAAM,MAAM,mCAAmC,GAAG;IAChD,iEAAiE;IACjE,iBAAiB,EAAE,MAAM,CAAA;IACzB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,MAAM,EAAE,iBAAiB,CAAA;IACzB,kDAAkD;IAClD,UAAU,EAAE,iBAAiB,CAAA;IAC7B,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,iDAAiD;IACjD,iBAAiB,EAAE,GAAG,CAAA;IACtB,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAA;IACzB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACrC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACrD,mDAAmD;IACnD,qBAAqB,EAAE,GAAG,CAAA;CAC3B,CAAA;AAED,0EAA0E;AAC1E,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,+BAA+B,CAAC,CAqD1C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { encodeFunctionData, isAddressEqual, parseEventLogs } from 'viem';
|
|
1
|
+
import { decodeFunctionData, encodeFunctionData, isAddressEqual, parseEventLogs } from 'viem';
|
|
2
2
|
import { call, prepareTransactionRequest, readContract, sendRawTransaction, sendRawTransactionSync, sendTransaction as sendViemTransaction, signTransaction, waitForTransactionReceipt, } from 'viem/actions';
|
|
3
|
-
import { Transaction } from 'viem/tempo';
|
|
3
|
+
import { Abis, Addresses, Transaction } from 'viem/tempo';
|
|
4
4
|
import { BadRequestError, VerificationFailedError } from '../../../Errors.js';
|
|
5
5
|
import * as FeePayer from '../../internal/fee-payer.js';
|
|
6
6
|
import { resolveFeeToken } from '../../internal/fee-token.js';
|
|
@@ -188,11 +188,11 @@ function parsePrecompileCredentialTransaction(parameters) {
|
|
|
188
188
|
throw new BadRequestError({ reason: 'Only Tempo (0x76/0x78) transactions are supported' });
|
|
189
189
|
const transaction = Transaction.deserialize(serializedTransaction);
|
|
190
190
|
const calls = transaction.calls;
|
|
191
|
-
if (calls.length !== 1)
|
|
191
|
+
if (calls.length !== 1 && calls.length !== 3)
|
|
192
192
|
throw new VerificationFailedError({
|
|
193
|
-
reason: `TIP-1034 ${label} transaction must contain
|
|
193
|
+
reason: `TIP-1034 ${label} transaction must contain one management call, optionally preceded by an auto-swap`,
|
|
194
194
|
});
|
|
195
|
-
const call = calls[
|
|
195
|
+
const call = calls[calls.length - 1];
|
|
196
196
|
if (!call.to || !isAddressEqual(call.to, escrowContract))
|
|
197
197
|
throw new VerificationFailedError({
|
|
198
198
|
reason: `TIP-1034 ${label} transaction targets the wrong address`,
|
|
@@ -201,7 +201,83 @@ function parsePrecompileCredentialTransaction(parameters) {
|
|
|
201
201
|
throw new VerificationFailedError({
|
|
202
202
|
reason: `TIP-1034 ${label} transaction is missing calldata`,
|
|
203
203
|
});
|
|
204
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
transaction,
|
|
206
|
+
call: { ...call, data: call.data, to: call.to },
|
|
207
|
+
prefixCalls: calls.slice(0, -1),
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function validateAutoSwapPrefix(parameters) {
|
|
211
|
+
const { amountOut, currency, label, prefixCalls } = parameters;
|
|
212
|
+
if (prefixCalls.length === 0)
|
|
213
|
+
return;
|
|
214
|
+
const fail = (reason) => {
|
|
215
|
+
throw new VerificationFailedError({ reason: `TIP-1034 ${label} auto-swap ${reason}` });
|
|
216
|
+
};
|
|
217
|
+
if (prefixCalls.length !== 2)
|
|
218
|
+
fail('must contain exactly approve and swap calls');
|
|
219
|
+
const approveCall = prefixCalls[0];
|
|
220
|
+
const swapCall = prefixCalls[1];
|
|
221
|
+
const approveTo = approveCall.to;
|
|
222
|
+
const approveData = approveCall.data;
|
|
223
|
+
const swapTo = swapCall.to;
|
|
224
|
+
const swapData = swapCall.data;
|
|
225
|
+
if (!approveTo || !approveData || !swapTo || !swapData)
|
|
226
|
+
fail('call is missing a target or calldata');
|
|
227
|
+
const checkedApproveTo = approveTo;
|
|
228
|
+
const checkedApproveData = approveData;
|
|
229
|
+
const checkedSwapTo = swapTo;
|
|
230
|
+
const checkedSwapData = swapData;
|
|
231
|
+
if ((approveCall.value ?? 0n) !== 0n || (swapCall.value ?? 0n) !== 0n)
|
|
232
|
+
fail('calls must not transfer native value');
|
|
233
|
+
if (!isAddressEqual(checkedSwapTo, Addresses.stablecoinDex))
|
|
234
|
+
fail('targets the wrong DEX');
|
|
235
|
+
const approve = (() => {
|
|
236
|
+
try {
|
|
237
|
+
return decodeFunctionData({ abi: Abis.tip20, data: checkedApproveData });
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return fail('approval calldata is invalid');
|
|
241
|
+
}
|
|
242
|
+
})();
|
|
243
|
+
const swap = (() => {
|
|
244
|
+
try {
|
|
245
|
+
return decodeFunctionData({ abi: Abis.stablecoinDex, data: checkedSwapData });
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return fail('swap calldata is invalid');
|
|
249
|
+
}
|
|
250
|
+
})();
|
|
251
|
+
if (approve.functionName !== 'approve' || swap.functionName !== 'swapExactAmountOut')
|
|
252
|
+
fail('must contain approve followed by swapExactAmountOut');
|
|
253
|
+
const [spender, approvedAmount] = approve.args;
|
|
254
|
+
const [tokenIn, tokenOut, swapAmountOut, maxAmountIn] = swap.args;
|
|
255
|
+
if (!isAddressEqual(checkedApproveTo, tokenIn))
|
|
256
|
+
fail('approval token does not match swap input');
|
|
257
|
+
if (!isAddressEqual(spender, Addresses.stablecoinDex))
|
|
258
|
+
fail('approval spender is not the DEX');
|
|
259
|
+
if (approvedAmount !== maxAmountIn)
|
|
260
|
+
fail('approval amount does not match swap maximum input');
|
|
261
|
+
if (!isAddressEqual(tokenOut, currency))
|
|
262
|
+
fail('output token does not match channel currency');
|
|
263
|
+
if (swapAmountOut !== amountOut)
|
|
264
|
+
fail('output amount does not match channel deposit');
|
|
265
|
+
if (isAddressEqual(tokenIn, tokenOut))
|
|
266
|
+
fail('input and output tokens must differ');
|
|
267
|
+
const canonicalApprove = encodeFunctionData({
|
|
268
|
+
abi: Abis.tip20,
|
|
269
|
+
functionName: 'approve',
|
|
270
|
+
args: [spender, approvedAmount],
|
|
271
|
+
});
|
|
272
|
+
const canonicalSwap = encodeFunctionData({
|
|
273
|
+
abi: Abis.stablecoinDex,
|
|
274
|
+
functionName: 'swapExactAmountOut',
|
|
275
|
+
args: [tokenIn, tokenOut, swapAmountOut, maxAmountIn],
|
|
276
|
+
});
|
|
277
|
+
if (checkedApproveData.toLowerCase() !== canonicalApprove.toLowerCase())
|
|
278
|
+
fail('approval calldata is not canonical');
|
|
279
|
+
if (checkedSwapData.toLowerCase() !== canonicalSwap.toLowerCase())
|
|
280
|
+
fail('swap calldata is not canonical');
|
|
205
281
|
}
|
|
206
282
|
async function simulateTempoTransaction(client, request) {
|
|
207
283
|
// viem's public `call` type does not yet model Tempo's multi-call and
|
|
@@ -356,7 +432,7 @@ export async function sendCredentialTransaction(parameters) {
|
|
|
356
432
|
}
|
|
357
433
|
/** Broadcast and validate a client-signed TIP-1034 open transaction. */
|
|
358
434
|
export async function broadcastOpenTransaction(parameters) {
|
|
359
|
-
const { transaction, call } = parsePrecompileCredentialTransaction({
|
|
435
|
+
const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
|
|
360
436
|
escrowContract: parameters.escrowContract,
|
|
361
437
|
feePayer: parameters.feePayer,
|
|
362
438
|
label: 'open',
|
|
@@ -372,6 +448,12 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
372
448
|
authorizedSigner: parameters.expectedAuthorizedSigner,
|
|
373
449
|
},
|
|
374
450
|
});
|
|
451
|
+
validateAutoSwapPrefix({
|
|
452
|
+
amountOut: open.deposit,
|
|
453
|
+
currency: parameters.expectedCurrency,
|
|
454
|
+
label: 'open',
|
|
455
|
+
prefixCalls,
|
|
456
|
+
});
|
|
375
457
|
const descriptor = ChannelOps.descriptorFromOpen({
|
|
376
458
|
chainId: parameters.chainId,
|
|
377
459
|
escrow: parameters.escrowContract,
|
|
@@ -435,7 +517,7 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
435
517
|
}
|
|
436
518
|
/** Broadcast and validate a client-signed TIP-1034 top-up transaction. */
|
|
437
519
|
export async function broadcastTopUpTransaction(parameters) {
|
|
438
|
-
const { transaction, call } = parsePrecompileCredentialTransaction({
|
|
520
|
+
const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
|
|
439
521
|
escrowContract: parameters.escrowContract,
|
|
440
522
|
feePayer: parameters.feePayer,
|
|
441
523
|
label: 'topUp',
|
|
@@ -448,6 +530,12 @@ export async function broadcastTopUpTransaction(parameters) {
|
|
|
448
530
|
additionalDeposit: parameters.additionalDeposit,
|
|
449
531
|
},
|
|
450
532
|
});
|
|
533
|
+
validateAutoSwapPrefix({
|
|
534
|
+
amountOut: parameters.additionalDeposit,
|
|
535
|
+
currency: parameters.expectedCurrency,
|
|
536
|
+
label: 'topUp',
|
|
537
|
+
prefixCalls,
|
|
538
|
+
});
|
|
451
539
|
const receipt = await sendCredentialTransaction({
|
|
452
540
|
challengeExpires: parameters.challengeExpires,
|
|
453
541
|
chainId: parameters.chainId,
|