@kamino-finance/klend-sdk 7.1.7 → 7.1.9

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.
@@ -154,7 +154,7 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
154
154
  // 2. Flash borrow & repay the collateral amount needed for given leverage
155
155
  // if user deposits coll, then we borrow the diff, else we borrow the entire amount
156
156
  const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
157
- borrowIxIndex: budgetIxs.length + createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
157
+ borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
158
158
  userTransferAuthority: owner,
159
159
  lendingMarketAuthority: await market.getLendingMarketAuthority(),
160
160
  lendingMarketAddress: market.getAddress(),
@@ -183,13 +183,13 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
183
183
  flashLoanInfo,
184
184
  instructions: [
185
185
  ...scopeRefreshIx,
186
- ...budgetIxs,
187
186
  ...createAtasIxs,
188
187
  ...fillWsolAtaIxs,
189
188
  ...[flashBorrowIx],
190
189
  ...classes_1.KaminoAction.actionToIxs(kaminoDepositAndBorrowAction),
191
190
  ...swapInstructions,
192
191
  ...[flashRepayIx],
192
+ ...budgetIxs,
193
193
  ],
194
194
  };
195
195
  });
@@ -315,7 +315,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
315
315
  // We borrow exactly how much we need to repay
316
316
  // and repay that + flash amount fee
317
317
  const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
318
- borrowIxIndex: budgetIxs.length + createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
318
+ borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
319
319
  userTransferAuthority: owner,
320
320
  lendingMarketAuthority: await market.getLendingMarketAuthority(),
321
321
  lendingMarketAddress: market.getAddress(),
@@ -340,7 +340,6 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
340
340
  },
341
341
  instructions: [
342
342
  ...scopeRefreshIx,
343
- ...budgetIxs,
344
343
  ...createAtasIxs,
345
344
  ...fillWsolAtaIxs,
346
345
  ...[flashBorrowIx],
@@ -348,6 +347,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
348
347
  ...swapInstructions,
349
348
  ...[flashRepayIx],
350
349
  ...closeWsolAtaIxs,
350
+ ...budgetIxs,
351
351
  ],
352
352
  };
353
353
  });
@@ -557,7 +557,7 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
557
557
  const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
558
558
  // 2. Create borrow flash loan instruction
559
559
  const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
560
- borrowIxIndex: budgetIxs.length + createAtasIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0), // TODO: how about user metadata ixs
560
+ borrowIxIndex: createAtasIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0), // TODO: how about user metadata ixs
561
561
  userTransferAuthority: owner,
562
562
  lendingMarketAuthority: await kaminoMarket.getLendingMarketAuthority(),
563
563
  lendingMarketAddress: kaminoMarket.getAddress(),
@@ -577,13 +577,13 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
577
577
  const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
578
578
  const ixs = [
579
579
  ...scopeRefreshIx,
580
- ...budgetIxs,
581
580
  ...createAtasIxs,
582
581
  ...[flashBorrowIx],
583
582
  ...classes_1.KaminoAction.actionToIxs(depositAction),
584
583
  ...classes_1.KaminoAction.actionToIxs(borrowAction),
585
584
  ...swapInstructions,
586
585
  ...[flashRepayIx],
586
+ ...budgetIxs,
587
587
  ];
588
588
  const flashBorrowReserve = collReserve;
589
589
  const res = {
@@ -626,7 +626,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
626
626
  }
627
627
  // 3. Flash borrow & repay amount to repay (debt)
628
628
  const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
629
- borrowIxIndex: budgetIxs.length + createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
629
+ borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
630
630
  userTransferAuthority: owner,
631
631
  lendingMarketAuthority: await kaminoMarket.getLendingMarketAuthority(),
632
632
  lendingMarketAddress: kaminoMarket.getAddress(),
@@ -649,7 +649,6 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
649
649
  const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
650
650
  const ixs = [
651
651
  ...scopeRefreshIx,
652
- ...budgetIxs,
653
652
  ...createAtasIxs,
654
653
  ...fillWsolAtaIxs,
655
654
  ...[flashBorrowIx],
@@ -658,6 +657,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
658
657
  ...swapInstructions,
659
658
  ...[flashRepayIx],
660
659
  ...closeWsolAtaIxs,
660
+ ...budgetIxs,
661
661
  ];
