@helium/spl-utils 0.6.9 → 0.6.11

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/lib/cjs/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.proofArgsAndAccounts = exports.getAssetProofBatch = exports.getAssetBatch = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
17
+ exports.proofArgsAndAccounts = exports.estimatePrioritizationFee = exports.getAssetProofBatch = exports.getAssetBatch = exports.searchAssets = exports.getAssetsByOwner = exports.getAssetProof = exports.getAssets = exports.getAsset = void 0;
18
18
  __exportStar(require("./extendBorsh"), exports);
19
19
  __exportStar(require("./transaction"), exports);
20
20
  __exportStar(require("./anchorError"), exports);
@@ -30,6 +30,8 @@ Object.defineProperty(exports, "getAssetsByOwner", { enumerable: true, get: func
30
30
  Object.defineProperty(exports, "searchAssets", { enumerable: true, get: function () { return mplAssetAPI_1.searchAssets; } });
31
31
  Object.defineProperty(exports, "getAssetBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetBatch; } });
32
32
  Object.defineProperty(exports, "getAssetProofBatch", { enumerable: true, get: function () { return mplAssetAPI_1.getAssetProofBatch; } });
33
+ var priorityFees_1 = require("./priorityFees");
34
+ Object.defineProperty(exports, "estimatePrioritizationFee", { enumerable: true, get: function () { return priorityFees_1.estimatePrioritizationFee; } });
33
35
  var proofArgsAndAccounts_1 = require("./proofArgsAndAccounts");
34
36
  Object.defineProperty(exports, "proofArgsAndAccounts", { enumerable: true, get: function () { return proofArgsAndAccounts_1.proofArgsAndAccounts; } });
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAQ5B,6CAQuB;AAPrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAGpB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,qDAAmC;AACnC,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAQ5B,6CAQuB;AAPrB,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAEpB,+CAA2D;AAAlD,yHAAA,yBAAyB,OAAA;AAElC,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.estimatePrioritizationFee = void 0;
13
+ const web3_js_1 = require("@solana/web3.js");
14
+ const MAX_RECENT_PRIORITY_FEE_ACCOUNTS = 128;
15
+ // Borrowed with love from https://github.com/blockworks-foundation/mango-v4/blob/57a9835aa8f636b6d231ba2c4008bfe89cbf08ba/ts/client/src/client.ts#L4552
16
+ /**
17
+ * Returns an estimate of a prioritization fee for a set of instructions.
18
+ *
19
+ * The estimate is based on the median fees of writable accounts that will be involved in the transaction.
20
+ *
21
+ * @param ixs - the instructions that make up the transaction
22
+ * @returns prioritizationFeeEstimate -- in microLamports
23
+ */
24
+ function estimatePrioritizationFee(connection, ixs) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const writableAccounts = ixs
27
+ .map((x) => x.keys.filter((a) => a.isWritable).map((k) => k.pubkey))
28
+ .flat();
29
+ const uniqueWritableAccounts = [
30
+ ...new Set(writableAccounts.map((x) => x.toBase58())),
31
+ ]
32
+ .map((a) => new web3_js_1.PublicKey(a))
33
+ .slice(0, MAX_RECENT_PRIORITY_FEE_ACCOUNTS);
34
+ const priorityFees = yield connection.getRecentPrioritizationFees({
35
+ lockedWritableAccounts: uniqueWritableAccounts,
36
+ });
37
+ if (priorityFees.length < 1) {
38
+ return 1;
39
+ }
40
+ // get max priority fee per slot (and sort by slot from old to new)
41
+ const groupedBySlot = priorityFees.reduce((acc, fee) => {
42
+ const key = fee.slot;
43
+ if (!acc[key]) {
44
+ acc[key] = [];
45
+ }
46
+ acc[key].push(fee);
47
+ return acc;
48
+ }, {});
49
+ const maxFeeBySlot = Object.keys(groupedBySlot).reduce((acc, slot) => {
50
+ acc[slot] = groupedBySlot[slot].reduce((max, fee) => {
51
+ return fee.prioritizationFee > max.prioritizationFee ? fee : max;
52
+ });
53
+ return acc;
54
+ }, {});
55
+ const maximumFees = Object.values(maxFeeBySlot).sort((a, b) => a.slot - b.slot);
56
+ // get median of last 20 fees
57
+ const recentFees = maximumFees.slice(Math.max(maximumFees.length - 20, 0));
58
+ const mid = Math.floor(recentFees.length / 2);
59
+ const medianFee = recentFees.length % 2 !== 0
60
+ ? recentFees[mid].prioritizationFee
61
+ : (recentFees[mid - 1].prioritizationFee +
62
+ recentFees[mid].prioritizationFee) /
63
+ 2;
64
+ return Math.max(1, Math.ceil(medianFee));
65
+ });
66
+ }
67
+ exports.estimatePrioritizationFee = estimatePrioritizationFee;
68
+ //# sourceMappingURL=priorityFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priorityFees.js","sourceRoot":"","sources":["../../src/priorityFees.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.batchParallelInstructions = exports.bulkSendRawTransactions = exports.bulkSendTransactions = exports.bufferToTransaction = exports.stringToTransaction = exports.sendAndConfirmWithRetry = exports.awaitTransactionSignatureConfirmation = exports.executeBig = exports.execute = exports.sendMultipleInstructions = exports.sendInstructions = exports.chunks = void 0;
26
+ exports.batchParallelInstructionsWithPriorityFee = exports.batchParallelInstructions = exports.bulkSendRawTransactions = exports.bulkSendTransactions = exports.bufferToTransaction = exports.stringToTransaction = exports.sendAndConfirmWithRetry = exports.awaitTransactionSignatureConfirmation = exports.executeBig = exports.execute = exports.sendMultipleInstructions = exports.sendInstructions = exports.sendInstructionsWithPriorityFee = exports.chunks = void 0;
27
27
  const web3_js_1 = require("@solana/web3.js");
28
28
  const bs58_1 = __importDefault(require("bs58"));
29
29
  const anchorError_1 = require("./anchorError");
30
+ const priorityFees_1 = require("./priorityFees");
30
31
  const chunks = (array, size) => Array.apply(0, new Array(Math.ceil(array.length / size))).map((_, index) => array.slice(index * size, (index + 1) * size));
31
32
  exports.chunks = chunks;
32
33
  function sleep(ms) {
@@ -43,6 +44,18 @@ function promiseAllInOrder(it) {
43
44
  return ret;
44
45
  });
45
46
  }
47
+ function sendInstructionsWithPriorityFee(provider, instructions, { signers = [], payer = provider.wallet.publicKey, commitment = "confirmed", idlErrors = new Map(), computeUnitLimit = 200000, } = {}) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return yield sendInstructions(provider, [
50
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnitLimit }),
51
+ web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
52
+ microLamports: yield (0, priorityFees_1.estimatePrioritizationFee)(provider.connection, instructions),
53
+ }),
54
+ ...instructions,
55
+ ], signers, payer, commitment, idlErrors);
56
+ });
57
+ }
58
+ exports.sendInstructionsWithPriorityFee = sendInstructionsWithPriorityFee;
46
59
  function sendInstructions(provider, instructions, signers = [], payer = provider.wallet.publicKey, commitment = "confirmed", idlErrors = new Map()) {
47
60
  return __awaiter(this, void 0, void 0, function* () {
48
61
  if (instructions.length == 0) {
@@ -306,7 +319,7 @@ function sendAndConfirmWithRetry(connection, txn, sendOptions, commitment, timeo
306
319
  if (confirmation.err) {
307
320
  const tx = yield connection.getTransaction(txid, {
308
321
  commitment: "confirmed",
309
- maxSupportedTransactionVersion: 0
322
+ maxSupportedTransactionVersion: 0,
310
323
  });
311
324
  console.error((_b = (_a = tx === null || tx === void 0 ? void 0 : tx.meta) === null || _a === void 0 ? void 0 : _a.logMessages) === null || _b === void 0 ? void 0 : _b.join("\n"));
312
325
  console.error(confirmation.err);
@@ -321,7 +334,7 @@ function sendAndConfirmWithRetry(connection, txn, sendOptions, commitment, timeo
321
334
  }
322
335
  const tx = yield connection.getTransaction(txid, {
323
336
  commitment: "confirmed",
324
- maxSupportedTransactionVersion: 0
337
+ maxSupportedTransactionVersion: 0,
325
338
  });
326
339
  if (tx && tx.meta && tx.meta.logMessages) {
327
340
  console.error(tx.meta.logMessages.join("\n"));
@@ -385,7 +398,7 @@ function bulkSendTransactions(provider, txs, onProgress, triesRemaining = 10 //
385
398
  const confirmedTxs = yield bulkSendRawTransactions(provider.connection, signedTxs.map((s) => s.serialize()), (_a) => {
386
399
  var { totalProgress } = _a, rest = __rest(_a, ["totalProgress"]);
387
400
  return onProgress &&
388
- onProgress(Object.assign(Object.assign({}, rest), { totalProgress: totalProgress + ret.length + thisRet.length }));
401
+ onProgress(Object.assign(Object.assign({}, rest), { totalTxs: txs.length, totalProgress: totalProgress + ret.length + thisRet.length }));
389
402
  }, recentBlockhash.lastValidBlockHeight,
390
403
  // Hail mary, try with preflight enabled. Sometimes this causes
391
404
  // errors that wouldn't otherwise happen
@@ -449,6 +462,7 @@ function bulkSendRawTransactions(connection, txs, onProgress, lastValidBlockHeig
449
462
  currentBatchProgress += completed.length;
450
463
  onProgress &&
451
464
  onProgress({
465
+ totalTxs: txs.length,
452
466
  totalProgress: totalProgress,
453
467
  currentBatchProgress: currentBatchProgress,
454
468
  currentBatchSize: txBatchSize,
@@ -461,7 +475,7 @@ function bulkSendRawTransactions(connection, txs, onProgress, lastValidBlockHeig
461
475
  throw new Error("Failed to run txs");
462
476
  }
463
477
  ret.push(...txids
464
- .map((txid, idx) => statuses[idx] == null ? null : txid)
478
+ .map((txid, idx) => (statuses[idx] == null ? null : txid))
465
479
  .filter(truthy));
466
480
  chunk = chunk.filter((_, index) => statuses[index] === null);
467
481
  txids = txids.filter((_, index) => statuses[index] === null);
@@ -534,4 +548,59 @@ function batchParallelInstructions(provider, instructions, onProgress, triesRema
534
548
  });
535
549
  }
536
550
  exports.batchParallelInstructions = batchParallelInstructions;
551
+ function batchParallelInstructionsWithPriorityFee(provider, instructions, { onProgress, triesRemaining = 10, computeUnitLimit = 1000000, } = {}) {
552
+ return __awaiter(this, void 0, void 0, function* () {
553
+ let currentTxInstructions = [];
554
+ const blockhash = (yield provider.connection.getLatestBlockhash()).blockhash;
555
+ const transactions = [];
556
+ for (const instruction of instructions) {
557
+ currentTxInstructions.push(instruction);
558
+ const tx = new web3_js_1.Transaction({
559
+ feePayer: provider.wallet.publicKey,
560
+ recentBlockhash: blockhash,
561
+ });
562
+ tx.add(...currentTxInstructions);
563
+ try {
564
+ if (tx.serialize({
565
+ requireAllSignatures: false,
566
+ verifySignatures: false,
567
+ }).length >=
568
+ 1232 - (64 + 32) * tx.signatures.length - 60 // 60 to leave room for compute budget stuff
569
+ ) {
570
+ // yes it's ugly to throw and catch, but .serialize can _also_ throw this error
571
+ throw new Error("Transaction too large");
572
+ }
573
+ }
574
+ catch (e) {
575
+ if (e.toString().includes("Transaction too large")) {
576
+ currentTxInstructions.pop();
577
+ const tx = new web3_js_1.Transaction({
578
+ feePayer: provider.wallet.publicKey,
579
+ recentBlockhash: blockhash,
580
+ });
581
+ tx.add(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
582
+ units: computeUnitLimit,
583
+ }), web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
584
+ microLamports: yield (0, priorityFees_1.estimatePrioritizationFee)(provider.connection, currentTxInstructions),
585
+ }), ...currentTxInstructions);
586
+ transactions.push(tx);
587
+ currentTxInstructions = [instruction];
588
+ }
589
+ else {
590
+ throw e;
591
+ }
592
+ }
593
+ }
594
+ if (currentTxInstructions.length > 0) {
595
+ const tx = new web3_js_1.Transaction({
596
+ feePayer: provider.wallet.publicKey,
597
+ recentBlockhash: blockhash,
598
+ });
599
+ tx.add(...currentTxInstructions);
600
+ transactions.push(tx);
601
+ }
602
+ yield bulkSendTransactions(provider, transactions, onProgress, triesRemaining);
603
+ });
604
+ }
605
+ exports.batchParallelInstructionsWithPriorityFee = batchParallelInstructionsWithPriorityFee;
537
606
  //# sourceMappingURL=transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export * from './utils';
6
6
  export * from './token';
7
7
  export * from './constants';
8
8
  export { getAsset, getAssets, getAssetProof, getAssetsByOwner, searchAssets, getAssetBatch, getAssetProofBatch, } from './mplAssetAPI';
9
+ export { estimatePrioritizationFee } from "./priorityFees";
9
10
  export { proofArgsAndAccounts } from './proofArgsAndAccounts';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAQ5B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAQ5B,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { PublicKey, } from "@solana/web3.js";
2
+ const MAX_RECENT_PRIORITY_FEE_ACCOUNTS = 128;
3
+ // Borrowed with love from https://github.com/blockworks-foundation/mango-v4/blob/57a9835aa8f636b6d231ba2c4008bfe89cbf08ba/ts/client/src/client.ts#L4552
4
+ /**
5
+ * Returns an estimate of a prioritization fee for a set of instructions.
6
+ *
7
+ * The estimate is based on the median fees of writable accounts that will be involved in the transaction.
8
+ *
9
+ * @param ixs - the instructions that make up the transaction
10
+ * @returns prioritizationFeeEstimate -- in microLamports
11
+ */
12
+ export async function estimatePrioritizationFee(connection, ixs) {
13
+ const writableAccounts = ixs
14
+ .map((x) => x.keys.filter((a) => a.isWritable).map((k) => k.pubkey))
15
+ .flat();
16
+ const uniqueWritableAccounts = [
17
+ ...new Set(writableAccounts.map((x) => x.toBase58())),
18
+ ]
19
+ .map((a) => new PublicKey(a))
20
+ .slice(0, MAX_RECENT_PRIORITY_FEE_ACCOUNTS);
21
+ const priorityFees = await connection.getRecentPrioritizationFees({
22
+ lockedWritableAccounts: uniqueWritableAccounts,
23
+ });
24
+ if (priorityFees.length < 1) {
25
+ return 1;
26
+ }
27
+ // get max priority fee per slot (and sort by slot from old to new)
28
+ const groupedBySlot = priorityFees.reduce((acc, fee) => {
29
+ const key = fee.slot;
30
+ if (!acc[key]) {
31
+ acc[key] = [];
32
+ }
33
+ acc[key].push(fee);
34
+ return acc;
35
+ }, {});
36
+ const maxFeeBySlot = Object.keys(groupedBySlot).reduce((acc, slot) => {
37
+ acc[slot] = groupedBySlot[slot].reduce((max, fee) => {
38
+ return fee.prioritizationFee > max.prioritizationFee ? fee : max;
39
+ });
40
+ return acc;
41
+ }, {});
42
+ const maximumFees = Object.values(maxFeeBySlot).sort((a, b) => a.slot - b.slot);
43
+ // get median of last 20 fees
44
+ const recentFees = maximumFees.slice(Math.max(maximumFees.length - 20, 0));
45
+ const mid = Math.floor(recentFees.length / 2);
46
+ const medianFee = recentFees.length % 2 !== 0
47
+ ? recentFees[mid].prioritizationFee
48
+ : (recentFees[mid - 1].prioritizationFee +
49
+ recentFees[mid].prioritizationFee) /
50
+ 2;
51
+ return Math.max(1, Math.ceil(medianFee));
52
+ }
53
+ //# sourceMappingURL=priorityFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priorityFees.js","sourceRoot":"","sources":["../../../src/priorityFees.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { Transaction, } from "@solana/web3.js";
1
+ import { ComputeBudgetProgram, Transaction, } from "@solana/web3.js";
2
2
  import bs58 from "bs58";
3
3
  import { ProgramError } from "./anchorError";
4
+ import { estimatePrioritizationFee } from "./priorityFees";
4
5
  export const chunks = (array, size) => Array.apply(0, new Array(Math.ceil(array.length / size))).map((_, index) => array.slice(index * size, (index + 1) * size));
5
6
  async function sleep(ms) {
6
7
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -12,6 +13,15 @@ async function promiseAllInOrder(it) {
12
13
  }
13
14
  return ret;
14
15
  }
16
+ export async function sendInstructionsWithPriorityFee(provider, instructions, { signers = [], payer = provider.wallet.publicKey, commitment = "confirmed", idlErrors = new Map(), computeUnitLimit = 200000, } = {}) {
17
+ return await sendInstructions(provider, [
18
+ ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnitLimit }),
19
+ ComputeBudgetProgram.setComputeUnitPrice({
20
+ microLamports: await estimatePrioritizationFee(provider.connection, instructions),
21
+ }),
22
+ ...instructions,
23
+ ], signers, payer, commitment, idlErrors);
24
+ }
15
25
  export async function sendInstructions(provider, instructions, signers = [], payer = provider.wallet.publicKey, commitment = "confirmed", idlErrors = new Map()) {
16
26
  if (instructions.length == 0) {
17
27
  return "";
@@ -259,7 +269,7 @@ export async function sendAndConfirmWithRetry(connection, txn, sendOptions, comm
259
269
  if (confirmation.err) {
260
270
  const tx = await connection.getTransaction(txid, {
261
271
  commitment: "confirmed",
262
- maxSupportedTransactionVersion: 0
272
+ maxSupportedTransactionVersion: 0,
263
273
  });
264
274
  console.error(tx?.meta?.logMessages?.join("\n"));
265
275
  console.error(confirmation.err);
@@ -274,7 +284,7 @@ export async function sendAndConfirmWithRetry(connection, txn, sendOptions, comm
274
284
  }
275
285
  const tx = await connection.getTransaction(txid, {
276
286
  commitment: "confirmed",
277
- maxSupportedTransactionVersion: 0
287
+ maxSupportedTransactionVersion: 0,
278
288
  });
279
289
  if (tx && tx.meta && tx.meta.logMessages) {
280
290
  console.error(tx.meta.logMessages.join("\n"));
@@ -329,7 +339,11 @@ export async function bulkSendTransactions(provider, txs, onProgress, triesRemai
329
339
  };
330
340
  });
331
341
  const confirmedTxs = await bulkSendRawTransactions(provider.connection, signedTxs.map((s) => s.serialize()), ({ totalProgress, ...rest }) => onProgress &&
332
- onProgress({ ...rest, totalProgress: totalProgress + ret.length + thisRet.length }), recentBlockhash.lastValidBlockHeight,
342
+ onProgress({
343
+ ...rest,
344
+ totalTxs: txs.length,
345
+ totalProgress: totalProgress + ret.length + thisRet.length,
346
+ }), recentBlockhash.lastValidBlockHeight,
333
347
  // Hail mary, try with preflight enabled. Sometimes this causes
334
348
  // errors that wouldn't otherwise happen
335
349
  triesRemaining != 1);
@@ -389,6 +403,7 @@ export async function bulkSendRawTransactions(connection, txs, onProgress, lastV
389
403
  currentBatchProgress += completed.length;
390
404
  onProgress &&
391
405
  onProgress({
406
+ totalTxs: txs.length,
392
407
  totalProgress: totalProgress,
393
408
  currentBatchProgress: currentBatchProgress,
394
409
  currentBatchSize: txBatchSize,
@@ -401,7 +416,7 @@ export async function bulkSendRawTransactions(connection, txs, onProgress, lastV
401
416
  throw new Error("Failed to run txs");
402
417
  }
403
418
  ret.push(...txids
404
- .map((txid, idx) => statuses[idx] == null ? null : txid)
419
+ .map((txid, idx) => (statuses[idx] == null ? null : txid))
405
420
  .filter(truthy));
406
421
  chunk = chunk.filter((_, index) => statuses[index] === null);
407
422
  txids = txids.filter((_, index) => statuses[index] === null);
@@ -467,4 +482,56 @@ export async function batchParallelInstructions(provider, instructions, onProgre
467
482
  }
468
483
  await bulkSendTransactions(provider, transactions, onProgress, triesRemaining);
469
484
  }
485
+ export async function batchParallelInstructionsWithPriorityFee(provider, instructions, { onProgress, triesRemaining = 10, computeUnitLimit = 1000000, } = {}) {
486
+ let currentTxInstructions = [];
487
+ const blockhash = (await provider.connection.getLatestBlockhash()).blockhash;
488
+ const transactions = [];
489
+ for (const instruction of instructions) {
490
+ currentTxInstructions.push(instruction);
491
+ const tx = new Transaction({
492
+ feePayer: provider.wallet.publicKey,
493
+ recentBlockhash: blockhash,
494
+ });
495
+ tx.add(...currentTxInstructions);
496
+ try {
497
+ if (tx.serialize({
498
+ requireAllSignatures: false,
499
+ verifySignatures: false,
500
+ }).length >=
501
+ 1232 - (64 + 32) * tx.signatures.length - 60 // 60 to leave room for compute budget stuff
502
+ ) {
503
+ // yes it's ugly to throw and catch, but .serialize can _also_ throw this error
504
+ throw new Error("Transaction too large");
505
+ }
506
+ }
507
+ catch (e) {
508
+ if (e.toString().includes("Transaction too large")) {
509
+ currentTxInstructions.pop();
510
+ const tx = new Transaction({
511
+ feePayer: provider.wallet.publicKey,
512
+ recentBlockhash: blockhash,
513
+ });
514
+ tx.add(ComputeBudgetProgram.setComputeUnitLimit({
515
+ units: computeUnitLimit,
516
+ }), ComputeBudgetProgram.setComputeUnitPrice({
517
+ microLamports: await estimatePrioritizationFee(provider.connection, currentTxInstructions),
518
+ }), ...currentTxInstructions);
519
+ transactions.push(tx);
520
+ currentTxInstructions = [instruction];
521
+ }
522
+ else {
523
+ throw e;
524
+ }
525
+ }
526
+ }
527
+ if (currentTxInstructions.length > 0) {
528
+ const tx = new Transaction({
529
+ feePayer: provider.wallet.publicKey,
530
+ recentBlockhash: blockhash,
531
+ });
532
+ tx.add(...currentTxInstructions);
533
+ transactions.push(tx);
534
+ }
535
+ await bulkSendTransactions(provider, transactions, onProgress, triesRemaining);
536
+ }
470
537
  //# sourceMappingURL=transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EASpB,WAAW,GAKZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAU,EAAE,IAAY,EAAS,EAAE,CAC3D,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACzE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAC9C,CAAC;AAEJ,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,EAAwB;IAExB,IAAI,GAAG,GAAQ,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;QAClB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACrB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAwB,EACxB,YAAsC,EACtC,EACE,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EACjC,UAAU,GAAG,WAAW,EACxB,SAAS,GAAG,IAAI,GAAG,EAAE,EACrB,gBAAgB,GAAG,MAAM,MAOvB,EAAE;IAEN,OAAO,MAAM,gBAAgB,CAC3B,QAAQ,EACR;QACE,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACrE,oBAAoB,CAAC,mBAAmB,CAAC;YACvC,aAAa,EAAE,MAAM,yBAAyB,CAC5C,QAAQ,CAAC,UAAU,EACnB,YAAY,CACb;SACF,CAAC;QACF,GAAG,YAAY;KAChB,EACD,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAwB,EACxB,YAAsC,EACtC,UAAoB,EAAE,EACtB,QAAmB,QAAQ,CAAC,MAAM,CAAC,SAAS,EAC5C,aAAyB,WAAW,EACpC,YAAiC,IAAI,GAAG,EAAE;IAE1C,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAC3B,EAAE,CAAC,eAAe,GAAG,CACnB,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAC/C,CAAC,SAAS,CAAC;IACZ,EAAE,CAAC,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IACjD,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,EAAE,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC;KAC5B;IACD,IACE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7C,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1B,EAAE,CAAC,IAAI,CAAC,IAAI,CACV,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CACtE,CACF,EACD;QACA,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;KAChD;IAED,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAC5C,QAAQ,CAAC,UAAU,EACnB,EAAE,CAAC,SAAS,EAAE,EACd;YACE,aAAa,EAAE,IAAI;SACpB,EACD,UAAU,CACX,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KACvC;AACH,CAAC;AAID,SAAS,MAAM,CAAI,KAAQ;IACzB,OAAO,CAAC,CAAC,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAwB,EACxB,iBAA6C,EAC7C,YAAwB,EACxB,KAAiB,EACjB,WAAqB,WAAW,EAChC,YAAiC,IAAI,GAAG,EAAE;IAE1C,MAAM,eAAe,GAAG,CACtB,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAC1D,CAAC,SAAS,CAAC;IAEZ,MAAM,YAAY,GAAG,iBAAiB;SACnC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhC,OAAO;YACL,YAAY;YACZ,OAAO;SACR,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACzB,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS;YAC5C,eAAe;SAChB,CAAC,CAAC;QAEH,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAExB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,kBAAkB;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,EAAE,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC;SAC5B;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,IAAI;QACF,OAAO,MAAM,iBAAiB,CAC5B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAC5C,QAAQ,CAAC,UAAU,EACnB,GAAG,EACH;gBACE,aAAa,EAAE,IAAI;aACpB,EACD,QAAQ,CACT,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KACvC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAqB,EACrB,QAAwB,EACxB,OAAkC,EAClC,QAAmB,QAAQ,CAAC,MAAM,CAAC,SAAS,EAC5C,UAAuB;IAEvB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC9B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CACjC,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,CACP,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;KAC5B;IAED,aAAa;IACb,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAgB,EAChB,QAAwB,EACxB,OAAqC,EACrC,QAAmB,QAAQ,CAAC,MAAM,CAAC,SAAS,EAC5C,QAAmB;IAEnB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACrD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC9B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAC1C,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,EAClC,QAAQ,EACR,MAAM,CACP,CAAC;QACF,OAAO;YACL,GAAG,MAAM;YACT,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC;KACH;IAED,aAAa;IACb,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,EACxD,IAA0B,EAC1B,OAAe,EACf,UAAsB,EACtB,aAAyB,QAAQ,EACjC,WAAW,GAAG,KAAK,EACqB,EAAE;IAC1C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,GAAkC;QAC1C,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,CAAC;QAChB,GAAG,EAAE,IAAI;KACV,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACnD,IAAI,CAAiB,CAAC;QACtB,SAAS,OAAO;YACd,IAAI,GAAG,IAAI,CAAC;YACZ,YAAY,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,EAAE;gBACR,OAAO;aACR;YACD,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,IAAI;YACF,KAAK,GAAG,UAAU,CAAC,WAAW,CAC5B,IAAI,EACJ,CAAC,MAAW,EAAE,OAAY,EAAE,EAAE;gBAC5B,MAAM,GAAG;oBACP,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,aAAa,EAAE,CAAC;iBACjB,CAAC;gBACF,OAAO,EAAE,CAAC;gBACV,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,CAAC,MAAM,CAAC,CAAC;iBAChB;qBAAM;oBACL,OAAO,CAAC,MAAM,CAAC,CAAC;iBACjB;YACH,CAAC,EACD,UAAU,CACX,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;SACF;QACD,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE;YAC3B,wCAAwC;YACxC,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI;oBACF,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC;wBAC9D,IAAI;qBACL,CAAC,CAAC;oBACH,MAAM,GAAG,iBAAiB,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,EAAE;wBACT,IAAI,CAAC,MAAM,EAAE;yBACZ;6BAAM,IAAI,MAAM,CAAC,GAAG,EAAE;4BACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;4BAC5C,OAAO,EAAE,CAAC;4BACV,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACpB;6BAAM,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;4BAC9D,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;yBACxD;6BAAM;4BACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;4BACnD,IACE,CAAC,MAAM,CAAC,kBAAkB;gCAC1B,MAAM,CAAC,kBAAkB,IAAI,UAAU,EACvC;gCACA,OAAO,EAAE,CAAC;gCACV,OAAO,CAAC,MAAM,CAAC,CAAC;6BACjB;yBACF;qBACF;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,IAAI,EAAE;wBACT,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBACrD;iBACF;YACH,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;SACnB;IACH,CAAC,CAAC,CAAC;IAEH;IACE,YAAY;IACZ,UAAU,CAAC,uBAAuB;QAClC,YAAY;QACZ,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,EACzC;QACA,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KAC3C;IACD,IAAI,GAAG,IAAI,CAAC;IACZ,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,KAAK,UAAU,mBAAmB,CAChC,UAAsB,EACtB,WAAwB,EACxB,UAAsB;IAEtB,aAAa;IACb,WAAW,CAAC,eAAe,GAAG,MAAM,UAAU,CAAC,gBAAgB;IAC7D,aAAa;IACb,UAAU,CAAC,wBAAwB,CACpC,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IAChD,aAAa;IACb,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAE1C,aAAa;IACb,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,GAAG,CAAC,KAAK,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACzE;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AACnD;;;;;;;;IAQI;AACJ,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAsB,EACtB,GAAW,EACX,WAAwB,EACxB,UAAsB,EACtB,OAAO,GAAG,eAAe;IAEzB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAChC,CAAC,KAAK,IAAI,EAAE;QACV,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE;YACnD,MAAM,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,qCAAqC,CAC9D,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,EACV,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,IAAI,YAAY,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC/C,UAAU,EAAE,WAAW;gBACvB,8BAA8B,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC;KAChC;IAAC,OAAO,GAAQ,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QAED,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;YAC/C,UAAU,EAAE,WAAW;YACvB,8BAA8B,EAAE,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACxC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C;QAED,IAAI,GAAG,CAAC,GAAG,EAAE;YACX,MAAM,GAAG,CAAC,GAAG,CAAC;SACf;QAED,MAAM,GAAG,CAAC;KACX;YAAS;QACR,IAAI,GAAG,IAAI,CAAC;KACb;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;IAExD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,iBAAyB;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,iBAAyB;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAa,EACb,KAAuB;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI;YACF,OAAO,MAAM,KAAK,EAAE,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpC;KACF;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC;AAQD,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAkB,EAClB,GAAkB,EAClB,UAAqC,EACrC,iBAAyB,EAAE,CAAC,mEAAmE;;IAE/F,IAAI,GAAG,GAAa,EAAE,CAAC;IAEvB,0EAA0E;IAC1E,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE;QAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,OAAO,IAAI,EAAE;YACX,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAChD,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACpD,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACrB,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC;gBAC/C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CACH,CAAC;YACF,MAAM,SAAS,GAAG,MAChB,QACD,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAE7C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBAC9C,OAAO;oBACL,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC;oBACzB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,SAAU,CAAC;iBAC/C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAChD,QAAQ,CAAC,UAAU,EACnB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EACnC,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC7B,UAAU;gBACV,UAAU,CAAC;oBACT,GAAG,IAAI;oBACP,QAAQ,EAAE,GAAG,CAAC,MAAM;oBACpB,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;iBAC3D,CAAC,EACJ,eAAe,CAAC,oBAAoB;YACpC,+DAA+D;YAC/D,wCAAwC;YACxC,cAAc,IAAI,CAAC,CACpB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAC9B,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC3C,MAAM;aACP;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,KAAK,GAAG,WAAW;iBAChB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACrC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAEzC,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc,IAAI,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CACb,uDACE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAClC,SAAS,CACV,CAAC;aACH;SACF;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;KACtB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4CAA4C;AAC5C,wFAAwF;AACxF,mDAAmD;AACnD,uBAAuB;AACvB,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAsB,EACtB,GAAa,EACb,UAAqC,EACrC,oBAA6B,EAC7B,gBAAyB,IAAI;IAE7B,MAAM,WAAW,GAAG,aAAa,CAAC;IAClC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,oBAAoB,EAAE;QACzB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAC1C,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAC3C,CAAC;QACF,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;KACvD;IAED,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE;QAC1C,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,YAAY,GAAG,CAAC,EAAE;YACvB,IACE,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzD,oBAAoB,EACpB;gBACA,OAAO,GAAG,CAAC;aACZ;YAED,2BAA2B;YAC3B,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;gBAC/C,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,GAAG,EAAE,CAAC;gBACX,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;oBACtB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE;wBACnD,aAAa;qBACd,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClB;aACF;YAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;YAC/D,aAAa,IAAI,SAAS,CAAC,MAAM,CAAC;YAClC,oBAAoB,IAAI,SAAS,CAAC,MAAM,CAAC;YACzC,UAAU;gBACR,UAAU,CAAC;oBACT,QAAQ,EAAE,GAAG,CAAC,MAAM;oBACpB,aAAa,EAAE,aAAa;oBAC5B,oBAAoB,EAAE,oBAAoB;oBAC1C,gBAAgB,EAAE,WAAW;iBAC9B,CAAC,CAAC;YACL,MAAM,QAAQ,GAAG,SAAS;iBACvB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;iBACpD,MAAM,CAAC,MAAM,CAAC,CAAC;YAElB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACtC;YACD,GAAG,CAAC,IAAI,CACN,GAAG,KAAK;iBACL,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACzD,MAAM,CAAC,MAAM,CAAC,CAClB,CAAC;YACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7D,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC;YACjC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,yCAAyC;SAC7D;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,sCAAsC,GAAG,GAAG,CAAC;AACnD,KAAK,UAAU,UAAU,CACvB,UAAsB,EACtB,KAAe;IAEf,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClE,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE;QAChC,8BAA8B,EAAE,CAAC;QACjC,UAAU,EAAE,WAAW;KACxB,CAAC,CACH,CACF,CACF,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAwB,EACxB,YAAsC,EACtC,UAAqC,EACrC,iBAAyB,EAAE,CAAC,mEAAmE;;IAE/F,IAAI,qBAAqB,GAA6B,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACjC,IAAI;YACF,IACE,EAAE,CAAC,SAAS,CAAC;gBACX,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC,MAAM;gBACT,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EACvC;gBACA,+EAA+E;gBAC/E,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;SACF;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;gBAClD,qBAAqB,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;oBACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;oBACnC,eAAe,EAAE,SAAS;iBAC3B,CAAC,CAAC;gBACH,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,qBAAqB,GAAG,CAAC,WAAW,CAAC,CAAC;aACvC;iBAAM;gBACL,MAAM,CAAC,CAAC;aACT;SACF;KACF;IAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvB;IAED,MAAM,oBAAoB,CACxB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,QAAwB,EACxB,YAAsC,EACtC,EACE,UAAU,EACV,cAAc,GAAG,EAAE,EACnB,gBAAgB,GAAG,OAAO,MAKxB,EAAE;IAEN,IAAI,qBAAqB,GAA6B,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACjC,IAAI;YACF,IACE,EAAE,CAAC,SAAS,CAAC;gBACX,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC,MAAM;gBACT,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,4CAA4C;cACzF;gBACA,+EAA+E;gBAC/E,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;SACF;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;gBAClD,qBAAqB,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;oBACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;oBACnC,eAAe,EAAE,SAAS;iBAC3B,CAAC,CAAC;gBACH,EAAE,CAAC,GAAG,CACJ,oBAAoB,CAAC,mBAAmB,CAAC;oBACvC,KAAK,EAAE,gBAAgB;iBACxB,CAAC,EACF,oBAAoB,CAAC,mBAAmB,CAAC;oBACvC,aAAa,EAAE,MAAM,yBAAyB,CAC5C,QAAQ,CAAC,UAAU,EACnB,qBAAqB,CACtB;iBACF,CAAC,EACF,GAAG,qBAAqB,CACzB,CAAC;gBACF,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,qBAAqB,GAAG,CAAC,WAAW,CAAC,CAAC;aACvC;iBAAM;gBACL,MAAM,CAAC,CAAC;aACT;SACF;KACF;IAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACnC,eAAe,EAAE,SAAS;SAC3B,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvB;IAED,MAAM,oBAAoB,CACxB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,CACf,CAAC;AACJ,CAAC"}