662
662
  const res = {
663
663
  flashLoanInfo: {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":";;;;;;AAmEA,4EAqHC;AAED,8DAwFC;AA+GD,8EA+HC;AAED,gEA4FC;AAED,oEA4HC;AAED,kEAuOC;AAED,oDA6HC;AApkCD,qCAAoG;AACpG,4DAAiC;AACjC,wCASoB;AACpB,iDAA0D;AAE1D,wCAAmE;AACnE,oCAekB;AAClB,mCAMiB;AACjB,qGAAuF;AAuBvF,iDAA8D;AAC9D,2DAAgG;AAChG,4CAAmD;AAEtC,QAAA,oBAAoB,GAAG,GAAG,CAAC,CAAC,kEAAkE;AAEpG,KAAK,UAAU,gCAAgC,CAAgB,EACpE,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,sBAAsB,GAC4B;IAKlD,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,YAAY,CAAC,gBAAgB,CAAC,wBAAgB,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,wBAAwB,GAAG,iBAAiB,KAAK,aAAa,CAAC;IACrE,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,eAAgB,CAAC,gBAAgB,EAAE,CAAC;IAE/G,MAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC;QACjC,aAAa,EAAE,aAAa;QAC5B,uBAAuB,EAAE,wBAAwB;QACjD,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,mBAAmB,CAAC,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAElH,yEAAyE;IACzE,MAAM,QAAQ,GAAsB,CAClC,MAAM,2BAA2B,CAC/B,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,EACL,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EACxC,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,uBAAuB,EACvB;QACE;YACE,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,EAAE,WAAW;gBACtC,aAAa,EAAE,SAAS;aACzB;SACF;KACF,EACD,QAAQ,EACR,sBAAsB,CACvB,CACF,CAAC,CAAC,CAAC,CAAC;IAEL,MAAM,mBAAmB,GAAG,IAAA,oCAA4B,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEhF,MAAM,eAAe,GAAG,IAAA,iCAAU,EAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7F,MAAM,kBAAkB,GAAe;QACrC,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,4BAAO,CAAC,CAAC,CAAC;QACzF,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,aAAa;KAC1B,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,IAAA,4BAAoB,EAAC;QAC3C,aAAa,EAAE,aAAa;QAC5B,uBAAuB,EAAE,wBAAwB;QACjD,iBAAiB;QACjB,eAAe,EAAE,SAAS,CAAC,SAAS;QACpC,cAAc;QACd,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,yBAAyB,GAAG,IAAA,iCAAU,EAAC,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjH,OAAO;QACL,UAAU,EAAE;YACV,mBAAmB,EAAE,yBAAyB;YAC9C,oBAAoB,EAAE,IAAA,iCAAU,EAAC,eAAe,CAAC,sBAAsB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YACpG,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,aAAa;SAC1B;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,SAAS;YACT,WAAW;YACX,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc;YACpD,aAAa,EAAE,mBAAmB;SACnC;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAgB,EAC7D,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,MAAM,EACN,OAAO,EACP,sBAAsB,EACtB,QAAQ,GACgC;IACxC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,gCAAgC,CAAC;QAC3E,KAAK;QACL,YAAY;QACZ,aAAa;QACb,aAAa;QACb,aAAa;QACb,eAAe;QACf,WAAW;QACX,UAAU;QACV,QAAQ;QACR,WAAW;QACX,cAAc;QACd,iBAAiB;QACjB,yBAAyB;QACzB,cAAc;QACd,uBAAuB;QACvB,cAAc;QACd,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,cAAc,GAAmC,OAAO,CAAC;IAE/D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAE1G,sCAAsC;IAEtC,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,YAAY,CAAC,gBAAgB,CAAC,wBAAgB,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,eAAgB,CAAC,gBAAgB,EAAE,CAAC;IAE/G,MAAM,sBAAsB,GAAG,MAAM,2BAA2B,CAC9D,YAAY,EACZ,WAAY,EACZ,WAAY,EACZ,KAAK,EACL,aAAa,CAAC,UAAU,EACxB,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,aAAa,CAAC,KAAK,EACnB,uBAAuB,EACvB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC,CAAC,EACF,QAAQ,EACR,sBAAsB,CACvB,CAAC;IAEF,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE;QAClE,OAAO;YACL,GAAG,EAAE,sBAAsB,CAAC,YAAY;YACxC,aAAa,EAAE,sBAAsB,CAAC,aAAa;YACnD,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY;YAC5C,UAAU;YACV,aAAa;YACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa;SAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,MAAoB,EACpB,WAA0B,EAC1B,WAA0B,EAC1B,KAAwB,EACxB,UAAyD,EACzD,QAAyB,EACzB,WAAiB,EACjB,iBAA0B,EAC1B,cAA6B,EAC7B,KAAiC,EACjC,uBAAkD,EAClD,iBAA2C,EAC3C,QAAiB,EACjB,sBAA+B;IAE/B,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,IAAA,mCAAsB,EAAC;YACrB,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,WAAW,CAAC,wBAAwB,EAAE;SACrD,CAAC;KACH,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,mBAAW,EACpD,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,uBAAuB,CACxB,CAAC;IAEF,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,IAAI,iBAAiB,EAAE,CAAC;QACtB,cAAc,CAAC,IAAI,CACjB,GAAG,IAAA,0BAAkB,EACnB,KAAK,EACL,MAAM,IAAA,iCAAyB,EAAC,wBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,EAChE,IAAA,cAAQ,EAAC,MAAM,CAAC,IAAA,iCAAU,EAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAY,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CACrF,CACF,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,mFAAmF;IACnF,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uCAAwB,EAAC;QAC/D,aAAa,EACX,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,MAAM,MAAM,CAAC,yBAAyB,EAAE;QAChE,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE;QACzC,OAAO,EAAE,WAAW;QACpB,cAAc,EAAE,IAAA,iCAAU,EAAC,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpF,cAAc,EAAE,YAAY;QAC5B,kGAAkG;QAClG,eAAe,EAAE,IAAA,UAAI,GAAE;QACvB,kBAAkB,EAAE,IAAA,UAAI,GAAE;QAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,4BAA4B,GAAG,MAAM,sBAAY,CAAC,yBAAyB,CAC/E,MAAM,EACN,IAAA,iCAAU,EAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EACnF,aAAa,EACb,IAAA,iCAAU,EAAC,KAAK,CAAC,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EACjF,aAAa,EACb,KAAK,EACL,UAAW,EACX,QAAQ,EACR,SAAS,EACT,CAAC,EACD,KAAK,EACL,sBAAsB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ;IACrD,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,oDAAoD;IACzG,QAAQ,EACR,WAAW,CACZ,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5C,UAAU;QACV,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QACjC,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,WAAW,CAAC;QACvC,MAAM,aAAa,GAAG;YACpB,kBAAkB,EAAE,kBAAkB,CAAC,OAAO;YAC9C,YAAY,EAAE,kBAAkB,CAAC,eAAe,EAAE;SACnD,CAAC;QAEF,OAAO;YACL,aAAa;YACb,YAAY,EAAE;gBACZ,GAAG,cAAc;gBACjB,GAAG,SAAS;gBACZ,GAAG,aAAa;gBAChB,GAAG,cAAc;gBACjB,GAAG,CAAC,aAAa,CAAC;gBAClB,GAAG,sBAAY,CAAC,WAAW,CAAC,4BAA4B,CAAC;gBACzD,GAAG,gBAAgB;gBACnB,GAAG,CAAC,YAAY,CAAC;aAClB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,iCAAiC,CAAgB,EACrE,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,QAAQ,EACR,sBAAsB,GAC6B;IAKnD,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,WAAY,CAAC,eAAe,EAAE,IAAI,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,wBAAwB,GAAG,iBAAiB,KAAK,aAAa,CAAC;IAErE,MAAM,eAAe,GAAG,iBAAiB,KAAK,wBAAgB,CAAC;IAE/D,MAAM,KAAK,GAAG,IAAA,6BAAqB,EACjC,YAAY,EACZ,WAAY,EACZ,WAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;IAEF,MAAM,QAAQ,GAAG,CACf,MAAM,4BAA4B,CAChC,YAAY,EACZ,WAAY,EACZ,WAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,KAAK,EACL,uBAAuB,EACvB;QACE;YACE,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,EAAE,WAAW;gBACtC,aAAa,EAAE,SAAS;aACzB;SACF;KACF,EACD,QAAQ,EACR,sBAAsB,CACvB,CACF,CAAC,CAAC,CAAC,CAAC;IAEL,MAAM,mBAAmB,GAAG,IAAA,oCAA4B,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEhF,MAAM,eAAe,GAAG,IAAA,iCAAU,EAAC,KAAK,CAAC,eAAe,EAAE,WAAY,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjG,MAAM,kBAAkB,GAAe;QACrC,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,4BAAO,CAAC,CAAC,CAAC;QACzF,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,aAAa;KAC1B,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,IAAA,6BAAqB,EAC3C,YAAY,EACZ,WAAY,EACZ,WAAY,EACZ,SAAS,CAAC,SAAS,EACnB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;IAEF,MAAM,yBAAyB,GAAG,IAAA,iCAAU,EAAC,eAAe,CAAC,eAAe,EAAE,WAAY,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErH,OAAO;QACL,UAAU,EAAE;YACV,mBAAmB,EAAE,yBAAyB;YAC9C,oBAAoB,EAAE,eAAe,CAAC,WAAW;YACjD,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,aAAa;SAC1B;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,SAAS;YACT,WAAW;YACX,UAAU;YACV,aAAa,EAAE,mBAAmB;SACnC;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAgB,EAC9D,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,sBAAsB,GACmB;IACzC,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,iBAAiB,KAAK,wBAAgB,CAAC;IAC/D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,iCAAiC,CAAC;QAC5E,KAAK;QACL,YAAY;QACZ,aAAa;QACb,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,WAAW;QACX,cAAc;QACd,eAAe;QACf,WAAW;QACX,iBAAiB;QACjB,iBAAiB;QACjB,uBAAuB;QACvB,cAAc;QACd,cAAc;QACd,MAAM;QACN,QAAQ;QACR,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAmC,OAAO,CAAC;IAEhE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAE3G,sCAAsC;IAEtC,MAAM,uBAAuB,GAAG,MAAM,4BAA4B,CAChE,YAAY,EACZ,WAAY,EACZ,WAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,aAAa,CAAC,KAAK,EACnB,uBAAuB,EACvB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC,CAAC,EACF,QAAQ,EACR,sBAAsB,CACvB,CAAC;IAEF,6BAA6B;IAC7B,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAChD,OAAO;YACL,GAAG,EAAE,GAAG,CAAC,YAAY;YACrB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY;YAC5C,UAAU;YACV,aAAa,EAAE,aAAa;YAC5B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa;SAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAChD,MAAoB,EACpB,WAA0B,EAC1B,WAA0B,EAC1B,KAAwB,EACxB,UAA4B,EAC5B,QAAyB,EACzB,WAAiB,EACjB,iBAA0B,EAC1B,iBAA0B,EAC1B,cAA6B,EAC7B,KAAkC,EAClC,uBAAkD,EAClD,iBAA2C,EAC3C,QAAiB,EACjB,sBAA8B;IAE9B,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAyB,EAClD,aAAa,EACb,KAAK,CAAC,OAAO,EACb,WAAW,CAAC,wBAAwB,EAAE,CACvC,CAAC;IACF,+CAA+C;IAE/C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,mBAAW,EACpD,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,uBAAuB,CACxB,CAAC;IAEF,MAAM,eAAe,GAAkB,EAAE,CAAC;IAC1C,IAAI,iBAAiB,IAAI,aAAa,KAAK,wBAAgB,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAyB,EAAC,wBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,eAAe,CAAC,IAAI,CAClB,IAAA,uCAA0B,EACxB;YACE,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,OAAO,EAAE,OAAO;SACjB,EACD,EAAE,cAAc,EAAE,6BAAqB,EAAE,CAC1C,CACF,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,iHAAiH;IACjH,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,IAAI,aAAa,KAAK,wBAAgB,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,sBAAsB,GAAG,yBAAgB,GAAG,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,cAAc,CAAC,IAAI,CACjB,GAAG,IAAA,0BAAkB,EACnB,KAAK,EACL,MAAM,IAAA,iCAAyB,EAAC,wBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,EAChE,IAAA,cAAQ,EAAC,MAAM,CAAC,IAAA,iCAAU,EAAC,aAAa,EAAE,oBAAY,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC5E,CACF,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,8CAA8C;IAC9C,oCAAoC;IACpC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uCAAwB,EAAC;QAC/D,aAAa,EACX,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,MAAM,MAAM,CAAC,yBAAyB,EAAE;QAChE,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE;QACzC,OAAO,EAAE,WAAY;QACrB,cAAc,EAAE,IAAA,iCAAU,EAAC,KAAK,CAAC,WAAW,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1E,cAAc,EAAE,YAAY;QAC5B,eAAe,EAAE,IAAA,UAAI,GAAE;QACvB,kBAAkB,EAAE,IAAA,UAAI,GAAE;QAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,qGAAqG;IACrG,MAAM,sBAAsB,GAAG,MAAM,sBAAY,CAAC,yBAAyB,CACzE,MAAM,EACN,iBAAiB,CAAC,CAAC,CAAC,eAAO,CAAC,CAAC,CAAC,IAAA,iCAAU,EAAC,KAAK,CAAC,WAAW,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAC3G,aAAa,EACb,iBAAiB;QACf,CAAC,CAAC,eAAO;QACT,CAAC,CAAC,IAAA,iCAAU,EAAC,KAAK,CAAC,0BAA0B,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAC/F,aAAa,EACb,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,CAAC,EACD,KAAK,EACL,KAAK,EACL,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,gIAAgI;IACrL,QAAQ,CACT,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5C,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/D,OAAO;YACL,aAAa,EAAE;gBACb,YAAY,EAAE,WAAW,CAAC,eAAe,EAAE;gBAC3C,kBAAkB,EAAE,WAAW,CAAC,OAAO;aACxC;YACD,YAAY,EAAE;gBACZ,GAAG,cAAc;gBACjB,GAAG,SAAS;gBACZ,GAAG,aAAa;gBAChB,GAAG,cAAc;gBACjB,GAAG,CAAC,aAAa,CAAC;gBAClB,GAAG,sBAAY,CAAC,WAAW,CAAC,sBAAsB,CAAC;gBACnD,GAAG,gBAAgB;gBACnB,GAAG,CAAC,YAAY,CAAC;gBACjB,GAAG,eAAe;aACnB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAAgB,EAC/D,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,GACuB;IAK7C,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAE,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAE,CAAC;IAClE,MAAM,SAAS,GAAG,IAAA,iCAAY,EAAC,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAA,iCAAY,EAAC,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5E,iCAAiC;IACjC,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC3D,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9E,IAAI,YAAY,CAAC;IACjB,IAAI,oBAAoB,EAAE,CAAC;QACzB,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,IAAA,yBAAiB,EAAC;QACxE,sBAAsB,EAAE,SAAS;QACjC,qBAAqB,EAAE,QAAQ;QAC/B,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,eAAe;QAChC,YAAY,EAAE,IAAI,oBAAO,CAAC,YAAY,CAAC;KACxC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAA,kCAA0B,EACtC,WAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,yEAAyE;QACzE,MAAM,QAAQ,GAAsB,CAClC,MAAM,wBAAwB,CAC5B,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,EACX,KAAK,EACL,cAAc,EACd;YACE;gBACE,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,EAAE,WAAW;oBACtC,aAAa,EAAE,SAAS;iBACzB;aACF;SACF,EACD,uBAAuB,EACvB,QAAQ,CACT,CACF,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,mBAAmB,GAAG,IAAA,oCAA4B,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEhF,MAAM,eAAe,GAAG,IAAA,iCAAU,EAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1F,MAAM,kBAAkB,GAAe;YACrC,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,4BAAO,CAAC,CAAC,CAAC;YACzF,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,aAAa;SAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;QAExE,MAAM,EACJ,qBAAqB,EAAE,+BAA+B,EACtD,oBAAoB,EAAE,8BAA8B,GACrD,GAAG,IAAA,yBAAiB,EAAC;YACpB,sBAAsB,EAAE,SAAS;YACjC,qBAAqB,EAAE,QAAQ;YAC/B,cAAc,EAAE,cAAc;YAC9B,eAAe,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;YACxD,YAAY,EAAE,IAAI,oBAAO,CAAC,YAAY,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAA,kCAA0B,EAChD,WAAW,EACX,+BAA+B,EAC/B,8BAA8B,EAC9B,SAAS,CAAC,SAAS,EACnB,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,MAAM,yBAAyB,GAAG,IAAA,iCAAU,EAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjH,OAAO;YACL,UAAU,EAAE;gBACV,mBAAmB,EAAE,yBAAyB;gBAC9C,oBAAoB,EAAE,IAAA,iCAAU,EAAC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnG,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,aAAa;aAC1B;YACD,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,SAAS;gBACT,WAAW;gBACX,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,mBAAmB;gBAClC,SAAS,EAAE,SAAS;aACrB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAA,mCAA2B,EAAC,qBAAqB,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAElH,MAAM,QAAQ,GAAsB,CAClC,MAAM,wBAAwB,CAC5B,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,EACX,KAAK,EACL,cAAc,EACd;YACE;gBACE,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,EAAE,WAAW;oBACtC,aAAa,EAAE,SAAS;iBACzB;aACF;SACF,EACD,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,CACvB,CACF,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,mBAAmB,GAAG,IAAA,oCAA4B,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEhF,MAAM,eAAe,GAAG,IAAA,iCAAU,EAChC,KAAK,CAAC,yCAAyC,EAC/C,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CACpD,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,kBAAkB,GAAe;YACrC,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,4BAAO,CAAC,CAAC,CAAC;YACzF,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,aAAa;SAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;QAExE,MAAM,EACJ,qBAAqB,EAAE,+BAA+B,EACtD,oBAAoB,EAAE,8BAA8B,GACrD,GAAG,IAAA,yBAAiB,EAAC;YACpB,sBAAsB,EAAE,SAAS;YACjC,qBAAqB,EAAE,QAAQ;YAC/B,cAAc,EAAE,cAAc;YAC9B,eAAe,EAAE,SAAS,CAAC,SAAS;YACpC,YAAY,EAAE,IAAI,oBAAO,CAAC,YAAY,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAA,mCAA2B,EACjD,+BAA+B,EAC/B,8BAA8B,EAC9B,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,MAAM,yBAAyB,GAAG,IAAA,iCAAU,EAC1C,eAAe,CAAC,yCAAyC,EACzD,WAAW,CAAC,eAAe,EAAE,CAC9B,CAAC,IAAI,EAAE,CAAC;QAET,OAAO;YACL,UAAU,EAAE;gBACV,mBAAmB,EAAE,yBAAyB;gBAC9C,oBAAoB,EAAE,IAAA,iCAAU,EAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACxG,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,aAAa;aAC1B;YACD,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,SAAS;gBACT,WAAW;gBACX,UAAU;gBACV,aAAa,EAAE,mBAAmB;gBAClC,SAAS;aACV;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAgB,EACxD,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,GACa;IACnC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,2BAA2B,CAAC;QACtE,KAAK;QACL,YAAY;QACZ,aAAa;QACb,aAAa;QACb,UAAU;QACV,iBAAiB;QACjB,gBAAgB;QAChB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,eAAe;QACf,eAAe;QACf,WAAW;QACX,uBAAuB;QACvB,cAAc;QACd,cAAc;QACd,MAAM;QACN,QAAQ;QACR,sBAAsB;KACvB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAmC,OAAO,CAAC;QAE/D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAE1G,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CACxD,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,CAAC,KAAK,EACnB,cAAc,EACd,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QACJ,CAAC,CAAC,EACF,uBAAuB,EACvB,QAAQ,CACT,CAAC;QACF,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5C,OAAO;gBACL,GAAG,EAAE,GAAG,CAAC,YAAY;gBACrB,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY;gBAC5C,UAAU;gBACV,aAAa;gBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa;aAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEnC,MAAM,eAAe,GAAmC,OAAO,CAAC;QAEhE,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAE3G,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CACxD,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,CAAC,KAAK,EACnB,cAAc,EACd,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QACJ,CAAC,CAAC,EACF,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,CACvB,CAAC;QAEF,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5C,OAAO;gBACL,GAAG,EAAE,GAAG,CAAC,YAAY;gBACrB,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY;gBAC5C,UAAU;gBACV,aAAa;gBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,aAAa;aAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAwB,EACxB,YAA0B,EAC1B,aAAsB,EACtB,aAAsB,EACtB,UAA4B,EAC5B,QAAyB,EACzB,WAAiB,EACjB,KAAgC,EAChC,cAA6B,EAC7B,iBAA2C,EAC3C,uBAAkD,EAClD,QAAiB;IAEjB,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAyB,EAClD,aAAa,EACb,KAAK,CAAC,OAAO,EACb,WAAW,CAAC,wBAAwB,EAAE,CACvC,CAAC;IAEF,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,mBAAW,EACpD,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,uBAAuB,CACxB,CAAC;IAEF,0CAA0C;IAC1C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uCAAwB,EAAC;QAC/D,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,oCAAoC;QAClI,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,MAAM,YAAY,CAAC,yBAAyB,EAAE;QACtE,oBAAoB,EAAE,YAAY,CAAC,UAAU,EAAE;QAC/C,OAAO,EAAE,WAAY;QACrB,cAAc,EAAE,IAAA,iCAAU,EAAC,KAAK,CAAC,qBAAqB,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpF,cAAc,EAAE,YAAY;QAC5B,kGAAkG;QAClG,eAAe,EAAE,IAAA,UAAI,GAAE;QACvB,kBAAkB,EAAE,IAAA,UAAI,GAAE;QAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,sBAAY,CAAC,gBAAgB,CACvD,YAAY,EACZ,IAAA,iCAAU,EAAC,KAAK,CAAC,qBAAqB,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EACvF,aAAa,EACb,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,CAAC,EACD,KAAK,EACL,KAAK,EACL,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EACnD,QAAQ,EACR,WAAW,CACZ,CAAC;IAEF,oFAAoF;IACpF,MAAM,YAAY,GAAG,MAAM,sBAAY,CAAC,eAAe,CACrD,YAAY,EACZ,IAAA,iCAAU,EAAC,KAAK,CAAC,YAAY,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAC7E,aAAa,EACb,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,CAAC,EACD,KAAK,EACL,KAAK,EACL,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,6HAA6H;IAClL,QAAQ,EACR,WAAW,CACZ,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5C,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/D,MAAM,GAAG,GAAG;YACV,GAAG,cAAc;YACjB,GAAG,SAAS;YACZ,GAAG,aAAa;YAChB,GAAG,CAAC,aAAa,CAAC;YAClB,GAAG,sBAAY,CAAC,WAAW,CAAC,aAAa,CAAC;YAC1C,GAAG,sBAAY,CAAC,WAAW,CAAC,YAAY,CAAC;YACzC,GAAG,gBAAgB;YACnB,GAAG,CAAC,YAAY,CAAC;SAClB,CAAC;QAEF,MAAM,kBAAkB,GAAG,WAAY,CAAC;QACxC,MAAM,GAAG,GAAsB;YAC7B,aAAa,EAAE;gBACb,kBAAkB,EAAE,kBAAkB,CAAC,OAAO;gBAC9C,YAAY,EAAE,kBAAkB,CAAC,eAAe,EAAE;aACnD;YACD,YAAY,EAAE,GAAG;SAClB,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAwB,EACxB,YAA0B,EAC1B,aAAsB,EACtB,aAAsB,EACtB,UAA4B,EAC5B,QAAyB,EACzB,WAAiB,EACjB,KAAgC,EAChC,cAA6B,EAC7B,iBAA2C,EAC3C,uBAAkD,EAClD,QAAiB,EACjB,qBAA6B,4BAAoB,EACjD,sBAA8B;IAE9B,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAA,mCAAsB,EAAC;QAClD,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,WAAW,CAAC,wBAAwB,EAAE;KACrD,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,mBAAW,EACpD,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,uBAAuB,CACxB,CAAC;IAEF,gFAAgF;IAChF,iHAAiH;IACjH,MAAM,eAAe,GAAkB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,IAAI,aAAa,KAAK,wBAAgB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAyB,EAAC,wBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjF,eAAe,CAAC,IAAI,CAClB,IAAA,uCAA0B,EACxB;YACE,KAAK;YACL,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK,CAAC,OAAO;SAC3B,EACD,EAAE,cAAc,EAAE,6BAAqB,EAAE,CAC1C,CACF,CAAC;QAEF,MAAM,cAAc,GAAG,sBAAsB,GAAG,yBAAgB,GAAG,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,cAAc,CAAC,IAAI,CACjB,GAAG,IAAA,0BAAkB,EACnB,KAAK,EACL,OAAO,EACP,IAAA,cAAQ,EAAC,MAAM,CAAC,IAAA,iCAAU,EAAC,aAAa,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC3F,CACF,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uCAAwB,EAAC;QAC/D,aAAa,EACX,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,MAAM,YAAY,CAAC,yBAAyB,EAAE;QACtE,oBAAoB,EAAE,YAAY,CAAC,UAAU,EAAE;QAC/C,OAAO,EAAE,WAAY;QACrB,cAAc,EAAE,IAAA,iCAAU,EAAC,oBAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChG,cAAc,EAAE,YAAY;QAC5B,kGAAkG;QAClG,eAAe,EAAE,IAAA,UAAI,GAAE;QACvB,kBAAkB,EAAE,IAAA,UAAI,GAAE;QAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,cAAc,CACnD,YAAY,EACZ,IAAA,iCAAU,EAAC,oBAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EACnG,aAAa,EACb,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,CAAC,EACD,KAAK,EACL,KAAK,EACL,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,6HAA6H;IAClL,QAAQ,CACT,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9D,wFAAwF;IACxF,MAAM,cAAc,GAAG,MAAM,sBAAY,CAAC,iBAAiB,CACzD,YAAY,EACZ,IAAA,iCAAU,EAAC,KAAK,CAAC,yCAAyC,EAAE,WAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAC1G,aAAa,EACb,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,CAAC,EACD,KAAK,EACL,KAAK,EACL,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,6HAA6H;IAClL,QAAQ,EACR,YAAY,CACb,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5C,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/D,MAAM,GAAG,GAAG;YACV,GAAG,cAAc;YACjB,GAAG,SAAS;YACZ,GAAG,aAAa;YAChB,GAAG,cAAc;YACjB,GAAG,CAAC,aAAa,CAAC;YAClB,GAAG,sBAAY,CAAC,WAAW,CAAC,WAAW,CAAC;YACxC,GAAG,sBAAY,CAAC,WAAW,CAAC,cAAc,CAAC;YAC3C,GAAG,gBAAgB;YACnB,GAAG,CAAC,YAAY,CAAC;YACjB,GAAG,eAAe;SACnB,CAAC;QAEF,MAAM,GAAG,GAAsB;YAC7B,aAAa,EAAE;gBACb,kBAAkB,EAAE,WAAY,CAAC,OAAO;gBACxC,YAAY,EAAE,WAAY,CAAC,eAAe,EAAE;aAC7C;YACD,YAAY,EAAE,GAAG;SAClB,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,MAAM,WAAW,GAAG,KAAK,EAC9B,KAAwB,EACxB,aAAsB,EACtB,WAA0B,EAC1B,aAAsB,EACtB,WAA0B,EAC1B,uBAAkD,EAClD,EAAE;IACF,MAAM,SAAS,GAAG,uBAAuB,IAAI,IAAA,yCAAiC,EAAC,OAAO,CAAC,CAAC;IAExF,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAEtH,MAAM,aAAa,GAAG,CAAC,MAAM,IAAA,4BAAoB,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAE5G,OAAO;QACL,SAAS;QACT,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,WAAW,eAkBtB;AAEK,MAAM,yCAAyC,GAAG,KAAK,EAC5D,MAAoB,EACpB,WAA0B,EAC1B,WAA0B,EAC1B,UAAyD,EACzD,kBAAuD,EAC/B,EAAE;IAC1B,MAAM,WAAW,GACf,UAAU,IAAI,IAAA,4BAAkB,EAAC,UAAU,CAAC;QAC1C,CAAC,CAAC;YACE,GAAG,IAAI,GAAG,CAAU;gBAClB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;gBACxD,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;gBACvD,WAAW,CAAC,OAAO;gBACnB,WAAW,CAAC,OAAO;aACpB,CAAC;SACH;QACH,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAU,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,eAAe,GAAkB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAA,oCAA0B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEvE,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACxG,IAAI,SAAS,EAAE,CAAC;oBACd,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAnCW,QAAA,yCAAyC,6CAmCpD;AAEF,MAAM,mBAAmB,GAAG,CAC1B,iBAAoC,EACpC,aAAsB,EACtB,aAAsB,EACtB,YAA0B,EAC1B,EAAE;IACF,IAAI,cAA8B,CAAC;IACnC,IAAI,iBAAiB,KAAK,yBAAiB,CAAC,QAAQ,EAAE,CAAC;QACrD,WAAW;QACX,cAAc,GAAG,IAAI,0BAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,iBAAiB,KAAK,yBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC5D,WAAW;QACX,cAAc,GAAG,IAAI,0BAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,yFAAyF,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAOF,MAAM,8BAA8B,GAAG,CACrC,aAAsB,EACtB,WAA0B,EAC1B,aAAsB,EACtB,WAA0B,EACG,EAAE;IAC/B,OAAO;QACL;YACE,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,WAAW,CAAC,wBAAwB,EAAE;SACrD;QACD;YACE,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,WAAW,CAAC,wBAAwB,EAAE;SACrD;QACD;YACE,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE;YACjC,YAAY,EAAE,6BAAqB;SACpC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamino-finance/klend-sdk",
3
- "version": "7.1.7",
3
+ "version": "7.1.9",
4
4
  "description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -65,7 +65,7 @@
65
65
  "@coral-xyz/borsh": "^0.28.0",
66
66
  "@kamino-finance/farms-sdk": "3.2.13",
67
67
  "@kamino-finance/kliquidity-sdk": "^8.4.7",
68
- "@kamino-finance/scope-sdk": "^10.0.4",
68
+ "@kamino-finance/scope-sdk": "^10.0.5",
69
69
  "@solana-program/address-lookup-table": "^0.8.0",
70
70
  "@solana-program/system": "^0.8.0",
71
71
  "@solana-program/token": "^0.6.0",
@@ -21,6 +21,7 @@ import { KaminoReserve, KaminoReserveRpcApi, ReserveWithAddress } from './reserv
21
21
  import { LendingMarket, Obligation, ReferrerTokenState, Reserve, UserMetadata } from '../@codegen/klend/accounts';
22
22
  import {
23
23
  AllOracleAccounts,
24
+ BORROWS_LIMIT,
24
25
  cacheOrGetPythPrices,
25
26
  cacheOrGetScopePrice,
26
27
  cacheOrGetSwitchboardPrice,
@@ -882,6 +883,18 @@ export class KaminoMarket {
882
883
  });
883
884
  }
884
885
 
886
+ /**
887
+ * Retrieves all obligations that have deposited into the specified reserve.
888
+ *
889
+ * Iterates through all possible deposit slots up to DEPOSITS_LIMIT, applying filters to fetch obligations
890
+ * from the program accounts where the deposited reserve matches the provided address. For each matching
891
+ * obligation, it decodes the account data, validates ownership, and constructs KaminoObligation instances
892
+ * with calculated rates.
893
+ *
894
+ * @param {Address} reserve - The address of the reserve to filter deposited obligations by.
895
+ * @returns {Promise<KaminoObligation[]>} A promise that resolves to an array of KaminoObligation objects representing all obligations that have deposited into the specified reserve.
896
+ * @throws {Error} If an account is invalid or does not belong to this program, or if obligation parsing fails.
897
+ */
885
898
  async getAllObligationsByDepositedReserve(reserve: Address) {
886
899
  const finalObligations: KaminoObligation[] = [];
887
900
  for (let i = 0; i < DEPOSITS_LIMIT; i++) {
@@ -895,7 +908,7 @@ export class KaminoMarket {
895
908
  },
896
909
  {
897
910
  memcmp: {
898
- offset: 96n + 136n * BigInt(i),
911
+ offset: 96n + 136n * BigInt(i), // the offset for the borrows array in the obligation account
899
912
  bytes: reserve.toString() as Base58EncodedBytes,
900
913
  encoding: 'base58',
901
914
  },
@@ -951,6 +964,88 @@ export class KaminoMarket {
951
964
  return finalObligations;
952
965
  }
953
966
 
967
+ /**
968
+ * Retrieves all obligations that have borrowed from the specified reserve.
969
+ *
970
+ * Iterates through all possible borrow slots up to BORROWS_LIMIT, applying filters to fetch obligations
971
+ * from the program accounts where the borrowed reserve matches the provided address. For each matching
972
+ * obligation, it decodes the account data, validates ownership, and constructs KaminoObligation instances
973
+ * with calculated rates.
974
+ *
975
+ * @param {Address} reserve - The address of the reserve to filter borrowed obligations by.
976
+ * @returns {Promise<KaminoObligation[]>} A promise that resolves to an array of KaminoObligation objects
977
+ * representing all obligations that have borrowed from the specified reserve.
978
+ * @throws {Error} If an account is invalid or does not belong to this program, or if obligation parsing fails.
979
+ */
980
+ async getAllObligationsByBorrowedReserve(reserve: Address) {
981
+ const finalObligations: KaminoObligation[] = [];
982
+ for (let i = 0; i < BORROWS_LIMIT; i++) {
983
+ const [slot, obligations] = await Promise.all([
984
+ this.rpc.getSlot().send(),
985
+ this.rpc
986
+ .getProgramAccounts(this.programId, {
987
+ filters: [
988
+ {
989
+ dataSize: BigInt(Obligation.layout.span + 8),
990
+ },
991
+ {
992
+ memcmp: {
993
+ offset: 96n + 136n * 8n + 24n + 200n * BigInt(i), // the offset for the borrows array in the obligation account
994
+ bytes: reserve.toString() as Base58EncodedBytes,
995
+ encoding: 'base58',
996
+ },
997
+ },
998
+ {
999
+ memcmp: {
1000
+ offset: 32n, // lendingMarket address
1001
+ bytes: this.address.toString() as Base58EncodedBytes,
1002
+ encoding: 'base58',
1003
+ },
1004
+ },
1005
+ ],
1006
+ encoding: 'base64',
1007
+ })
1008
+ .send(),
1009
+ ]);
1010
+
1011
+ const collateralExchangeRates = new Map<Address, Decimal>();
1012
+ const cumulativeBorrowRates = new Map<Address, Decimal>();
1013
+
1014
+ const obligationsBatch = obligations.map((obligation) => {
1015
+ if (obligation.account === null) {
1016
+ throw new Error('Invalid account');
1017
+ }
1018
+ if (obligation.account.owner !== this.programId) {
1019
+ throw new Error("account doesn't belong to this program");
1020
+ }
1021
+
1022
+ const obligationAccount = Obligation.decode(Buffer.from(obligation.account.data[0], 'base64'));
1023
+
1024
+ if (!obligationAccount) {
1025
+ throw Error('Could not parse obligation.');
1026
+ }
1027
+
1028
+ KaminoObligation.addRatesForObligation(
1029
+ this,
1030
+ obligationAccount,
1031
+ collateralExchangeRates,
1032
+ cumulativeBorrowRates,
1033
+ slot
1034
+ );
1035
+
1036
+ return new KaminoObligation(
1037
+ this,
1038
+ obligation.pubkey,
1039
+ obligationAccount,
1040
+ collateralExchangeRates,
1041
+ cumulativeBorrowRates
1042
+ );
1043
+ });
1044
+ finalObligations.push(...obligationsBatch);
1045
+ }
1046
+ return finalObligations;
1047
+ }
1048
+
954
1049
  async getAllUserObligations(
955
1050
  user: Address,
956
1051
  commitment: Commitment = 'processed',