@huma-finance/widgets 0.0.62-beta.597 → 0.0.62-beta.611
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/API.md +185 -0
- package/dist/cjs/index.cjs +1490 -268
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/index.d.ts +117 -2
- package/dist/index.js +1489 -271
- package/dist/index.js.map +1 -1
- package/package.json +11 -6
- package/src/components/CreditLine/solanaBorrow/1-ChooseAmount.tsx +86 -0
- package/src/components/CreditLine/solanaBorrow/2-ApproveAllowance.tsx +87 -0
- package/src/components/CreditLine/solanaBorrow/index.tsx +96 -0
- package/src/components/InputAmountModal.tsx +12 -2
- package/src/components/Lend/solanaAddRedemption/1-ChooseTranche.tsx +114 -0
- package/src/components/Lend/solanaAddRedemption/2-ChooseAmount.tsx +183 -0
- package/src/components/Lend/solanaAddRedemption/3-Transfer.tsx +102 -0
- package/src/components/Lend/solanaAddRedemption/4-Done.tsx +29 -0
- package/src/components/Lend/solanaAddRedemption/index.tsx +140 -0
- package/src/components/Lend/solanaCancelRedemption/1-ChooseTranche.tsx +114 -0
- package/src/components/Lend/solanaCancelRedemption/2-Transfer.tsx +99 -0
- package/src/components/Lend/solanaCancelRedemption/3-Done.tsx +55 -0
- package/src/components/Lend/solanaCancelRedemption/index.tsx +152 -0
- package/src/components/Lend/solanaSupply/1-ChooseTranche.tsx +116 -0
- package/src/components/Lend/solanaSupply/2-Evaluation.tsx +0 -0
- package/src/components/Lend/solanaSupply/3-ChooseAmount.tsx +130 -0
- package/src/components/Lend/solanaSupply/4-Transfer.tsx +89 -0
- package/src/components/Lend/solanaSupply/5-Success.tsx +50 -0
- package/src/components/Lend/solanaSupply/index.tsx +143 -0
- package/src/components/SolanaTxDoneModal.tsx +115 -0
- package/src/components/SolanaTxSendModal.tsx +61 -0
- package/src/components/SolanaViewOnExplorer.tsx +29 -0
- package/src/components/WidgetWrapper.tsx +6 -4
- package/src/index.tsx +124 -0
- package/src/store/widgets.reducers.ts +5 -0
- package/src/store/widgets.store.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { JsonRpcProvider } from '@ethersproject/providers';
|
|
2
|
-
import { txAtom, useMQ, sendTxAtom, usePoolUnderlyingTokenContract, useMount, usePoolInfo, useAccountStats, usePoolInfoV2, usePoolUnderlyingTokenInfoV2, usePoolSafeAllowanceV2, useAuthErrorHandling, useCLFeeManager, useCLPoolAllowance, usePoolContract, useCreditContractV2, useCreditStatsV2, useFirstLossCoverContractV2, useFirstLossCoverRequirementV2, useFirstLossCoverAllowanceV2, useFeeManager, useInvoiceNFTContract, useRFPoolAllowance, useLenderDepositRecordV2, useLPConfigV2, useNextEpochStartTimeV2, useTrancheVaultContractV2, useCancellableRedemptionInfoV2, useParamsSearch, usePoolAllowance, useLenderApproved, useLenderPosition, useWithdrawlLockoutInSeconds, usePoolUnderlyingTokenBalance, usePoolUnderlyingTokenBalanceV2, useLenderApprovedV2, useTrancheVaultAssetsV2, useLastDepositTime, usePoolBalance, useReceivableInfoV2, useReceivableContractV2, useERC2612Permit, useMultiSendContract, usePoolUnderlyingToken, useFactoring, Provider as Provider$1 } from '@huma-finance/web-shared';
|
|
2
|
+
import { txAtom, useMQ, sendTxAtom, usePoolUnderlyingTokenContract, useMount, usePoolInfo, useAccountStats, usePoolInfoV2, usePoolUnderlyingTokenInfoV2, usePoolSafeAllowanceV2, useAuthErrorHandling, useCLFeeManager, useCLPoolAllowance, usePoolContract, useCreditContractV2, useCreditStatsV2, useFirstLossCoverContractV2, useFirstLossCoverRequirementV2, useFirstLossCoverAllowanceV2, useFeeManager, useInvoiceNFTContract, useRFPoolAllowance, useLenderDepositRecordV2, useLPConfigV2, useNextEpochStartTimeV2, useTrancheVaultContractV2, useCancellableRedemptionInfoV2, useParamsSearch, usePoolAllowance, useLenderApproved, useLenderPosition, useWithdrawlLockoutInSeconds, usePoolUnderlyingTokenBalance, usePoolUnderlyingTokenBalanceV2, useLenderApprovedV2, useTrancheVaultAssetsV2, useLastDepositTime, usePoolBalance, useReceivableInfoV2, useReceivableContractV2, useERC2612Permit, useMultiSendContract, usePoolUnderlyingToken, useFactoring, useHumaProgram, useLenderAccounts, useTokenAccount, useTrancheMintAccounts, useTrancheTokenAccounts, useBorrowerAccounts, usePoolUnderlyingTokenAccount, Provider as Provider$1 } from '@huma-finance/web-shared';
|
|
3
3
|
import { useTheme, css, Box, Typography, Tooltip, Button, Dialog, Slider, Input, Divider, TextField, FormControl, FormLabel, RadioGroup, FormControlLabel, Radio, Snackbar, Alert, Link, Skeleton, TablePagination, LinearProgress, createTheme, ThemeProvider } from '@mui/material';
|
|
4
4
|
import { useAtom, Provider as Provider$2 } from 'jotai';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import React__default, { useCallback, useState, useEffect, useMemo, useRef } from 'react';
|
|
7
7
|
import { useSelector, useDispatch, Provider } from 'react-redux';
|
|
8
|
-
import { supportedChainId, isTxFailed, getExplorerUrl, openInNewTab, TxStateType, decodeLogs, ERC20_ABI, downScale, formatMoney, POOL_NAME, POOL_TYPE, getERC20Contract, checkIsDev, EAService, EARejectionError, EARejectMessage, EARejectReason, timeUtil, formatNumber, doesChainSupportNotifi, getBlockchainConfigFromChain, CreditState, isEmpty, CreditStateV2, upScale, toBigNumber, TRANSFER_ABI, FirstLossCoverIndex, combineStyles, timestampToLL, getTrancheAssetsAndShares, IdentityService, CHAINS, configUtil, IdentityServiceV2, IdentityVerificationStatusV2, CampaignService, CAMPAIGN_REFERENCE_CODE, KYC_PROVIDER, formatAmount, getTrancheVaultContractV2, getTrancheRedemptionStatusV2, getPoolContractV2, CURRENCY_CODE, CreditEventText, SuperfluidPoolProcessor_ABI, hasRFActiveLoan, getWalletAddressAbbr, PoolMap, CreditEvent } from '@huma-finance/shared';
|
|
8
|
+
import { supportedChainId, isTxFailed, getExplorerUrl, openInNewTab, TxStateType, decodeLogs, ERC20_ABI, downScale, formatMoney, POOL_NAME, POOL_TYPE, getERC20Contract, checkIsDev, EAService, EARejectionError, EARejectMessage, EARejectReason, timeUtil, formatNumber, doesChainSupportNotifi, getBlockchainConfigFromChain, CreditState, isEmpty, CreditStateV2, upScale, toBigNumber, TRANSFER_ABI, FirstLossCoverIndex, combineStyles, timestampToLL, getTrancheAssetsAndShares, IdentityService, CHAINS, configUtil, IdentityServiceV2, IdentityVerificationStatusV2, CampaignService, CAMPAIGN_REFERENCE_CODE, KYC_PROVIDER, formatAmount, getTrancheVaultContractV2, getTrancheRedemptionStatusV2, getPoolContractV2, CURRENCY_CODE, CreditEventText, SuperfluidPoolProcessor_ABI, hasRFActiveLoan, getWalletAddressAbbr, PoolMap, CreditEvent, SolanaTokenUtils, getSolanaExplorerUrl, getTokenAccounts, getSentinelAddress } from '@huma-finance/shared';
|
|
9
9
|
import { useWeb3React } from '@web3-react/core';
|
|
10
10
|
import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
|
|
11
11
|
import { useResetAtom } from 'jotai/utils';
|
|
@@ -33,6 +33,10 @@ import TableContainer from '@mui/material/TableContainer';
|
|
|
33
33
|
import TableHead from '@mui/material/TableHead';
|
|
34
34
|
import TableRow from '@mui/material/TableRow';
|
|
35
35
|
import { getAddress } from '@ethersproject/address';
|
|
36
|
+
import { BN } from '@coral-xyz/anchor';
|
|
37
|
+
import { TOKEN_2022_PROGRAM_ID, createApproveCheckedInstruction } from '@solana/spl-token';
|
|
38
|
+
import { useWallet, useConnection } from '@solana/wallet-adapter-react';
|
|
39
|
+
import { Transaction, PublicKey } from '@solana/web3.js';
|
|
36
40
|
|
|
37
41
|
function _taggedTemplateLiteral(strings, raw) {
|
|
38
42
|
if (!raw) {
|
|
@@ -95,6 +99,7 @@ const widgetSlice = createSlice({
|
|
|
95
99
|
state.withdrawShares = undefined;
|
|
96
100
|
state.redeemAmount = undefined;
|
|
97
101
|
state.redeemShares = undefined;
|
|
102
|
+
state.solanaSignature = undefined;
|
|
98
103
|
},
|
|
99
104
|
setStep: (state, _ref) => {
|
|
100
105
|
let {
|
|
@@ -185,10 +190,16 @@ const widgetSlice = createSlice({
|
|
|
185
190
|
} = _ref12;
|
|
186
191
|
state.multisend = payload;
|
|
187
192
|
},
|
|
188
|
-
|
|
193
|
+
setSolanaSignature: (state, _ref13) => {
|
|
189
194
|
let {
|
|
190
195
|
payload
|
|
191
196
|
} = _ref13;
|
|
197
|
+
state.solanaSignature = payload;
|
|
198
|
+
},
|
|
199
|
+
setError: (state, _ref14) => {
|
|
200
|
+
let {
|
|
201
|
+
payload
|
|
202
|
+
} = _ref14;
|
|
192
203
|
state.errorMessage = payload.errorMessage;
|
|
193
204
|
state.errorReason = payload.errorReason;
|
|
194
205
|
state.step = WIDGET_STEP.Error;
|
|
@@ -209,7 +220,8 @@ const {
|
|
|
209
220
|
setWithdrawAmount,
|
|
210
221
|
setWithdrawShares,
|
|
211
222
|
setRedeemAmount,
|
|
212
|
-
setRedeemShares
|
|
223
|
+
setRedeemShares,
|
|
224
|
+
setSolanaSignature
|
|
213
225
|
} = widgetSlice.actions;
|
|
214
226
|
var widgetsReducers = widgetSlice.reducer;
|
|
215
227
|
|
|
@@ -219,7 +231,7 @@ var SorryImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFTCAYAAAC52Y
|
|
|
219
231
|
|
|
220
232
|
var AutoPaybackImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbcAAAFkCAYAAACjPXVqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAJL6SURBVHgB7Z0JYBNl+sbfaQu9S7hvGu6blhuk2nCoKCpVUVfdXYq7KuquoKviqru064nrCnU90PW/tIsHIkirAgJCUwXkppX7bApyI6SUFgql+c/7zUwySXNOJpmkfX+7sWmSljRfMs+83/d8zwtAEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBeAsHBEEQRL1Bx4NfZBeIjIzUS/dfu3bNJHs4XjcjUM8gcSPUIOO5556bGRcXl7p+/fr8lStXFvC3GUH44BAEoTKigOl50Uq1WCypffr0SW7btm1q+/btdbGxsbqOHTtCkyZN2GM7derk9HccOXIEysvL4cKFC+w6r2/FFRUV5nXr1pXU1taa+IcU4yVchY/EjfALvV4/c968eVkGgwFycnIgKysLxM+Cib8M5C/17oyQIIINr2UoZAYUsJSUlHResFL79esH/fv3Z+IlCZla7NixgwkeL3RQVlZW/N133xVzHFfAV30odiYgiHrOzOLiYgvCi5qF/97xkgUEQSiCFzRDs2bN5tx7772l77//vuXHH3+0aAn++3/9618tt99+eyH/3Kaj4AJBeACnGAziRQ/hgX727NnsTT9nzhxJzM7zFZyFr+ak70uBIAivQUHjK7I506dPP//tt99a+CrJEorw1ZwFBXfkyJEodJkkdIQjug5t9DOfefj1819/tN2Cl1nPzbM8fN9z29u27DCHvz8VQpQnn3yyFN/kpaWlFv6NLQmZfsaMGed5pNvwogOCIFyC62d8hTYzIyPjPFZHoSporvj5558tjz/+uIX/G+aRyBGMLh17Fm/9+rzlwBqL08snbxdafn/nk6X9ew6eB0JVFxLw1dlMFDVErNKYsOF9zzzzTD7e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Pc6+xkYkMiOM3R5ti/RrHPbw8V9fLb0711RFIcmEZ0jcCIJIbR2tN3SPGzi5Z/zg1EFNxjLRYchUS/gvZ/2vfTUnXyATzSicnVPT7qqjSUSen8mEMyLCJpBiL7xtF1bDB0f/NJC/sRgIwgMkbgRByNGDaEjpL3NeMura8+tsJ5D3pZOwbSIHuxtlJhFhWrPWIqme7V/hf1GtOFWZ+8uLxevOLx4IBOEFJG4EQbhCz18M1zW9fWJybJ+MgUljoUUjMdxZfIB9tJdYgbH0kwjZ9gIpF9NB+RymIq2PlPbayTaSowvzr/vGkZGE8BoSN4IgvAGdl4YBiTdkdIjpPrFfYpoODSkIZ9+VQLY/zhl1I76s1Arf2wTONiu6/vwSmHfshc5Ae9sILyFxIwhCCcx52TV2oGFwE2zCOky41SJtCHcyFelYxcldKPKN4Q4Px5tfPXhProm6bRM+QOJGEIS/GLrGp2boY/pO7J0wXI+GFCFdxJX5RI6TSs7hK3YT/+fhyaOBum0TPkDiRhCEmmAciWFs89/w63T9DL3ih0Fz1oTV8zQlYlfRsU5uHHx6/DXTml9pbxvhGyRuBEEECj1/MQxpcvPklMQbWLfx5qLz0rGas24Yt6alCPvosJHq8/tuJCMJ4TMkbgRBBAM9fzH0Sbhu4tAmNxk6x/bTdYrtbbX5u+L7s5+aPj/xGk5JmoAgfIDEjSAILWBNWAckpqfzU5f6XnxV57gut+z0x+bFp2ajsNGmbcJnSNwIgtAa1oS1d/yIlMYRMalXai+bN5qX5Z27emIOUMVGEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEAQRXP4f8kfGser8rBoAAAAASUVORK5CYII=";
|
|
221
233
|
|
|
222
|
-
var _templateObject$
|
|
234
|
+
var _templateObject$v, _templateObject2$s, _templateObject3$m, _templateObject4$e, _templateObject5$8, _templateObject6$7, _templateObject7$6, _templateObject8$3;
|
|
223
235
|
function ErrorModal(_ref) {
|
|
224
236
|
let {
|
|
225
237
|
title,
|
|
@@ -236,13 +248,13 @@ function ErrorModal(_ref) {
|
|
|
236
248
|
errorReason = 'Oops! Something went wrong';
|
|
237
249
|
}
|
|
238
250
|
const styles = {
|
|
239
|
-
wrapper: css(_templateObject$
|
|
240
|
-
header: css(_templateObject2$
|
|
241
|
-
sorry: css(_templateObject3$
|
|
242
|
-
content: css(_templateObject4$
|
|
243
|
-
errorIcon: css(_templateObject5$
|
|
244
|
-
messageWrapper: css(_templateObject6$
|
|
245
|
-
errorMessage: css(_templateObject7$
|
|
251
|
+
wrapper: css(_templateObject$v || (_templateObject$v = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
252
|
+
header: css(_templateObject2$s || (_templateObject2$s = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
253
|
+
sorry: css(_templateObject3$m || (_templateObject3$m = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
|
|
254
|
+
content: css(_templateObject4$e || (_templateObject4$e = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
|
|
255
|
+
errorIcon: css(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
|
|
256
|
+
messageWrapper: css(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
|
|
257
|
+
errorMessage: css(_templateObject7$6 || (_templateObject7$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-size: 14px;\n font-weight: 400;\n color: ", ";\n cursor: pointer;\n display: -webkit-box;\n line-height: 16px;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: ", ";\n "])), theme.spacing(0.5), theme.palette.text.primary, theme.spacing(2)),
|
|
246
258
|
okButton: css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
|
|
247
259
|
};
|
|
248
260
|
const handleCloseModal = useCallback(() => {
|
|
@@ -1631,7 +1643,7 @@ function HumaLoading(_ref2) {
|
|
|
1631
1643
|
});
|
|
1632
1644
|
}
|
|
1633
1645
|
|
|
1634
|
-
var _templateObject$
|
|
1646
|
+
var _templateObject$u, _templateObject2$r, _templateObject3$l, _templateObject4$d;
|
|
1635
1647
|
function WrapperModal(_ref) {
|
|
1636
1648
|
let {
|
|
1637
1649
|
title,
|
|
@@ -1640,10 +1652,10 @@ function WrapperModal(_ref) {
|
|
|
1640
1652
|
} = _ref;
|
|
1641
1653
|
const theme = useTheme();
|
|
1642
1654
|
const styles = {
|
|
1643
|
-
wrapper: css(_templateObject$
|
|
1644
|
-
header: css(_templateObject2$
|
|
1645
|
-
content: css(_templateObject3$
|
|
1646
|
-
bottom: css(_templateObject4$
|
|
1655
|
+
wrapper: css(_templateObject$u || (_templateObject$u = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
1656
|
+
header: css(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
1657
|
+
content: css(_templateObject3$l || (_templateObject3$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
|
|
1658
|
+
bottom: css(_templateObject4$d || (_templateObject4$d = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
|
|
1647
1659
|
};
|
|
1648
1660
|
return jsxs(Box, {
|
|
1649
1661
|
css: styles.wrapper,
|
|
@@ -1658,7 +1670,7 @@ function WrapperModal(_ref) {
|
|
|
1658
1670
|
});
|
|
1659
1671
|
}
|
|
1660
1672
|
|
|
1661
|
-
var _templateObject$
|
|
1673
|
+
var _templateObject$t, _templateObject2$q;
|
|
1662
1674
|
function LoadingModal(_ref) {
|
|
1663
1675
|
let {
|
|
1664
1676
|
title,
|
|
@@ -1668,8 +1680,8 @@ function LoadingModal(_ref) {
|
|
|
1668
1680
|
} = _ref;
|
|
1669
1681
|
const theme = useTheme();
|
|
1670
1682
|
const styles = {
|
|
1671
|
-
loader: css(_templateObject$
|
|
1672
|
-
bottom: css(_templateObject2$
|
|
1683
|
+
loader: css(_templateObject$t || (_templateObject$t = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
|
|
1684
|
+
bottom: css(_templateObject2$q || (_templateObject2$q = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
|
|
1673
1685
|
};
|
|
1674
1686
|
return jsxs(WrapperModal, {
|
|
1675
1687
|
title: title,
|
|
@@ -1696,7 +1708,8 @@ function WidgetWrapper(_ref) {
|
|
|
1696
1708
|
const theme = useTheme();
|
|
1697
1709
|
const dispatch = useAppDispatch();
|
|
1698
1710
|
const {
|
|
1699
|
-
step
|
|
1711
|
+
step,
|
|
1712
|
+
solanaSignature
|
|
1700
1713
|
} = useAppSelector(selectWidgetState);
|
|
1701
1714
|
const [{
|
|
1702
1715
|
state,
|
|
@@ -1712,12 +1725,14 @@ function WidgetWrapper(_ref) {
|
|
|
1712
1725
|
}
|
|
1713
1726
|
}, [dispatch, failReason, state]);
|
|
1714
1727
|
useEffect(() => {
|
|
1715
|
-
if (step === WIDGET_STEP.Done && txReceipt) {
|
|
1716
|
-
if (handleSuccess) {
|
|
1728
|
+
if (step === WIDGET_STEP.Done && (txReceipt || solanaSignature)) {
|
|
1729
|
+
if (handleSuccess && txReceipt) {
|
|
1717
1730
|
handleSuccess(txReceipt.blockNumber);
|
|
1731
|
+
} else if (handleSuccess && solanaSignature) {
|
|
1732
|
+
handleSuccess(0); // solana tx doesn't have block number
|
|
1718
1733
|
}
|
|
1719
1734
|
}
|
|
1720
|
-
}, [handleSuccess, step, txReceipt]);
|
|
1735
|
+
}, [handleSuccess, solanaSignature, step, txReceipt]);
|
|
1721
1736
|
const handleCloseModal = useCallback(() => {
|
|
1722
1737
|
reset();
|
|
1723
1738
|
dispatch(resetState());
|
|
@@ -1744,7 +1759,7 @@ function WidgetWrapper(_ref) {
|
|
|
1744
1759
|
});
|
|
1745
1760
|
}
|
|
1746
1761
|
|
|
1747
|
-
var _templateObject$
|
|
1762
|
+
var _templateObject$s;
|
|
1748
1763
|
function BottomButton(_ref) {
|
|
1749
1764
|
let {
|
|
1750
1765
|
variant,
|
|
@@ -1752,7 +1767,7 @@ function BottomButton(_ref) {
|
|
|
1752
1767
|
onClick,
|
|
1753
1768
|
children
|
|
1754
1769
|
} = _ref;
|
|
1755
|
-
const styles = css(_templateObject$
|
|
1770
|
+
const styles = css(_templateObject$s || (_templateObject$s = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
|
|
1756
1771
|
return jsx(Box, {
|
|
1757
1772
|
css: styles,
|
|
1758
1773
|
children: jsx(Button, {
|
|
@@ -1785,7 +1800,7 @@ function ViewOnExplorer(_ref) {
|
|
|
1785
1800
|
});
|
|
1786
1801
|
}
|
|
1787
1802
|
|
|
1788
|
-
var _templateObject$
|
|
1803
|
+
var _templateObject$r, _templateObject2$p;
|
|
1789
1804
|
function ApproveAllowanceModal(_ref) {
|
|
1790
1805
|
let {
|
|
1791
1806
|
poolInfo,
|
|
@@ -1823,8 +1838,8 @@ function ApproveAllowanceModal(_ref) {
|
|
|
1823
1838
|
}
|
|
1824
1839
|
}, [handleSuccess, reset, resetAfterSuccess, state, symbol]);
|
|
1825
1840
|
const styles = {
|
|
1826
|
-
iconWrapper: css(_templateObject$
|
|
1827
|
-
description: css(_templateObject2$
|
|
1841
|
+
iconWrapper: css(_templateObject$r || (_templateObject$r = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
|
|
1842
|
+
description: css(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
|
|
1828
1843
|
};
|
|
1829
1844
|
const sendIncreaseAllowance = useCallback(async () => {
|
|
1830
1845
|
const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
|
|
@@ -1876,7 +1891,7 @@ function ApproveAllowanceModal(_ref) {
|
|
|
1876
1891
|
});
|
|
1877
1892
|
}
|
|
1878
1893
|
|
|
1879
|
-
function ApproveAllowance$
|
|
1894
|
+
function ApproveAllowance$d(_ref) {
|
|
1880
1895
|
let {
|
|
1881
1896
|
poolInfo,
|
|
1882
1897
|
amount
|
|
@@ -1894,7 +1909,7 @@ function ApproveAllowance$c(_ref) {
|
|
|
1894
1909
|
});
|
|
1895
1910
|
}
|
|
1896
1911
|
|
|
1897
|
-
var _templateObject$
|
|
1912
|
+
var _templateObject$q, _templateObject2$o, _templateObject3$k, _templateObject4$c, _templateObject5$7, _templateObject6$6;
|
|
1898
1913
|
function TxDoneModal(_ref) {
|
|
1899
1914
|
let {
|
|
1900
1915
|
content,
|
|
@@ -1906,12 +1921,12 @@ function TxDoneModal(_ref) {
|
|
|
1906
1921
|
const dispatch = useAppDispatch();
|
|
1907
1922
|
const reset = useResetAtom(txAtom);
|
|
1908
1923
|
const styles = {
|
|
1909
|
-
wrapper: css(_templateObject$
|
|
1910
|
-
header: css(_templateObject2$
|
|
1911
|
-
content: css(_templateObject3$
|
|
1912
|
-
subContent: css(_templateObject4$
|
|
1913
|
-
check: css(_templateObject5$
|
|
1914
|
-
doneButton: css(_templateObject6$
|
|
1924
|
+
wrapper: css(_templateObject$q || (_templateObject$q = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
1925
|
+
header: css(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
1926
|
+
content: css(_templateObject3$k || (_templateObject3$k = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
|
|
1927
|
+
subContent: css(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
|
|
1928
|
+
check: css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
|
|
1929
|
+
doneButton: css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
|
|
1915
1930
|
};
|
|
1916
1931
|
const handleCloseModal = useCallback(() => {
|
|
1917
1932
|
reset();
|
|
@@ -1953,7 +1968,7 @@ function TxDoneModal(_ref) {
|
|
|
1953
1968
|
});
|
|
1954
1969
|
}
|
|
1955
1970
|
|
|
1956
|
-
function Success$
|
|
1971
|
+
function Success$f(_ref) {
|
|
1957
1972
|
let {
|
|
1958
1973
|
poolInfo,
|
|
1959
1974
|
handleAction
|
|
@@ -2018,10 +2033,10 @@ function CreditLineApprove(_ref) {
|
|
|
2018
2033
|
loadingTitle: "Approve Allowance",
|
|
2019
2034
|
handleClose: handleClose,
|
|
2020
2035
|
handleSuccess: handleSuccess,
|
|
2021
|
-
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
2036
|
+
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$d, {
|
|
2022
2037
|
poolInfo: poolInfo,
|
|
2023
2038
|
amount: amount
|
|
2024
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
2039
|
+
}), step === WIDGET_STEP.Done && jsx(Success$f, {
|
|
2025
2040
|
poolInfo: poolInfo,
|
|
2026
2041
|
handleAction: handleClose
|
|
2027
2042
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
@@ -2032,7 +2047,7 @@ function CreditLineApprove(_ref) {
|
|
|
2032
2047
|
});
|
|
2033
2048
|
}
|
|
2034
2049
|
|
|
2035
|
-
var _templateObject$
|
|
2050
|
+
var _templateObject$p, _templateObject2$n;
|
|
2036
2051
|
function ApproveAllowanceModalV2(_ref) {
|
|
2037
2052
|
let {
|
|
2038
2053
|
poolInfo,
|
|
@@ -2067,8 +2082,8 @@ function ApproveAllowanceModalV2(_ref) {
|
|
|
2067
2082
|
}
|
|
2068
2083
|
}, [handleSuccess, reset, resetAfterSuccess, state]);
|
|
2069
2084
|
const styles = {
|
|
2070
|
-
iconWrapper: css(_templateObject$
|
|
2071
|
-
description: css(_templateObject2$
|
|
2085
|
+
iconWrapper: css(_templateObject$p || (_templateObject$p = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
|
|
2086
|
+
description: css(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
|
|
2072
2087
|
};
|
|
2073
2088
|
const sendIncreaseAllowance = useCallback(async () => {
|
|
2074
2089
|
const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
|
|
@@ -2117,7 +2132,7 @@ function ApproveAllowanceModalV2(_ref) {
|
|
|
2117
2132
|
});
|
|
2118
2133
|
}
|
|
2119
2134
|
|
|
2120
|
-
function ApproveAllowance$
|
|
2135
|
+
function ApproveAllowance$c(_ref) {
|
|
2121
2136
|
let {
|
|
2122
2137
|
poolInfo,
|
|
2123
2138
|
poolUnderlyingToken
|
|
@@ -2135,7 +2150,7 @@ function ApproveAllowance$b(_ref) {
|
|
|
2135
2150
|
});
|
|
2136
2151
|
}
|
|
2137
2152
|
|
|
2138
|
-
function Success$
|
|
2153
|
+
function Success$e(_ref) {
|
|
2139
2154
|
let {
|
|
2140
2155
|
handleAction
|
|
2141
2156
|
} = _ref;
|
|
@@ -2187,10 +2202,10 @@ function AutoPaybackV2(_ref) {
|
|
|
2187
2202
|
loadingTitle: "Auto Payback",
|
|
2188
2203
|
handleClose: handleClose,
|
|
2189
2204
|
handleSuccess: handleSuccess,
|
|
2190
|
-
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
2205
|
+
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$c, {
|
|
2191
2206
|
poolInfo: poolInfo,
|
|
2192
2207
|
poolUnderlyingToken: poolUnderlyingToken
|
|
2193
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
2208
|
+
}), step === WIDGET_STEP.Done && jsx(Success$e, {
|
|
2194
2209
|
handleAction: handleClose
|
|
2195
2210
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
2196
2211
|
title: "Auto Payback",
|
|
@@ -2245,17 +2260,17 @@ const useEA = () => {
|
|
|
2245
2260
|
|
|
2246
2261
|
var spinner = "data:image/gif;base64,R0lGODlhuQEjAfcAAFFRUVFRUVFRUVFRUVNTU1dXV1hYWFlZWVlZWVxcXGtra4ODg5GRkZmZmZmZmZmZmZqampubm52dnaGhoaioqLCwsLe3t7y8vL29vb29vb29vb6+vr6+vr6+vr+/v8HBwcTExMjIyMvLy83Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztHR0dfX1+7u7vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBAAj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ3qHAgAIItKhABSgixkCLNNKoAAoxEsZijTwiwEGOge3YI484AtlXBUMOqYCRaKEAAQNQwuiQkEnW+COTY6mowJZcKgABQxxUOSQDWIrFwQJdpkmmQhCI2eOSZX6FApppqsmmmz3G+dWKddZ55UFt4mmjnl2h0Gefax4UpqAtLkAoVxAc2qdCVLr55aNa8Slpl0UeNKOgcCrkJJQQdIqpUZpuuqWpBlWa5KX+CLUpwKy0IiDlqUSlqiqrBXHgKo+JHqQArcTSGiquQVWgKpeOLmRolcEahECx1ApwLLI/0akqrAsFWuMCvBI0bLXUNovtT8qqaq5DKFRQAQfhElQBueT+eW5PutYZb0bj0lvstffuFGmfC9jbEQr+khswUBykugC3H82bMLX7LowTChiXBMHE1Bps8Vgbc0ysxx+HhbDItFZcclco07ryWQu0HO3LJY1KqsoqnSwyzSk9CeXPDEAMEwMiC81zSEAnHXRNRCds9NEf+az0z0+3FDK5t0ItkopTJ33T1bMiULXWHUnddZQ5ZUz2SWcnPfbaWLUN9NtwWyU31XWDZfb+2STnjRXXcvutt9xZCw7p2YUbfrjSiSveFQcQRN6345RXbvnlmGeu+eacd+7556CHLvp37UYOQQU4j15UBaa33rjqR7HeuuuwLwX57LOnXjtPuOP++u5A9Y478EcJPzvxRhnfOvJFKR/578zvdLvxukdvk/LQWy+w8NobJbvpk3f/E8bVi2/++einr/767LfPHAocxB+/+zzJbz+89ON0//3l52/S/vfzH03gB0D5CXAmBbSfRMjXvwM6K4HzgwgDyefAjBAwgRKcIAUreBEIVk+DDOTgRS64vwyCsIEiLAgJDWhCEKYQIxjD3wJPiMIXboSGNbShRk6ow5dosIeSMVEbEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pTdCwgAIfkECQUAmQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc9PT09PT09PT09PT1CQkJKSkpPT09QUFBRUVFTU1NYWFhdXV1iYmJmZmZpaWlpaWlpaWlsbGxycnJ/f3+MjIyampqqqqqvr6+xsbGxsbGxsbGxsbGysrKysrK1tbW4uLi7u7u8vLy9vb29vb2+vr6+vr6+vr7AwMDExMTHx8fKysrMzMzQ0NDV1dXi4uLv7+/7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAzCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiid+VQMEEE1DQAYqJlSDBAzTW+EAFMBZWgY08PjBBjoJ10GOPPwLpFwtDDomjkWix0EEHJUBEQZJDMmlWByxm2SILDVE55ItWirWilloumRCSXvJoZphejUmmlmAihGaaNVLA5ldYvvmmQnPSeeOdXump55oG+VljnIBmxYKgeio0gaEPcJmoVnkyqqVCJRha5EIslFCCpJMiVamlLC70KJ2cToDAqqzaGapR/iWQeulCM3oZZUIVsKorq4i+GpSsLLq60JRDSgDqQRTsqiwChPrqk5uW3spQrDZK0GxBHSy7rLTO/iSrsB9pu+wD3QYVq6Ui5Squsr2Wu9O5b4L70QPrKkuuu0B14GYFx4JU77L4qsXCv8oGnNbABOtqcFoJK7zwWfQ2LMHDZ2XbMLcUn1RCBxV00K9MEf87ccYocVzByShjDBPC/5KMEsowo9zuSyX8+7HLIJkcM8w3vxTyrpviTNLORN9E7aoPUNCz0B6VQPTOSzNN6dMxqyw1V1RXfXVYOmdt9daKZo0y2GGJfbJQTnpMtkZOZw2UjALEHTcBE0S9dkNdx2w3/k0PyO233EHfLRELRf+EwN+IC3Cv4BV5+nVOhyeOeOCMT0WB5JLPXPlTmEuOwOZUVdC55HuDblTfoyN+relKEZA64iOz7tTriC8uO1Ou0y537LcvhbruAqzee1GiAy9A6cMDZfznyTN1ue6aN19U5KlTLr1AGz+J/EzUY2779QKl/eT428f0e+LWSy/++OS/LcHfBBgLvkHs1//kUGmXL3v29rc/P1P9s9//ABhA9g1wKQU04AGTksAnPW6BQFlf/yCoFP7Z74EUfFv/MJjBCNZPfx0MoQhHSMISmvCEKEyh1DrlKRCq8CUsdJynXvgTGdqQhjyxoQ1diEON6VCGuj3MyQ+BGESjDXGGRbTJET+VRJvEUIdNNKIOeRjFkTyRiVXMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzPAEBAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQklJSVBQUFZWVlhYWFlZWVpaWmBgYG1tbXNzc3R0dHR0dHV1dXd3d3x8fIGBgYmJiZKSkqGhoaysrLCwsLGxsbKysrKysrKysrKysrOzs7a2tr29vcbGxsvLy8zMzM3Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztLS0tjY2Orq6vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ4H2wwYoooKhYBQ/EKKMEH7hYGAoy5ihjBTYKhqOOQPLY419AFvlAi0OmhQKSD31gJJASJGkWChVQYKWVGzhEwZNASknWBleGaSWTCXEJZI1eggWmmGIyZKaOWab5FZtsClnmmzKiKSdXVdIpJpkGSYBnjIDuiZWfdSq0waAPGMoVCoiyudCgcTqaFaSRhrnQomZGuakECISKAI2WIpXplXYmBOOTniaEwgL+osaKQKOlFnUqlg1xCiQFC30g668IFFprTx/cChGYOwpLEArAAjvsUH0iWulHDzT7K6/PBhVpqh4xa+2v2QoVbZjTfkTBt79yG25PG1Tgrp4iwYpurK2ui9a8stJq7734iqrvvmZV2++oAKNVwcAIlFvwWAgv3BIKHygL07n4quswSe26667CMQn87b8Xk/SBxiS7K3FLHgNbb8gklezyTQcDyzHLIGXsssYzw9SuBBJUAC/NLd9cMtBkUSk0yUSPNfLRGictltFMW+z0VlG7O3VYNgv989V8Hp0zThssUEAAARTwwNdcOwR1yWjXtMHYZMdNdgEnp51ryVvrRIH+3HzH3bbdT+3d9+B/A77UB4MnHoDhVyGg+ODYMj7V44MXIPlUFVA+eN2XG/WA5n0X3rlQn4Mut9SjH1W66WSLnvpPmbNONuevCyV72bU75TjrkeeuFOKs++6U4Jq73vmStNckQfHCI6TiiivmrdPbiRcgvfDQZ7+iUGHDbbbxl2uv/fXNIyW+9uU/hcL52Sef/k/Ps7+B++8TKz+L9S+1/v35M3U/+P3Lyf7OF0CmDDB7BXQKxDYQsQQ68IEQjKAEJ0jBClqwgEu6YFGQx0ENAoWDIPRgT0AYQhHuhIQlNCFOUNhBFa6QhRl04U1gSD8ZpgSGNnwhCXOokxTy8IeWQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUquRYQACH5BAkFAJkAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUlJSWVlZYGBgZmZmaGhoaWlpampqbm5uc3NzdHR0dXV1dXV1eXl5gYGBioqKkpKSmZmZn5+fp6enrq6us7Oztra2uLi4vLy8vb29vb29vr6+vr6+vr6+v7+/wsLCyMjIzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7O0NDQ2dnZ5+fn+Pj4/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AMwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4onhoaAiiot5IIEDMDoAwQUsHvZijDhCgEKNg92I44878vjXBT8WKaOQf0FgZJE0ImmWBxNIIOUFQTJE5JI/QuAkWShEKeWXEjS5kI9YxrilWCiAqaYEEzBEZpkOnBmWl2t+KSZCb5Yp51cu1qnmQlfCeeSeXdHpp5QeKISCoDC2SShXh6p550F5GvloV5GCOelBSpa56UEX3BjmpUllaidDKHRqpKMKTYDAq/6wvsoqqUOFamqVC01QJASJLgRBrMAioCWtRJk6K6oXTDDBBb0u5ECwwUpAbK2Z4uqRq9AG++m0O9laZ7MgZQttnNwGBaWax37kgbjQgluuTyh4IK9J2LIb67bvjiWBvcCmmy9Z+/ILq7//ilWvwPgW/BUKAsOqcFrPCjzsw082bC3FJXlwwcYbuyvTwdkmjPFHHJe88U0gAyvyyB2Z7PJNqUbLMkoau1zyxTPV7PHMI9n8Ms9k+Wwy0EELzTHRYxl9NNJhKc0s02GhoDTUYtVs88476foqBARTLZHPWOfkQABkl022tF5fJHXJ5prtNtkEpM2VB2/XHbfcWRFQd/7d5OJd1QR77x2230zpHfjbfRMOFQqH7624VBc0XjfOjycVueRuU175UZdjXrbmmxfFuOdlh/6U4Z4nbrpSgJM++OpEod646rAnRbfkd9fe1O2B5657QfHKKy/oOI1dN9q/FyT88vMKpbWwXesePPPDJ/8U9cxb7xT2y2vP1PTce88U98KLvxT5zdvUJQJkIzAB8eKjD79KKBAAwP3430+7+QSRb5ME+Qsg/lamPez9T4AIBAABtaei+anEAwlMoAP5R5MARBCBCKAgUC5wQQlq0CcO6CACo/fBmYgQgyXkyQkFGIAU7mSFAWyhC3MCw/xlcIY4QUAN7zcxHNZkAvE7BMDrfDiQBq6IJDuUIREXYsQGkgSAMFwgDptoRJJY8IT7WyJBqFhFK4rwhlpMCBedWBIIXJCEYRzjEUuSqiveLwDICyMTx7iSNcqxIXS8Y0+4qEd4kbGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKY0p0nNalrzmtjMpja3yc1uevOb4AynOMdJznKa85zoTKc618lOEAUEACH5BAkFAJcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRU1NTWFhYYmJiZ2dnaWlpbGxscXFxeXl5f39/gYGBgoKCgoKCg4ODhoaGi4uLkpKSlZWVmJiYmpqanp6epaWlqqqqr6+vsrKytra2v7+/x8fHy8vLzc3Nzc3Nzc3Nzs7Ozs7Ozs7Ozs7Ozs7Oz8/P09PT39/f9fX1/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopniUBhE44GIFJKhoGAcu1lhjBTIOpoGNPDoQQY6AkdBjjzgC2VcFQ/ZoJFocaOBkjA8l2aMGS5KlQQVYZgljQzRKaeOPVYZ1pZZacsDQjl7aGCZYY5KpJZQJoZmmi2t+5aabVCok5JwOFFnnVhzc6SZDLc5p5p9btSkolnAi1KWXYCKqlaKLNooQkl5aihAJY+Yp6YqLvtkQpkMeqqcDB6SqqgOafvoTCf6hZvkQB4XeOKqquKrqqatBxVqBqQ6RwAEHrR5UQa7IHrArrz7BGupIJCSbLLNCOXsnSRFIi6yf1P5EKbAhaTttt0MV+1G04uZqLrlipqsuu2lp4C6u68LrFbrzHmBvWvkeoMC+aB0777IAj6WAu/8WrFKTToI7E77SJqzwSQw7aXG9LJFwcLIOTIxSxRZfjNOOuDpAsMcihayykyibBfLKGmDcMlYwq+zwzF3VrDLOYuls8c08a/XyyjIHTZXPJxutFac1l9tp0UovxPTOQckbwNVYHwB11AkJqwGxQimA9dhYc8s1VmKTrXakZ1sVgdpwB5B0206REDfcBNBdlf4Dd8M9t95KEdC32hID/tTgaudt+FN2I0724lA5PrbikDcluOQBFF65Unxj/vfm5WJOOehLve3456QPdQDiHafuVNpxm+36QCTUXvtQVpN9ANCu2+47UU1iGfPsm/r+O/F1G2888k0pvzzzSzl/PPRJSW879UpZfztOgUYQwZbY6yk9ThUEAMD56Acge/gCWW+T3ejHj76+7Buk/E0kyK//+QFsXX9M5tuf/gLwv58oQIACZFsBc4JABC5wJxVooABR98CWHFCC+lNgBWdCAAzqj34brEkHPRg/EIZwJgcgYfxad8KZRECF6FtfC1uSPxgCYIYihKEJcQgTDsDQf8E8HEkEPUjBIKLkhRKUoRFdooEA6o8AQFyiSTggtvMRwAG8k6IWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEwmrwICACH5BAkFAJYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHWVlZWVlZWVlZWVlZWVlZXFxcZWVlb29vdHR0dnZ2e3t7gYGBhYWFiIiIioqKjIyMjY2Njo6OkJCQlJSUnJycpKSkqqqqsbGxtbW1ubm5vLy8v7+/wsLCx8fHy8vLzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7Oz8/P0tLS29vb7u7u+Pj4/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALQkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopojUBRRQcAEJKiJGQQQ01hjBBjESZuOOEVyQY2Az8mgjjj/2dYGQPBaZFgkbwAgRkjw6qaRYJLDYYos+OgTljllOCdYGV4bZYkMkbGljl152RYKYYqKZkJk1upmmVlayeSWRCsFJI55zbmVnmwwdCWefav4pZkNwykmoVWAaemVDG2xJAUQkSLnoUWs6OiakSE7a0AUJhCqqopcCpamLEAlKIwV8JkTCAv6ixprAAqUWVeefJcmqawK1EnWrmK1+BOuusdLaq1C/thisR6ASK+uyx+5U5ZWkejSss6J6Gu1a2Oq6LVvdyvott+GKOq5a5Zp7LloUpKvtumWRkC68abXbbbX0isTkBtDKFAG27+Zr0gYXFFxwvzDZqyu+An9k8MMF63TBsAsw3LBHBENsMMIXc1Wlxg93XFbGIBdsqchfkVzyySirWbLBLY/1csQxh6UyxBzXfNXNBxO1L8s6V3RzzjdFYIAASAtgQMBBWwR0TxckLXXSRDf9FAVTZy1A1VYvFbXWWT/d9VNHgz01r2NT9bXZU4udtlIJsJ01028zVbbcSUdQd/5UeE9t7N5O3d233oA7FXffSNNd+FFr9+324kQJzjbakDPVONuPVz4U1nJzrTlQl0/t+d6VZp5TBFMv/bmrpZde1M+rs96667E/NXvrtTt1++y5M7U77r0r9TvtwSc1vLQmF8/Q8TdtkAAA0Ef/t/IH7Y7TAtFnH73i1AN/kwHahw8A5dQD9bz44RNevk8XoI++6evHJID74pMfP04k0I/+/Tu1r3/4o+MfSiLwv/BxT4AvIWABs3dABLaEAgvMnsUcqJINRDB6FLzJBQEggAzaRIELnKAHUzK/AnZwhDXJXwFReBMVuu+ELCwa+hoYQ5gcKVQ9qqEOd8jDHvrwh5VADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpR0DAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTk5OTo6Ojw8PEpKSlpaWmRkZGhoaGhoaGhoaGlpaWpqam1tbXR0dHt7e4GBgYWFhYqKio2NjY2NjY6Ojo6OjpKSkpeXl5ubm6CgoKmpqbCwsLi4uMDAwMPDw8jIyMzMzM3Nzc7Ozs7Ozs7Ozs7Ozs/Pz9XV1d3d3ezs7PX19f7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaIlAkffGCCiol9oMEFNNLYAYyFzVjjjhe8iCNgHfAo5I9/mSCkkDcSyVeQR/KopFkfdCCllD42pGOTNVb5JFhTdimlQ1jyqOWWXXlpZkNh7jgmmVpFaWaXVqZJI5tfvXnmQkamqQGdXtnpZZxhrsnnVX7CCeiRSQ66VaFTPnTljh84ZIIGEVQaQaKKFsVoB4ImZEIHM2oQqUOUWmoqppkG9WmhJV1g6qv+EeyZ6lBuvllSB7DCiuqsPtVqKEm55sorUau6aBKuwb466rBruZqsqbIyq9azr14g7VrUmmrttWk5m2203JqFbLadhhtWthFsa+5ZH5C7bkvlyjRurru+SxKLLbYY70tGwtqjvSnlK7CxOX2qgQacApwSvgPrqzC7DQv8MJQR5zsxWQxXfDFZFVu8sVgdt/ixWBkPPPJYJTt88lgm03oBAzAz8O/KYD0Q880y09yVCTj3/IDOW/UsdARAY/Wy0D3XW/RTSCO9NFUdNC30vk8fpYHUSVcd1dFYx6y01khd3bXXYD8V9dgwU132UGjDvPZTXGP99dtGjU003U7xLPX+z3hDZbPQ6vZtdtwXLCu4QSYknvjhUynuOONQOS455HlLrjjlTVl+OeZLab4450p5rjboPmmuU9QGpG7AA3OTPjlOHzCg+uwGMDA65bevpAHtvBvQOuk4ddB777kDH9PwvR9g/E8XIN/778sf7zzvDES/kwnT9269Th9kz3vx25/Uvfezgx9+SdiTr/r5OKm/PvvoBxmr4QdF4H7g8H8kvAD8918A/gRJH/nyJxIG9O+A/fMdQprnPXARkCMGQKAE+ae0B2QPgA/MyAEmyMFO2Q95GMzgRTTAQQ4qDyEfsCDtHmA+ES4kgiWcIP0M4qYZujAjH4ghB+92w5VcQIfiEzRAD1nyACBOcIgrMaAREYhElRRxiQdsYkpICEX+CVGKKKki/0KIRZBssIot7OJEcghFLorxIz804hXPeJIIAHGNbDxJBwpQQh7GMSXNo6MVIxDGO2rkc34MpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMZ1wCAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUFBQUFBQUFBQUFBQUpKSllZWWZmZm5ubnJycnR0dHR0dHR0dHR0dHR0dHV1dXV1dXZ2dnh4eHx8fH9/f4GBgYSEhIiIiIyMjJCQkJSUlJeXl5mZmZmZmZqampqamp2dnaGhoaenp62trbGxsbOzs7S0tLe3t7u7u7+/v8LCwsXFxcjIyM3NzdLS0tbW1tvb2+Tk5O7u7vX19f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaoonUnhOCiiy+sWNgKL9YYwgkyCvaCjTbimONfPPIY44987RhkjT4SWdYKJzS5AkQtHlmjkmQx2eSVJwzJUJRSukilWFZieaVDXHb5ZVhiptkQjV16eaZXYabZpJYKtRnCk292JaeYdCbEppR5erUnln0mVKaNhQZ61aBXJorQny8m2ZCRG2SpKFIvMCqpQ5megKdDK1wg6qgXbODopT4x+qlIJ5Dq6gX+q6Ia1KAlvfDqq7IWlWasIW1wq6sh5FrUC8SeZOuvrgrrVqvIksqrsmYx26yom0Ib7bSjVmttldiKeuq2YXV7AbhqhYCttuSONe0G6a6FLLvtrkTsvDtJm228Ks2rb7E6vbDCCt/iG9K++gqMFsH7GmwWwgUrTBbD9Do8FsT8ShwWxQFbjBXEGj9McMdlNUzUCb6W+izIW50gwcosr4wuylZd0PLMEgQLs1Yy0zyzzTdbpbLONPd8FdA68yx0VC8QrfPRU62gdNBMR/Xz0yxHHZXTVFdt9VNJZ73y1lB5XTPYT039NNlQ5ay00WgzpXbRbUcVAtAvx60UyaJucLL+3Xz37fffgAcu+OCBzp1AAhfUTfhPGyDg+OOOs734Ty8kAPnlCEgwuVCWY3655pv7JIHnnkseuk0vkE56xqe7dIHqnsPb+k2we57A7DjV7jnutOt+Oe82+Q757cDTNLrwCIxbPElMZnwC8gjsvTxGFxwwwPXXSyA98qBP31EI2IePPfEHPe87695DdIH47A+AQEIh6K54+hFt0H777z+qegLo0+/Q/feT3UFC0DnHJWB+/lMfAO83qf4l8CELvB8CH9iRF0Swfd2joElOcEH25U+DJgFfB8P3QRCShIMjxF4JTSgSC6bwespjIUkQ8MIBSE+GGxHhCFeIw5BYb4SqE+zhRVx4wRgKcSQrKOIRUZKA+x0giEvUyAsad73MQTGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuDxaQAAAIfkECQUAJQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdRUVFRUVFRUVFRUVFRUVFUVFRZWVlhYWFpaWlvb29ycnJ0dHR1dXV1dXV3d3eAgICKioqPj4+VlZWZmZmbm5uioqKqqqqwsLC3t7e/v7/FxcXNzc3c3Nze3t7r6+vx8fH7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBLCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqKJ1G1xAAQUXZLDiYS6+aCMFG8w4WI032pijjn/x2KONQP415JAyFmnWBhtk8ONDGxzZ4wVKktVkBlhmCaWUPVYp1pVZhulQlFy+SKWXYIWpppMOlWkmml+BuSaWDgl5JJxxzilmQ2RKeSaeXMk555ZH/gnoVoKuGZGdT46ZwQWNHmqUnlpKxKREFESg6aaGSjoUpWyStMGmpGpKgaeTzhlpSKW2eiqq/kQJelKmrZaaJKxu1eoqrm6NqmupvLaVwa+lrhpsWcMSu6mxx47lq7IRNLsWtBG8Ki1aF0DL7LVi0aprp9ya5W2p4IZ7EpPbzhQlqZCauxK68Lq7Frz0ypsWvfHauyS+6Oq7L7+X+usswOkKjCjABluJcMID18vwkkhdIPGtD4M1agMYZ2xtxVxdkPHHGD9QMMdQZQDyyQ2QrNUDKIP8gMpXedwyyCPDnBTLM3+8sc1Q5ewyz1P5DDLQUgmd8ctEQ4Wz0DsnvZTMQtfs9FBGIz21Uyb7fHVUUJ8s8tZRXQxy02A/JXGMZaet9tpst+3223Af26KZUse9k8kG5K33/td2E/WA3oDrTXbfO/0d+OGDE37TBYc3bgDFiueEgOOHpxy5ToxTfjjkl9MUgeaId45TA6AHbrXoNJFe+t6o22T46gYk3jpLFMCed7mzt7SB7QjkLhLeAgSPgOwlvA468b5TtAECwTffvAG4C6S65pYnz9EGzmff/OkFLU+99R1hr/34shsPeLTgc8T8+OOnG6XqDeCYPkcXsM9+7/Oz1ID97OfPEv/si57/QCI+AGYPfQM0SQEN2DwEJrAkDMwe8h64kQg6T4AU5MgDLBi8DCqQg9zzYEg2yEADiPAk6wMg504YkhSOzwB1Y2FGaje+EMqwJBmgQMgweMMe+vCHhEAMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTk4tIAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhz09PT09PT09PT09PT09PT8/P0REREpKSk5OTlBQUFBQUFFRUVFRUVFRUVFRUVFRUVRUVF9fX25ubnp6en9/f4GBgYGBgYGBgYKCgoODg4eHh5CQkJmZmaGhoaurq7CwsLGxsbW1tby8vMXFxc3Nzdra2uXl5fLy8vv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4nUkgACCCCSseJgILtboooyE0WijjTgG1uKOO/b4F5BACukXkTvGaCRZJIjgpJNKOoSkjSIsOdaTWML40JQ1VmklWE1m+eSWXIIQ5ZddiYnlmQrpOCWaYKmJJZlIsgmnVnKOSWeSd36Vp5MRuXnjRHb2WdSfhYJEAgeMMmqmoUjleRIIjVbKAQiQGhVmlpNaaimmmRa1aaIfLeqppaHGdaqnoKba1qr+nrrqFqyoysoWrZXaeiuujOq6FqW4eulrWrwOu5YItJJqrFimeqrsslc2+ii01FZr7bXYZqvtttx26+23b5HwLLhXgYDBueduICy5WZGwAbrwYsABu1rFa+8G9F7Fgb32tppvVCTwy++/U+0rcLzrEtzUwfbOq/BTDMfr8MMLR4zuxBQvZbDFCWeMVMAWY+CxUxsf7O/ISkWML8pNgcwvxiwzZS686sY8lbg256zzzjz37PPPQJso7rhB98SBBEgnDXPRPpGQ9NNJE820TCJAbbUEUk/90tVXa70TBlxbvbTXM4XdNdk2gWC21VkXLQIGDQggNwQri3T02k+fjLb+QE7L7bffBYy90d14I6032iIU8Pfic4ekduFId0w2CYozzjgEikKO9N4FxW255SJ/BHbhoXP+Agefp+7QvkjL+2zVhbfds+epMy74QBw0oPvuupeOEOFhH+41CbV/3oBCEvCufAMQSD7QBmbfrjUIxX+eUPLLL6/s41Y7Tzbq1TP+e/bZS8AQshtswIHsQIMf/t8IkU++9KY3JML7fx9vUO7yL495/RapHP7MZxDs9U95ALSIBPAnt8NB4IDL814CF3I//OnPIBCM4AQpggH8Oe+BGdwd+zYokAVW73ZwC6HuSFgRE36uAMITCAhU2AACsnAiIIAA4wrgu4SAMIOzMbyhlNIVxIKIIIQ9FOJJ+Nc/GypRJTOUXxKfmJIU8k4CRaSiSdw0Qi168YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pcKCwgAIfkECQUAkgAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFBQUFERERMTExUVFRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlZWVlZWVlZWVlZWVldXV1jY2NqampycnJ6enqBgYGHh4eLi4uNjY2NjY2Ojo6Ojo6Ojo6Pj4+RkZGVlZWcnJynp6eurq6wsLCxsbGysrKysrKzs7O1tbW5ubm9vb3Dw8PKysrNzc3Ozs7Ozs7f39/p6enu7u7y8vL+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAlCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqCJ2N9ywomIuxCijiy8OdoOMOLogQ42C5ZgjjTz2daOPOAbpF5E5GnlWi0xGhGSRSo7F5JRANvSkjFFKSWWTDslwpQtZhrXllBBdWWWYXI1JpkNDEokmWGpyyaaPO775VZwtSjSkDGfauRWeKcmAwqA6+plUnCfdMOiii/ZpaFBjJsropCg8ilSeKVE6KZiWwiWopow62ilaoG46qlulMsrpqWuluuiq/qym5YKrKNQZa1qKunorW7OWCuuupIL6K7Bo9aoqsW8NKSqyzDbr7LPQRivttNRWa+212DZ34wjcjjBstli50O24I9gK7lUokEvut+dCJa665C7bLlPwqlvpvFLdUK+6+Er17r7dytuvUf8CPILAAxNVMMAIJyyUvgZz6/BTEY9w78RMLQxvwxgHle6+7HZ8lMbchizyUdt2a/LJLLfs8sswxyzzzDTXbHO+KGyg8wYocHxzTSPsLDTPPwPVwdBDj1B0T0cjnfTSOrngtNM+Q51S01MLrbTVNmXtNNcKudBBBRVocDBJN3iNNNgHoYDAAHDHPUAF5nqUttpCs12Q/gZy9w33xXbjnbfeAlXg9+FbfyS4zh0QLkkHh0de90Y5C76yzTdEHnkFD/XqQsOLOw655ocLfMPYZKdewcoy4F21zG+T7nfibatuewUbLNR61q/LLPvhGiSEwu23575Q5UIDrnfmv/fN+UE3EE887Qkp6zhBzDcf9/MGoS697ddXpL3cjRsU/fe3Ux++Q4aPP4DyAg2P/u3rS+SC+wMgNML89NcfUfvNU59AvMc/svkvIjLQHvcMsr8Cpu6ATvrdAg3iAgeSLXgQhIgMYgc8hliwAvDLIEOG1zcNXE4SDSygCCvipdc58IQr3Mj50BfCGI5EA9+DoQ07IjXb1XCHjSjpHRCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHSceAAAAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzU1NTU1NTU1NTU1NTU1NTU1NTU1NTc3Nz4+PkhISE9PT1BQUFBQUFBQUFBQUFBQUFBQUFFRUVFRUVJSUlVVVVxcXGNjY2dnZ2hoaGhoaGhoaGhoaGlpaWlpaWlpaWlpaWlpaWpqam5ubnJycnZ2dnp6en5+foKCgoaGhomJiYyMjI2NjY2NjY6Ojo+Pj5OTk5qamqamprKysrq6ur29vb6+vsHBwcfHx87OztTU1Nvb2+Pj4+zs7Pv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oos4oRDDTDC2GJhMdZYw4yC2WgjjoDpWCMOPPb1oo8xBnkWDkhKRGSNRpKF5JNJPjTkkk2KBSWUES0pY5VgXYnlQ1py2aWXT2bpI5BiekVmmWb+mOZXa0YpEZtvwrlmSi/KIMONdSZFZkp6Bhpon0hdCaigiBI6F6KM8qmoWzgwyuijb9UgKaJoUrrWpZhqyhangmbqKVqWgiqDqKOeZaoMqa5V6qX+qLZq1quIOiprWpF2eiukse7q66/ABivssMQWa+yxyCar7HCRwgDDqct2hQMMLVRrLQzRaoWDtdxa22u2UHUrLrbgUiWDuOLaWu5T6I67blTbttvtu1DFK6+19D5l770t5Msuvy2Q6+9Blqrb07n8GuxvCxIM4LDDEgjcE78SDwxDww9nPIAECt+0r7jfrtuCxiQ7zGpP07o78EAwlOxyxx7L4Cy0Kw/ksssS1HyUBze7XLHOQPWMM9BD1SC0y0QLNfLRJMOc9E0nME3yyU9PLLXGVFe9kwxXZ6z1T11D/LVPGF/dL001UBuw0zob3TXaJ5Ag99wnhKwzCVf/3BL+DHP3PXfWVVfAtAczyeD34SSwvTLePevdUtyI933C2ALVUHbGHtitkuGR+w341+ee0MLnMUHe+dxnUy6RzGubdPrhqkNUgwcS1G67BKmH9LrfsTvE8O3AV6D5Raa/PnnvC/0O/PLDV8T37iSQjvxAMixvvQQVhIQD9CRMr9D11+fO0IvNS/L86Y57Xz341jcEgwfwxy8+Qi2cPr/3A9HO/vLSD0RC/ACEX/8GUj/EpQ9/+7Ne+nAQwAZ64ICVK6DcWlC+3iVwefcTyP8cGEDF4S8iFwReBt/HwQZ+kCMVCKHtpFdCB3rwhA05gQpr1ysGtjCAGYRhlmZIuIPI4IbsATyeDi+ivwt27IdAjF/3hoiREOZwdkmEnxCZWBEcJHCKB4ki/CBIRYcUcXlc3GASK9hFhdTgBCms3QMdAkUgYrGMK2lBEuFYuhuSkY4hIWED34hHl8DgBPAjQQte2MdCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6PxOQAAAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFCQkJFRUVMTExPT09QUFBQUFBQUFBRUVFRUVFRUVFUVFRcXFxkZGRoaGhoaGhoaGhoaGhoaGhpaWlpaWltbW1xcXF6enqDg4OMjIySkpKXl5eZmZmampqampqbm5udnZ2ioqKtra21tbW9vb3Dw8PIyMjOzs7R0dHd3d3j4+Pq6ur4+Pj+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLOa0wosrtGgYjDTGKKNgNdJ4I2A56rijXz36+ONeQcI4JF9FvngkkUUuyWSQTj5ZY5RITknllRUqiaVeK5zg5Zc2bkkXCl+WeUKYYsLVpZllpikXm2y6CRecZsrp1pp0emlnW3jmuWdbeX75J1uBnoDCoIT6iehafba5KKBlHvropJRWaumlmGaq6aacdurpp6CKuQIKKKAZ6lYniKDqqpKemtWq/rCqeoKrWMVq66y0UrWCrbbmShWvt/oqFbC9CgsVsbEaeyyyqyr7FLOyOuvUrsxKa9AKHDQgwLYNcGDqTsziaq1AEGxr7rkYAIXsuAKtoO258ArQwLc5pRprq9a6G+++DQQ1aqnsDvTuvvFCEHBRJxCsML4H/1Suwvtq0LBQECs8MVAoVEwwvRfflLDG8XLccU0ZgwyvyCPTZDK8Kfc0sMnptgzuytuKOxOZhsos0MsV90uTCBwELbQIMn8MMsMuYSv00kGjPK4IINsME9NUc1A0z+fO+3PVTBMtswg8Q+D1TEpzvbTOA5GJtEwnmM201Gg3RKrTHAHt9tBxOyQC/gQN9N23BnRjZPfdHIydN0IrYOD34n13MNLgd8N9+EAr8M044xKHhALhTU+OkOWXM251SJw77rlBGoSu+toabX534DK7q3romS+0qwYY5M6B5AZBTjXvk4M9e+gMiZD78ccDzlDbVbPueerDX45yB8hXn3vgqQYtAvCnKx49484bb331tZ+ekfff+8164uNbb7j5FmWbvt8cU9++9fBndML8fRuM0P3jc17+HgK6772PIAC0HvcG2JD9pc9//0sg8g7IwIjIL3oClCDyFlhBhlwwdBBYIO40iAHYdTAhJyig38qXEPFJkIUnpEjbcqcBEZiQhByMoUhOIMHR6bAloTy8nw9/2JIVjLB6OSRiSailKgEq8YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsNRIQACH5BAkFADcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUVFRU1NTVlZWWFhYWFhYWFhYWFhYWFhYWVlZW1tbYGBgaGhocHBwc3NzdHR0dHR0dHR0dHR0dXV1dXV1dXV1dXV1dnZ2eXl5fHx8goKCiIiIj4+PlZWVmJiYmZmZmZmZmpqampqam5ubnZ2do6OjqKiora2tsbGxt7e3wMDAx8fHzMzM1NTU5eXl7u7u9vb2/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiizq9MILLSL24owwxjgYjTTaGBiOOOr4F485+tgXkDMKOSSRNRqpF5JJKpkXkk7yBWSUR75I5ZVYZrlVCyt0uUKTWs7l5ZgrhEkXl2R22YKZcaGZZpdgsqnWm2OuKWdbdI55J555drknW32uYOefab3QJ6FsuUnmoIimpaiajbb1ApotxBnppZhmqummnHbq6aeghirqqKSWaupMhpagagllnprVCv6rxlqCpa4+1YKsstJaK1O44rqrVLf2Gquuvx4Fq7CrMlrsUsjG2uqyTB3brLLQIhVss8RWO1Szqmpb0AodPMDAAx9Qu9O1vWbragkCtOuuu8/2JG2u3gqEwbv4ttsBUKmuGq+29+ab7771GvWBwAiXUHBRCDe88LYNI/zvwzw9ELHAGFAM1MUIa/wTxwJ77BPI+YrcEwMku/uAyTx1kHK7CrPs4ssC4GSlzDcEDDLBM936wc8fzCozySvTVALQSAfN8gscM1DT0UkjHbPJOg9c0wpRR23uwy90gHK7DHygrkpZZ41zTy+UHfXZPGGtNtJjs522uAwwgMHUIrn99v7PcePsdd2A1/3AxB2lvTffbC+EQeCM1433R4f/nLhCfzfO+NYaQf024ZPfsILllhcd0uGdI0Q36Iw/ntALmnNukOFll37QC6hbnvFCXWOg++53O6Q50KrLfkMJtVu+0Aq8J4/BBw95ibnsxBfPuEIvKK988MJPFL30gFNuvfLPZ+/Q59wLnlAL3yvPvPgXlV/3+geVkL7y7F9UufS6zq983/W/fnrtPDuI/pLHv/59S3qiQ0gHBri7AhqQICv4H+NupxD5MZCCD5xI1xr3AOwVpHoM9GAGm5csiHyAgSN0yQLn57oUlmSF1muhC0uCvOSJbYYxmVSlcMjDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56ck8BAQAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzo6Ojk5OTo6Ojw8PEFBQUlJSU9PT1BQUFFRUVFRUVFRUVJSUlVVVV5eXmZmZmhoaGhoaGhoaGlpaWlpaWlpaWlpaW1tbXV1dXx8fICAgIGBgYGBgYGBgYGBgYKCgoKCgoKCgoODg4WFhYiIiIuLi5GRkZaWlpubm6GhoaampqysrK+vr7GxsbKysrKysrW1tbi4uLy8vL29vcDAwMXFxcvLy8zMzNLS0t/f3/r6+v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostlicDTDC6GJhMdY4o2A15njjXznquGNfPdr4I19BxjgkkEUeSWSQSiIpZJNIQinllFRyZYMMWMpgQ5V3ZemlDFzS9aWXW4YJ15VjZmkmXGmSuaZbbWZZ5ptrxYnlnHSu5MIHH5TgQk5otolnnibZQEEAiCYaAAU42UloSh8oKimiJ9gU6JeDPirSoZNO+oGlY2aqKUiRdtpppZYaOWpJNphqagL+q4LFqauexuoVra/aypUMuJqq61Yn9Nrpn79iFaywkhJbrFUuICspmMta1aqziUaLVQLUBsCAtVeVkC2q3FaFLbLbhmsVr8iKai5Ux+KqbE8yuCCvC+quq5AN43aaQL03zevvu/Y65MKsiFIAME///hvwRKoGlXDCC0v7sMIRUxXvxPPyW3FSF2NM78ZSdYyxxiAbZYPH8pYsFcoHq0yQCyeUcELLCGPsMkIfJKDzzgl86vDDNxvkAgM8F80AtD+JTHLFJxTttM5IB30Uvk8/LXVSFFT99AVXGyWD1lV3XVTOYDsNrthAZV120T6jnfbabLsdlNpw69y23D2RXXf+AmfjvZMLe+u8tN8yEV03o4T7BHjdg6MkwwmQnxA14XqD3TdMj0eu+eR4V/705S/BrPnonMs99NMUlO6SDaO3Djree1Ig+weqv+R66zQnntPtrev+E+u8a+67RI/z+cEJjVsEfPCQD/+QDLJHH/3dITEfufMNnSD99rInP5H1zWOv0MDccz9S5sF777eh5XNPvUfWi69QCe2X33jHEAUvv0L1l/96QScwnvFKMDj0Ra52+2Nf/6T3voLYQIAQ/EDuDNKw/SUEegtk4EIiGEEEWlAiCswgBRo4kAByEIIf5IgIo1cChZwwghNMIUQusMLUXfCFEZRhRsgnQoWYEIfbxtNhRj4gwgn+EIgkFGJEMvg/gRwRiEocYv2aKBAZIJFPLYwiRlxAQwYO7oq00+JGruQ9KwIxi2J0SQmAqL40wu+FbXSjR1gnwBJ4UI54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8lNqQQEACH5BAkFADUAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHREREREREQ0NDSUlJUlJSV1dXWFhYWVlZWVlZW1tbYmJibm5uc3NzdHR0dHR0dXV1dXV1dXV1eHh4fX19gICAgYGBgYGBgoKCgoKCg4ODhoaGjIyMk5OTnJycoqKiqKiora2tsLCwsbGxs7Oztra2urq6vr6+xcXFysrKzMzM1tbW39/f7Ozs8fHx9vb2/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AawgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPboo3wpBJnCj3QJaeSQRL51pJFJKrmkkE229SSUUao1JZVVonVlkFmyZMIIJuy0ZZcodYCAAGiiuUAHOI1JJkkpEJDmnGgigGRNU75J0gh09onmnTQtqedIJvhpKKCDanWmoX0ukChXfDLqZ5iPZrWApH5iUGlWmPpJwKZXpdCpn6BaJeqodJZqFaqpqkoVq/5pIuAqVRDAKsAGs05VKKyI5urUpahq6utUi2Iq67BUySnpsUClYIIJvSKrEAaM4grUlyNkm2200iLUwQJyErCmUNhqqy2l3U6VgrnsjsBtuku12y68UsnLLr1QrWuvtvhCtS+//Tr1b7YBO6Wvve/262zCOpXLLroFCzTCAghUXDEEEPvk8LYRD5QCxRaHjAAEQzkLbccei6wyAo6ifBTIK4dMsstEmRmzyiPQPBTMN1vcss4/mdDzygwDTZPNQ4ecs9E9IZ10xUszvZPTT0ctdU4jPB1y0VfDpLXFXfO0wddshr2T1j8Hiu3JXWedNNcpdSD33B1YzbTbN8NdJv7dfJs9tsrW1sT34GWHPcLcGc9kAuF86222S4zzbffjN0XeN+UOfVm34xdZTjfmDHUAweikY1yS53ODnlAKpbcOQeAhLe4550yz7nrrsIOEuuoIYXC764l3lILltBttwu+3R8QlRLIPXrzRGyDvOtfDY2A9BhtMrtDhc2vPu0DSu+49QR1cbz7233cUfuuFe3v++bmnb9H6pbdvkAnvv2+//BTRT/r4NShf/s7HP4yIzn8LGeD7AFjAhvhvfwRJgQLPB8EGPuSA4VsI/iZ4vQpa0CEY/B3DJMhB63nwgw0JYeu4VkLrBQ+FEAkhBhhIvhbC0CUb4CANbxi7CZ6Qh5lwyuECgQiTxeUwe0RMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycoJBQQAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdSUlJSUlJSUlJVVVVYWFhYWFhZWVlZWVlaWlpfX19tbW1ycnJ0dHR0dHR0dHR0dHR0dHR1dXV1dXV1dXV4eHiCgoKKioqNjY2NjY2Ojo6Ojo6Ojo6Ojo6QkJCUlJSZmZmhoaGqqqqxsbG1tbW6urq8vLy9vb2/v7/CwsLHx8fOzs7U1NTi4uLz8/P4+Pj+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0CupMKQRAYZF5FIqmCkW0kmuSRbTSL55FpRFjllWlUOeSWWWW55kgoVHADAmAdsoORNXXpZkgRjtunmBjhVqSZJYrppJwAKxCnlnCMpcOefEvDp1QZ/FvqBoFwVqiiiWn2gaKEiMIoVm4/eWYGkV1X6Z56YVqXpnQd06umnbnIqqlSUkgoAnKdKJYKq/mOe0OpUsIY6q6uqynqrVBV8yuquvFZ6qFBaAvvQCXXaqcCZP6lwwrPQMmvsQidsUIEEFXwgrU/OQuvtttNC5e24uoYbFbnjgmvuUuiOu6647UL77lPxyjtvU/WeoO69R9XLr1Pdkrvvuip8oMABCEswbFABR/vvQB8gLPHEkQ5V7MMChTnxxmVifNQGHIe8sMcMh2wyyUNpbPLGv6Ls08ohm+oyTyrAHPLMPiFr88YD4zxTzTtP7HNPQQs99E4SFH3ApUfrJILSPTcdk8owM21Tt1FjfDDMgdp0wgdgh12uz0mbbDVNIoSt9gcVDy1C2RJLMPZMX6+t9tw+O5u1/kt22y11T3X3Hfbef7uUtuBiF/6QlSYdjvgHeCteULUSVF75yCIFjnjkkgv0geWgV845RwU/jnnnA20Q+uqjb+R4322jPtDbq69e0utqxy67QLXXfvpHuLO9e0G09x76sRskv4EIhAukwuHMD1+Q6saHnnW1ymevu/QUXVs96FFjn332v3MPEfXfV96zCuO3v0Hr5i/0efqVLySC++3HT5EK9GO7EP7ta57+COK977WOfQDMHvwGeBD+fa9lDUyg9hgokRNUD4IIkaDyFkhBg4DJdw7RYPIE2MGBFMxay4PI/SRYvhKKRIMkdGFGEshBGXrkA+6LoQ03cgIR+FCHjTsMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHeauAAAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh1lZWVJSUlpaWmNjY2dnZ2lpaWlpaW5ubn19fYGBgYGBgYKCgoKCgoKCgoSEhIiIiI2NjZGRkZWVlZiYmJmZmZmZmZmZmZmZmZqampubm56enqKioqioqK6urrKysri4uLu7u729vb+/v8PDw8nJyc3NzdDQ0NnZ2d7e3uXl5fj4+P7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oosfuQBBAxA4EGLhHkAQAA45hgAAzQCdoCOQOI4Y497GRDkkRgQmRcDRzYpgpJ2idDklFDWZeSURw5ZZVxYNmnAlnFJ2eWRYMKFwZhklunWmWgCqaZbHrTp5ptslSCnjnS2dSeOSea5Fpty+qmnnDwKupadaAJgaFtxdqnoom2VcCWSkMLlAZM5AgBBpZxm96IBBhwAwZOdMnpjkAaUUKpaEHTZ56r+ZQGKpZawhoUomrWONemYhebq1a1t+vqVrGjSKmxWmMr56rHI7rkss1e1euez0FZF7JjGVlvVntpqleyYm3ab1amOiqtVo12Sai5W6B4JgLrrNhtkuEGVIMK9Iqgab0UeYOBvtj7hKzC8+2I1sMD6FmzwwfgqjJW9DN+bsMNTRYzvxBRHBXHEGGcMlcUEe/wxxyJXFXHJC5WAAQMsY9CxTxvni3JCJTAA6s2gMvDyzEh5gPPPoO7MM1GSAg300EsdYDTQvSJdlM9LAw2w0z/ZHPXP9FIt1NVAH6A1UVwf/fXWYd/s9dhBKV22AU2j3RMGaxswtds5rX023T9BzXX+yHjvBPfVc7/kweCE902Q3lLfVALhjHsg9NgeqM124C4t3jjjhgt1+eWZA7V5453D/Dnjj4cuk+WjO266Qy+yzIDLJqE++uoMieD67TGalPrgtCt0Ke64lyRC6qWvDjzwWYeUeu8JwXg87pRrNHzjfDMv0PPIQ9QvBqpHBHHxtP+O/e2s+2u+v+Bbr/34wTN0/vuwq6+R+Oy3fRD88MuvUc31s5wy/u+Lnv4a0r/XLWR7ADTfADFCP+y5L4HnWyBGnIe96EHwfOmTYPOwR637XdBfGmQg8tKHQAiGMCOoy6BAPli9E+rugi4UXAJjCBOVBZCGMymBDnHIwx768IeHQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKTFAoIACH5BAkFAC0AIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHZWVlXl5eZmZmb29vdHR0dXV1d3d3fn5+h4eHjIyMjY2NjY2NjY2Njo6OkJCQlZWVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpqampqam5ubn5+fp6enr6+vs7OzuLi4vLy8wcHBxcXFy8vLzc3Nzs7O0dHR1dXV3t7e7Ozs+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AWwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiyCBMKLLRqWQQA01iiABzECBkKNPNqYY18z9ihkACX8mNeOQw5pJF5JJtnAknV50GSSUNI1ZZIZVCnXlUMeoCVcJXCp5JduhSlmj2S+dSaPAqTp1po1PukmWwfAGQAIc7Jl5pp5tlXnmXj2ydaZcgrKlgBXZmmoW0EOGeiib3nwpwANFAnppdl5kMGmj2LaVgNDKuppWiAgmqQAlo5aFpJXpqqqWP6mXtnmq2I1yiWOtIIF56y5drXnma72mpWUcHYqLFbErmnssVYlCyyzWv0qJrRbxcqll9QOq2y2WhUgJrbcZmXtkAWEy9WfXZrblQfe8ljAsj6VIG+w6k70Ir0/zasvvvVWta++/W71L8ABYzXwvAVfdTDCCVu1ML8NO/VwxP4eTLHDA1/MEAgedAxxTwRrnBC7BZRsMq4iP3WAySyXDG7KS63ccssvw3xUAzPnLKrNRZWQ8888H0Xyzy3DG7RPOBPd8s5HAyWz0iYX2jRQSUNdMtNT95SB1SdnHZTPXBfwsdc3Pa201GSDzHXaQoFN9NgtldCxByDAHXQJZked0/7cfBvtdQkZHHBAAxnYzRLfiPvNtk4cI8634YvP5LjjkQM1OeKV/3Q535lHpCmnKG0+d+cOZdDA6ag3gPJIjV+uOOkCpS474SaJDvtCs8++ekhyT367QiDkPvtJif+ukPC6Q1TCvRTJazzuyMvuEOCbVv/68xKVEL30DH1e/ffYb6T99qhv/P35GewefkXkn461QeijD/n6CZlO/tjUx1+9+vRLRP77BfGe/jbVv4t4YHtwE+AAC2hA5NlNgfpj4EUAJzv+ISR/A7SgBCPiPIkMsHobdAkG0Xe9EIpkhNYzIUxA8D0PzE+FMIyhDGdIwxra8IY4zKEOd8jDHvrwh3hADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUnqBAQAIfkECQUAMAAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc1NTU1NTU1NTU2NjY5OTlHR0dhYWFra2twcHB0dHR0dHR0dHR1dXV2dnZ7e3uEhISLi4uNjY2NjY2NjY2NjY2NjY2NjY2Ojo6QkJCRkZGVlZWcnJyjo6Opqamtra2wsLCxsbGxsbGxsbGysrKysrK4uLjCwsLIyMjOzs7X19fj4+Pu7u7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBhCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogkgocCCSSgUGJjKDBQQAAwBkCAASSsiNgFBMSoI4wH2FjYATsGGUABKvoIGJBCBkmAkX+RkGSSPTJ5FgoPGFDAlQds0NCLTwpZpJRjHXDlmGRqmZAJXSb5AJhioUDmm2OuidAFaQpZAJthwalnARcgZECdQuL5lZh7wvklQVwCqqOgXblZKJxRFpSoojAyytUDj+p5qEAPUBrjnZZqZWWmb5pJkJOeBsBAqFqRCmef/gbl6GmNrGLl6puwFkQnpaDWetWtZSI0aZom+IoVocDSapCbgOZqbFUbAHulQsw+SYCpz1olrbNzyrpjpNleRcKtBjxEwgUHHPCAsuFmdYGrm7bL1ruFGhCvvGyhgCyZ3OIL14kXXLBBsf4WHB4KCBtMFwkMpOvwA/cqjNYDDlecbr8Sm9WwxRavmjFa6HLMMbYftynyyRGXzFXIJ1uMscpctXwyzGLJLDLNYOlrs8U4g7Uzzz179bPDHge98tBZGi300Ep7RcLP7DatFcsnkyy1Vhu0HPXVXG2w8QEMbM31aQiXnfLYWJltNtpeqa0221y5vTbcWsldNt112302/t5P6b03307ZDXjecw/+0N2Gp30BA4wzbnXiT3nd+ORhQx6V5JRPLrblR5mQ+ed/cw7UA59n/rLoQrVYeuaoJ8Xw6pQT3HpRr8PeuOyzD1W77QzgnntQqvPOQOi/40Q673IWr7vwvisP1OKwn+58T8d/Lj1MhU9vEOaNr5sTCiaELz7xuZOwwfnN0wS++OyTr/1N7Mef/vs9rS9/+O7TL9P98esfFP/s899E7JcSAOJPgBAxQcAWKLCT2O9+CDQXAyeYv4oYMIINOdcEKWgS/mGwIRsMoQPb90GGaDCEDKxgCUuCwg1u7iAoimGKVgiSFk7whQQ5kQxjOD8aWsSG8AzE4UB2uEMV+jAhGwBiwHo4RCLu8IgbUaASM+hEGRoRigZRohBhoMMqxhCLGrHh45blRRmCMSMoQOEYyVhGEjDxjBBBQRIDNkNztfGKcIxiG/MYkzLikY8bqSIgZ9LFOg7ykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzGIa85jITKYyl8nMZjrzmdCMpjSnSc1qWvOa2MymNrfJzW5685vgDKc4x0nOcprznOhMpzrXWcuAAAAh+QQJBQA1ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQkREREdHR1hYWGlpaXR0dHx8fICAgIGBgYGBgYKCgoKCgoKCgoWFhYqKipKSkpeXl5mZmZmZmZmZmZmZmZmZmZqampqampubm6CgoKioqK2trbCwsLGxsbGxsbKysrKysrKysrOzs7W1tbi4uLy8vMHBwcjIyM/Pz9vb2/X19fv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AGsIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaCJTIyAQwIoBGKDBiYihYACLNK74IoyDaVDjjgEcgGNgI/DIo48/9rWCkELeWKRZIzhwwAEIaLBCQw4gKeSSZY1gwJZcbokAQ1YKOQKWYjnQ5ZlbopBQkGHuSCSZXpmJJppqHqRjmzvC6ZWWc86JUJV41qhnV332qSRBEgQq6KBa8VkomgexqWiLjGol56NnTmnQpDZWmtUBmNJ50IyTauqpVaCG2mWdBUmK55v+p1aFgKpdmloQoG0aECtWGtDKpUIH4MnqrlSt4KsBXyqkIpK6EovVrLQOixAKwdboorNa0eoARChooMEItmJ7lYyYwipuW8YWKsG5c/V6JgLSsgvXCiigEK68+Oarr0QpPnmAA2Pu2xYKCPhrMAL3CkzWCAY3/GTACmfp8MQJR+xVwRM3vK3FYjGcscPxcryVBB87fKjIXJXs8MYod6Wyxi1f/LK/LMeslQYzP3myzVetkPMBFfNMlZMvryv0Vj6/fHRXSWeM8NJxTlwz1FytoIEDWEtJ9dZcd+3112CHLfbYZJdt9tkVdYu1AxqEjHZSK0iw9tw7v33UCnPnjXX+0HYHpbfeRvdtVJN/5+224D4VDjjiRSmuN+ND4e343JALJfnkWFcuFOZrax7U1ZhD7HnimI8eFOGKi256T6jrrfrqPVmdd900rWD77bAXVC/fMt3uO++52/T778H/NLzvxcd+PPLJ67Q88803BLxHz9sePUMjeKv94R9Vf31CVmsvPu3dL/89QuGPL/5J5p9vkPrqvy4S9O4TlD782tcvU/b4iz+9QCsYgQDBpb+N8K9/3vrfABcovwLyC4Hamx4DGejAi3QLguSz3wQpWMGKYLCBrdrgAjtYkQPiT4IiHOD/SGgQE44PhCFMIQFZOBEXJvAhMhTgCmloEBSoMCKoOYQhD0MSwBRyb4gh8aEIkciSInKQiU30ob2gSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWxAoIACH5BAkFADYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUlJSVVVVV1dXY2NjcnJyfn5+ioqKjY2NjY2NjY2Njo6Ojo6Ojo6OkJCQlZWVmJiYmZmZmZmZmZmZmZmZmpqampqam5ubnJycnp6eo6Ojqampr6+vs7Oztra2urq6vLy8vb29vb29vb29vb29vr6+vr6+vr6+wMDAxMTEzc3N3t7e8fHx+/v7/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoYlMZJHCAAQg80MKJiSUgwIw0znjAizAO1oIBNfY4YwY5Csajjz6CEORfBxCpJI5HngVCBlCm4BAISip5QJNltZCAAVx2eQCQCyVZJZFYjgVCl2h2icBCYyoJZplenZnmnFci1EKbRCYAp1c7zumnngelgKePa+7J1ZZ++skkQYIOWmOhhmqVaKIPIORojW9GepWck6ZZp0FDXrqoplVl0KmfCD1wqQAGkJqVqf6nppnQqka6ehWssXaZEJWDQmprVX3myqJCGeD56a9WrShspgedWWWlyGLFaawOmdojtNFmhUCuUkLUwqjZansqs+G29UCiB9RablwtPKAsi+SuK++89Na7WAsZPKAvCODam9YDCAQscIv+rtXCwAgjAGjBZyWQMMILMzwWwA8jrK7EYVX8MMZigaBxwv1y/OrHFov8FcUkB3yxyVplkLLAK7OMVQovBxyyzFXV7CvOWXmccsw8X4VyxdgGvdXQCBdt9FY+l7w0WC2AIPXNT1dt9dVYZ6311lx37fXXYIftUApQZtCt2FDlq+/aDwCN9lFqs712vG8TFbfca7tdN/5Q7eKN995w+4233oDzJLjfhRN1+N+JC7W43I0LdffhdEeeU9+PU235TY/ru3lQmAv+uVChQz76UCnIfTZO37Z+elGtx6756zbJLjvtP9keO+4+6e467zz5/i3wwQtPPENRl716ScLPDvyTZSuPku/HKwR99NKfZHv1CZGNPfbc2/T994SHnxK+44PvbQspOG++t+mr3xD7KdRv//saoR8/lA7Rb///+MvI/so2tv8Z0H0BTMgAzTY/AzowgRbRX/oK6EAAQrAi3hvfQypowAtG8HpQKl9BOGhBD1ZkdxHxHwdN2BISto+FLawgAmH4EQfOkIYgGR4Od8jDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56cooBAQAh+QQJBQA3ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTo6Oj8/P0hISE5OTlBQUFBQUFBQUFJSUlVVVVpaWmBgYGtra3d3d4CAgIqKipCQkJWVlZeXl5iYmJmZmZqampqampqampubm6Wlpa+vr7GxsbGxsbKysrKysrKysrKysra2tru7u729vb29vb6+vr6+vr6+vr6+vsHBwcTExMnJyc/Pz9nZ2e3t7fv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AG8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaGJTLoSAgQQYpHCiYik4oMCMNCqAwYuGSVDjjgo4gONgEPDIIwM/AhaCkEL6WKRaLqTgAkRIInnjkmWF8IADWGIJwZMLYRBlklSSBUGWZGI5ZUIMfCkkl2F+dWWZZZ55kJpChtDmV2PCCaedCNHJI593bhWCnoQm5OeOgAaa1ZuEluninIfSyKaiWDWqpwQIBRmpApRq5YKlcEKAkAubYpoQBg4EoGoADyTa6VD+MYJK5gMJaernqavmqqoCj74q1KeyZikqmn66OtADuiYbwLC+BhVslnIelOaXxgqErLLJMtusTxI868CkmSL5LUIYYIstuNvqBKys2irkggQPzOgABL3Oaa6ynKbr06Cg0vpRCPdiW6++OqHa6APoanRtwLqaSjBPKTBKZrsdKcBwsko+3FMKGEDwAAQYJMzRxcnmq7FZJOtq8slkWZyyqv6yLObLqkYrs0kphhCCyC25QHMAN6eUAgREF00vTS6TTHHQIXVstNE29/wy0yZJ8PTVUbME8MUDU/3R0FdfzbNKKQTMq9ckWR320w7LtHDDaJe0dtg3hZDn0XGTBPb+3EaPnbdVe/NNtN9/UxW44IQXPpXgRiv+ldqCZ+24VS4wvvTkWDk9d7WYY2X32l13vhXkREsu+lYupH766qy37vrrsMcu++y012777SeloDvuVLmAwe/Ah8z7UyoGH3zowxfFsfHGJ558T8xH/zxSvkff/PRGFW898MhjD/32wXPuPU/ghz8+rOX/7vz5NaVvOvs5aW999/AXDH79RMkPvPj485Qi9z5RXf+OkroCrm+ANTGgAREYFAUukIE/ceADIeg/CQqQgjux4AUxuBDdhcBJKrEgBxmSAp2ZUGcpkeAIO3jCFh4wIxNc4UFy1sITytAmNawh/W6okhzWUCLtG+ThRnzYQojo7oggFKJGiGhDhyARiS9UIkKYqLMdDuSJT5QiRkrIROdhEYpavAgTrSiQJn3xiGEUYw7JWMYzojGNFuGiCQ9oRjfC0SVuTOIdV5LHPeLxi358SR31GMhCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6EznMwMCACH5BAkFADAAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHQUFBQUFBQUFBRUVFS0tLUlJSV1dXWVlZWVlZWlpaXV1dbm5uhISEk5OTmJiYmZmZmZmZmZmZmpqanp6ep6enra2tsLCwsbGxsbGxsrKys7OztLS0t7e3urq6vb29wMDAxcXFycnJzMzMzc3Nzc3Nzs7Ozs7Oz8/P1NTU3Nzc7u7u/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AYQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoolMmeOCBCScyJgECMMbIAIstFmZCjDjGKEGNg3mQ448IMMAjYDcC+WMGQ/q1gJFA0phkWRIsIOUCDHjQUJFM5tjAk2RFOeWXCziJ0ItZ/silWF6C+aWYBi1ZZo5ngpWmml8q5OabMbIZZ1Z00rkjQnfiiYCee1o1Z59TJtSAoDEWyhWidCJ5kI+MLuDoVpCq+edBjCJgZUImRAnjAptealSmYJZaUAaCWoqQCf4LBCDrrLK6aipRqH4pKUKLvplQBrQGOyuht/LUQK5SEjtQr0aGiZAHwkYbgLLF4uQBsrYqdC2QqhYkbbQIVBsUA7l+2pAHEjDAgAS7IsTAt9FuKa5PsGYq70fwSjvvT/X2ea9HwOYrrLn78nSolAR79K7AwXZbsE4eZMAutRrFyjCt/z5MlsUXy5qxxmI10PGsDoP8FbQjT2sySya0fFPK4a6cUrrqqttuTBKMfLPMInlQ88/qUpwSAhdny3PPQCctNEpE5xvz0SQlnfTHLzUtrdFQg5SB1EknDBOrwi7gddYfNcA10CW/ZILEEoxNNkhnJ/22WHEDPXdYdf98t/6cea+798l9L/23VGbHnfbgVplQN+JgmVA42oyLhW7NEgge+eWYZ6755px37vnnoIcu+uikE+ly6VSxLcHqbqOOVKirxx67607JbvvqtC+l+u2r75z7ULzf/vtRsAcfu+XD24Su8ccnT1TxzCPvPE3Mzz498NX7fj1P0PO+PVHL8y799zN1v/r45NOUYgYrpu/++/DHL//89GPWMvr1sxRxBvxngH/+J+mfANkHQJwMcICtKyDLDjhABdKEgQP8nwM7AkEBIu9+95vgRirYP8thEIMazMj+Kii4D34whBdZGwcfYkIQotAiIzwgRFrowhdSJIYdnCENT2dDiqyPf6UJfNUOJdjDFO6wiC45IhJZ1sIlqi2DToyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1qSLyAAOw==";
|
|
2247
2262
|
|
|
2248
|
-
var _templateObject$
|
|
2263
|
+
var _templateObject$o, _templateObject2$m, _templateObject3$j, _templateObject4$b;
|
|
2249
2264
|
function SignIn(_ref) {
|
|
2250
2265
|
let {
|
|
2251
2266
|
description
|
|
2252
2267
|
} = _ref;
|
|
2253
2268
|
const theme = useTheme();
|
|
2254
2269
|
const styles = {
|
|
2255
|
-
wrapper: css(_templateObject$
|
|
2256
|
-
header: css(_templateObject2$
|
|
2257
|
-
icon: css(_templateObject3$
|
|
2258
|
-
content: css(_templateObject4$
|
|
2270
|
+
wrapper: css(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
2271
|
+
header: css(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
2272
|
+
icon: css(_templateObject3$j || (_templateObject3$j = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
|
|
2273
|
+
content: css(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
|
|
2259
2274
|
};
|
|
2260
2275
|
return jsxs(Box, {
|
|
2261
2276
|
css: styles.wrapper,
|
|
@@ -2276,7 +2291,7 @@ function SignIn(_ref) {
|
|
|
2276
2291
|
});
|
|
2277
2292
|
}
|
|
2278
2293
|
|
|
2279
|
-
var _templateObject$
|
|
2294
|
+
var _templateObject$n, _templateObject2$l, _templateObject3$i, _templateObject4$a, _templateObject5$6, _templateObject6$5, _templateObject7$5;
|
|
2280
2295
|
function Evaluation$4(_ref) {
|
|
2281
2296
|
let {
|
|
2282
2297
|
poolInfo,
|
|
@@ -2308,13 +2323,13 @@ function Evaluation$4(_ref) {
|
|
|
2308
2323
|
fetchData();
|
|
2309
2324
|
}, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool, isWalletOwnershipVerified]);
|
|
2310
2325
|
const styles = {
|
|
2311
|
-
wrapper: css(_templateObject$
|
|
2312
|
-
header: css(_templateObject2$
|
|
2313
|
-
content: css(_templateObject3$
|
|
2314
|
-
checkWrapper: css(_templateObject4$
|
|
2315
|
-
checkIcon: css(_templateObject5$
|
|
2316
|
-
congratsWrapper: css(_templateObject6$
|
|
2317
|
-
bottom: css(_templateObject7$
|
|
2326
|
+
wrapper: css(_templateObject$n || (_templateObject$n = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
2327
|
+
header: css(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
2328
|
+
content: css(_templateObject3$i || (_templateObject3$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
|
|
2329
|
+
checkWrapper: css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
|
|
2330
|
+
checkIcon: css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
|
|
2331
|
+
congratsWrapper: css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
|
|
2332
|
+
bottom: css(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
|
|
2318
2333
|
};
|
|
2319
2334
|
const goToNextStep = () => {
|
|
2320
2335
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -2377,7 +2392,7 @@ function Evaluation$4(_ref) {
|
|
|
2377
2392
|
});
|
|
2378
2393
|
}
|
|
2379
2394
|
|
|
2380
|
-
var _templateObject$
|
|
2395
|
+
var _templateObject$m, _templateObject2$k, _templateObject3$h, _templateObject4$9, _templateObject5$5, _templateObject6$4, _templateObject7$4, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
2381
2396
|
function ChooseAmountModal(_ref) {
|
|
2382
2397
|
let {
|
|
2383
2398
|
title,
|
|
@@ -2404,13 +2419,13 @@ function ChooseAmountModal(_ref) {
|
|
|
2404
2419
|
} = useMQ();
|
|
2405
2420
|
const [inputTouched, setInputTouched] = useState(false);
|
|
2406
2421
|
const styles = {
|
|
2407
|
-
subTitle: css(_templateObject$
|
|
2408
|
-
description2: css(_templateObject2$
|
|
2409
|
-
chosenAmountWrapper: css(_templateObject3$
|
|
2410
|
-
chosenAmount: css(_templateObject4$
|
|
2411
|
-
chosenAmountSymbol: css(_templateObject5$
|
|
2412
|
-
inputAmountWrapper: css(_templateObject6$
|
|
2413
|
-
inputAmount: css(_templateObject7$
|
|
2422
|
+
subTitle: css(_templateObject$m || (_templateObject$m = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
|
|
2423
|
+
description2: css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
|
|
2424
|
+
chosenAmountWrapper: css(_templateObject3$h || (_templateObject3$h = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
|
|
2425
|
+
chosenAmount: css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
|
|
2426
|
+
chosenAmountSymbol: css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
|
|
2427
|
+
inputAmountWrapper: css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
|
|
2428
|
+
inputAmount: css(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
|
|
2414
2429
|
inputField: css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
|
|
2415
2430
|
maxButton: css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n width: 80px;\n "]))),
|
|
2416
2431
|
amountAvailable: css(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n font-size: 16px;\n & > svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(0.5), theme.spacing(12), theme.spacing(0.5)),
|
|
@@ -2560,7 +2575,7 @@ function ChooseAmountModal(_ref) {
|
|
|
2560
2575
|
});
|
|
2561
2576
|
}
|
|
2562
2577
|
|
|
2563
|
-
function ChooseAmount$
|
|
2578
|
+
function ChooseAmount$f(_ref) {
|
|
2564
2579
|
let {
|
|
2565
2580
|
poolInfo,
|
|
2566
2581
|
accountStats
|
|
@@ -2620,7 +2635,7 @@ function ChooseAmount$c(_ref) {
|
|
|
2620
2635
|
});
|
|
2621
2636
|
}
|
|
2622
2637
|
|
|
2623
|
-
function ApproveAllowance$
|
|
2638
|
+
function ApproveAllowance$b(_ref) {
|
|
2624
2639
|
let {
|
|
2625
2640
|
poolInfo
|
|
2626
2641
|
} = _ref;
|
|
@@ -2679,7 +2694,7 @@ function TxSendModal(_ref) {
|
|
|
2679
2694
|
});
|
|
2680
2695
|
}
|
|
2681
2696
|
|
|
2682
|
-
function Transfer$
|
|
2697
|
+
function Transfer$i(_ref) {
|
|
2683
2698
|
let {
|
|
2684
2699
|
poolInfo
|
|
2685
2700
|
} = _ref;
|
|
@@ -2702,7 +2717,7 @@ function Transfer$f(_ref) {
|
|
|
2702
2717
|
});
|
|
2703
2718
|
}
|
|
2704
2719
|
|
|
2705
|
-
function Success$
|
|
2720
|
+
function Success$d(_ref) {
|
|
2706
2721
|
let {
|
|
2707
2722
|
poolInfo,
|
|
2708
2723
|
creditRecord,
|
|
@@ -2803,7 +2818,7 @@ const useIsFirstTimeNotifiUser = (account, chainId) => {
|
|
|
2803
2818
|
};
|
|
2804
2819
|
};
|
|
2805
2820
|
|
|
2806
|
-
var _templateObject$
|
|
2821
|
+
var _templateObject$l, _templateObject2$j, _templateObject3$g, _templateObject4$8, _templateObject5$4;
|
|
2807
2822
|
function getIdFromEventType(eventType) {
|
|
2808
2823
|
if (eventType.type === 'directPush') {
|
|
2809
2824
|
const directPushEventType = eventType;
|
|
@@ -2911,11 +2926,11 @@ function NotifiSubscriptionModal(_ref) {
|
|
|
2911
2926
|
handleSuccess();
|
|
2912
2927
|
}, [dispatch, handleSuccess, reset]);
|
|
2913
2928
|
const styles = {
|
|
2914
|
-
disclaimer: css(_templateObject$
|
|
2915
|
-
inputField: css(_templateObject2$
|
|
2916
|
-
inputWrapper: css(_templateObject3$
|
|
2917
|
-
header: css(_templateObject4$
|
|
2918
|
-
check: css(_templateObject5$
|
|
2929
|
+
disclaimer: css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
|
|
2930
|
+
inputField: css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
|
|
2931
|
+
inputWrapper: css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
|
|
2932
|
+
header: css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
2933
|
+
check: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
|
|
2919
2934
|
};
|
|
2920
2935
|
if (isLoading) {
|
|
2921
2936
|
return jsx(LoadingModal, {
|
|
@@ -3037,14 +3052,14 @@ function CreditLineBorrow(_ref) {
|
|
|
3037
3052
|
children: [step === WIDGET_STEP.Evaluation && jsx(Evaluation$4, {
|
|
3038
3053
|
poolInfo: poolInfo,
|
|
3039
3054
|
handleApprove: approveCallback
|
|
3040
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
3055
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$f, {
|
|
3041
3056
|
poolInfo: poolInfo,
|
|
3042
3057
|
accountStats: accountStats
|
|
3043
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
3058
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$b, {
|
|
3044
3059
|
poolInfo: poolInfo
|
|
3045
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
3060
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$i, {
|
|
3046
3061
|
poolInfo: poolInfo
|
|
3047
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
3062
|
+
}), step === WIDGET_STEP.Done && jsx(Success$d, {
|
|
3048
3063
|
poolInfo: poolInfo,
|
|
3049
3064
|
handleAction: setupNotificationsOrClose,
|
|
3050
3065
|
creditRecord: creditRecord,
|
|
@@ -3059,7 +3074,7 @@ function CreditLineBorrow(_ref) {
|
|
|
3059
3074
|
});
|
|
3060
3075
|
}
|
|
3061
3076
|
|
|
3062
|
-
var _templateObject$
|
|
3077
|
+
var _templateObject$k, _templateObject2$i, _templateObject3$f, _templateObject4$7, _templateObject5$3, _templateObject6$3, _templateObject7$3, _templateObject8$1;
|
|
3063
3078
|
function InputAmountModal(_ref) {
|
|
3064
3079
|
let {
|
|
3065
3080
|
title,
|
|
@@ -3068,6 +3083,7 @@ function InputAmountModal(_ref) {
|
|
|
3068
3083
|
tokenSymbol,
|
|
3069
3084
|
suffix: defaultSuffix,
|
|
3070
3085
|
currentAmount,
|
|
3086
|
+
minimumAmount,
|
|
3071
3087
|
maxAmount,
|
|
3072
3088
|
maxAmountText = 'MAX',
|
|
3073
3089
|
maxAmountTitle,
|
|
@@ -3079,13 +3095,13 @@ function InputAmountModal(_ref) {
|
|
|
3079
3095
|
const [inputTouched, setInputTouched] = useState(false);
|
|
3080
3096
|
const suffix = " ".concat(defaultSuffix !== null && defaultSuffix !== void 0 ? defaultSuffix : tokenSymbol);
|
|
3081
3097
|
const styles = {
|
|
3082
|
-
inputAmountWrapper: css(_templateObject$
|
|
3083
|
-
inputAmount: css(_templateObject2$
|
|
3084
|
-
inputField: css(_templateObject3$
|
|
3085
|
-
maxWrapper: css(_templateObject4$
|
|
3086
|
-
maxTitle: css(_templateObject5$
|
|
3087
|
-
max: css(_templateObject6$
|
|
3088
|
-
info: css(_templateObject7$
|
|
3098
|
+
inputAmountWrapper: css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
|
|
3099
|
+
inputAmount: css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
|
|
3100
|
+
inputField: css(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
|
|
3101
|
+
maxWrapper: css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
|
|
3102
|
+
maxTitle: css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
|
|
3103
|
+
max: css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n "]))),
|
|
3104
|
+
info: css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.palette.text.secondary),
|
|
3089
3105
|
subInfo: css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: ", ";\n "])), theme.spacing(6))
|
|
3090
3106
|
};
|
|
3091
3107
|
const onChange = event => {
|
|
@@ -3102,6 +3118,9 @@ function InputAmountModal(_ref) {
|
|
|
3102
3118
|
if (!isEmpty(maxAmount) && Number(currentAmount) > Number(maxAmount)) {
|
|
3103
3119
|
return true;
|
|
3104
3120
|
}
|
|
3121
|
+
if (!isEmpty(minimumAmount) && Number(currentAmount) < minimumAmount) {
|
|
3122
|
+
return true;
|
|
3123
|
+
}
|
|
3105
3124
|
return false;
|
|
3106
3125
|
};
|
|
3107
3126
|
const getEndAdornment = () => jsxs(Box, {
|
|
@@ -3143,6 +3162,11 @@ function InputAmountModal(_ref) {
|
|
|
3143
3162
|
css: styles.info,
|
|
3144
3163
|
children: info
|
|
3145
3164
|
}, info))
|
|
3165
|
+
}), !!minimumAmount && minimumAmount > 0 && jsx(Box, {
|
|
3166
|
+
children: jsxs(Typography, {
|
|
3167
|
+
css: styles.info,
|
|
3168
|
+
children: ["Minimum deposit: ", minimumAmount, " ", tokenSymbol]
|
|
3169
|
+
}, 'minDeposit')
|
|
3146
3170
|
}), jsx(BottomButton, {
|
|
3147
3171
|
variant: "contained",
|
|
3148
3172
|
onClick: handleAction,
|
|
@@ -3152,7 +3176,7 @@ function InputAmountModal(_ref) {
|
|
|
3152
3176
|
});
|
|
3153
3177
|
}
|
|
3154
3178
|
|
|
3155
|
-
function ChooseAmount$
|
|
3179
|
+
function ChooseAmount$e(_ref) {
|
|
3156
3180
|
let {
|
|
3157
3181
|
poolInfo,
|
|
3158
3182
|
poolUnderlyingToken,
|
|
@@ -3205,7 +3229,7 @@ function ChooseAmount$b(_ref) {
|
|
|
3205
3229
|
});
|
|
3206
3230
|
}
|
|
3207
3231
|
|
|
3208
|
-
function ApproveAllowance$
|
|
3232
|
+
function ApproveAllowance$a(_ref) {
|
|
3209
3233
|
let {
|
|
3210
3234
|
poolInfo,
|
|
3211
3235
|
poolUnderlyingToken
|
|
@@ -3263,7 +3287,7 @@ function TxSendModalV2(_ref) {
|
|
|
3263
3287
|
});
|
|
3264
3288
|
}
|
|
3265
3289
|
|
|
3266
|
-
function Transfer$
|
|
3290
|
+
function Transfer$h(_ref) {
|
|
3267
3291
|
let {
|
|
3268
3292
|
poolInfo
|
|
3269
3293
|
} = _ref;
|
|
@@ -3297,7 +3321,7 @@ function Transfer$e(_ref) {
|
|
|
3297
3321
|
});
|
|
3298
3322
|
}
|
|
3299
3323
|
|
|
3300
|
-
function Success$
|
|
3324
|
+
function Success$c(_ref) {
|
|
3301
3325
|
let {
|
|
3302
3326
|
poolUnderlyingToken,
|
|
3303
3327
|
creditRecord,
|
|
@@ -3394,16 +3418,16 @@ function CreditLineBorrowV2(_ref) {
|
|
|
3394
3418
|
handleSuccess: handleSuccessCallback,
|
|
3395
3419
|
children: [!step && jsx(LoadingModal, {
|
|
3396
3420
|
title: "Borrow"
|
|
3397
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
3421
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$e, {
|
|
3398
3422
|
poolInfo: poolInfo,
|
|
3399
3423
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3400
3424
|
accountStats: accountStats
|
|
3401
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
3425
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$a, {
|
|
3402
3426
|
poolInfo: poolInfo,
|
|
3403
3427
|
poolUnderlyingToken: poolUnderlyingToken
|
|
3404
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
3428
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$h, {
|
|
3405
3429
|
poolInfo: poolInfo
|
|
3406
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
3430
|
+
}), step === WIDGET_STEP.Done && jsx(Success$c, {
|
|
3407
3431
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3408
3432
|
handleAction: setupNotificationsOrClose,
|
|
3409
3433
|
creditRecord: accountStats.creditRecord,
|
|
@@ -3418,7 +3442,7 @@ function CreditLineBorrowV2(_ref) {
|
|
|
3418
3442
|
});
|
|
3419
3443
|
}
|
|
3420
3444
|
|
|
3421
|
-
function ChooseAmount$
|
|
3445
|
+
function ChooseAmount$d(_ref) {
|
|
3422
3446
|
let {
|
|
3423
3447
|
payoffAmount,
|
|
3424
3448
|
totalDueAmount,
|
|
@@ -3469,7 +3493,7 @@ function ChooseAmount$a(_ref) {
|
|
|
3469
3493
|
});
|
|
3470
3494
|
}
|
|
3471
3495
|
|
|
3472
|
-
function ApproveAllowance$
|
|
3496
|
+
function ApproveAllowance$9(_ref) {
|
|
3473
3497
|
let {
|
|
3474
3498
|
poolInfo
|
|
3475
3499
|
} = _ref;
|
|
@@ -3483,7 +3507,7 @@ function ApproveAllowance$8(_ref) {
|
|
|
3483
3507
|
});
|
|
3484
3508
|
}
|
|
3485
3509
|
|
|
3486
|
-
function Transfer$
|
|
3510
|
+
function Transfer$g(_ref) {
|
|
3487
3511
|
let {
|
|
3488
3512
|
poolInfo
|
|
3489
3513
|
} = _ref;
|
|
@@ -3509,7 +3533,7 @@ function Transfer$d(_ref) {
|
|
|
3509
3533
|
});
|
|
3510
3534
|
}
|
|
3511
3535
|
|
|
3512
|
-
function Success$
|
|
3536
|
+
function Success$b(_ref) {
|
|
3513
3537
|
let {
|
|
3514
3538
|
poolInfo,
|
|
3515
3539
|
handleAction
|
|
@@ -3575,15 +3599,15 @@ function CreditLinePayment(_ref) {
|
|
|
3575
3599
|
loadingTitle: "Make Payment",
|
|
3576
3600
|
handleClose: handleClose,
|
|
3577
3601
|
handleSuccess: handleSuccess,
|
|
3578
|
-
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
3602
|
+
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$d, {
|
|
3579
3603
|
poolInfo: poolInfo,
|
|
3580
3604
|
payoffAmount: payoffAmount,
|
|
3581
3605
|
totalDueAmount: totalDueAmount
|
|
3582
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
3606
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$9, {
|
|
3583
3607
|
poolInfo: poolInfo
|
|
3584
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
3608
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$g, {
|
|
3585
3609
|
poolInfo: poolInfo
|
|
3586
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
3610
|
+
}), step === WIDGET_STEP.Done && jsx(Success$b, {
|
|
3587
3611
|
poolInfo: poolInfo,
|
|
3588
3612
|
handleAction: handleClose
|
|
3589
3613
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
@@ -3594,7 +3618,7 @@ function CreditLinePayment(_ref) {
|
|
|
3594
3618
|
});
|
|
3595
3619
|
}
|
|
3596
3620
|
|
|
3597
|
-
function ChooseAmount$
|
|
3621
|
+
function ChooseAmount$c(_ref) {
|
|
3598
3622
|
let {
|
|
3599
3623
|
payoffAmount: payoffAmountBN,
|
|
3600
3624
|
totalDueAmount: totalDueAmountBN,
|
|
@@ -3655,7 +3679,7 @@ function ChooseAmount$9(_ref) {
|
|
|
3655
3679
|
});
|
|
3656
3680
|
}
|
|
3657
3681
|
|
|
3658
|
-
function ApproveAllowance$
|
|
3682
|
+
function ApproveAllowance$8(_ref) {
|
|
3659
3683
|
let {
|
|
3660
3684
|
poolInfo,
|
|
3661
3685
|
poolUnderlyingToken
|
|
@@ -3673,7 +3697,7 @@ function ApproveAllowance$7(_ref) {
|
|
|
3673
3697
|
});
|
|
3674
3698
|
}
|
|
3675
3699
|
|
|
3676
|
-
function Transfer$
|
|
3700
|
+
function Transfer$f(_ref) {
|
|
3677
3701
|
let {
|
|
3678
3702
|
poolInfo,
|
|
3679
3703
|
poolUnderlyingToken
|
|
@@ -3708,7 +3732,7 @@ function Transfer$c(_ref) {
|
|
|
3708
3732
|
});
|
|
3709
3733
|
}
|
|
3710
3734
|
|
|
3711
|
-
function Success$
|
|
3735
|
+
function Success$a(_ref) {
|
|
3712
3736
|
let {
|
|
3713
3737
|
poolUnderlyingToken,
|
|
3714
3738
|
handleAction
|
|
@@ -3779,18 +3803,18 @@ function CreditLinePaymentV2(_ref) {
|
|
|
3779
3803
|
loadingTitle: "Pay",
|
|
3780
3804
|
handleClose: handleClose,
|
|
3781
3805
|
handleSuccess: handleSuccess,
|
|
3782
|
-
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
3806
|
+
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$c, {
|
|
3783
3807
|
poolInfo: poolInfo,
|
|
3784
3808
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3785
3809
|
payoffAmount: payoffAmount,
|
|
3786
3810
|
totalDueAmount: totalDueAmount
|
|
3787
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
3811
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$8, {
|
|
3788
3812
|
poolInfo: poolInfo,
|
|
3789
3813
|
poolUnderlyingToken: poolUnderlyingToken
|
|
3790
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
3814
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$f, {
|
|
3791
3815
|
poolInfo: poolInfo,
|
|
3792
3816
|
poolUnderlyingToken: poolUnderlyingToken
|
|
3793
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
3817
|
+
}), step === WIDGET_STEP.Done && jsx(Success$a, {
|
|
3794
3818
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3795
3819
|
handleAction: handleClose
|
|
3796
3820
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
@@ -3801,7 +3825,7 @@ function CreditLinePaymentV2(_ref) {
|
|
|
3801
3825
|
});
|
|
3802
3826
|
}
|
|
3803
3827
|
|
|
3804
|
-
function ApproveAllowance$
|
|
3828
|
+
function ApproveAllowance$7(_ref) {
|
|
3805
3829
|
let {
|
|
3806
3830
|
poolInfo,
|
|
3807
3831
|
poolUnderlyingToken,
|
|
@@ -3820,7 +3844,7 @@ function ApproveAllowance$6(_ref) {
|
|
|
3820
3844
|
});
|
|
3821
3845
|
}
|
|
3822
3846
|
|
|
3823
|
-
function Success$
|
|
3847
|
+
function Success$9(_ref) {
|
|
3824
3848
|
let {
|
|
3825
3849
|
amountToDeposit,
|
|
3826
3850
|
poolUnderlyingToken,
|
|
@@ -3838,7 +3862,7 @@ function Success$8(_ref) {
|
|
|
3838
3862
|
});
|
|
3839
3863
|
}
|
|
3840
3864
|
|
|
3841
|
-
function Transfer$
|
|
3865
|
+
function Transfer$e(_ref) {
|
|
3842
3866
|
let {
|
|
3843
3867
|
poolInfo,
|
|
3844
3868
|
amountToDeposit,
|
|
@@ -3915,15 +3939,15 @@ function SupplyFirstLossCover(_ref) {
|
|
|
3915
3939
|
loadingTitle: title,
|
|
3916
3940
|
handleClose: handleClose,
|
|
3917
3941
|
handleSuccess: handleSuccess,
|
|
3918
|
-
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
3942
|
+
children: [step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$7, {
|
|
3919
3943
|
poolInfo: poolInfo,
|
|
3920
3944
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3921
3945
|
amountToDeposit: minAmountToDeposit
|
|
3922
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
3946
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$e, {
|
|
3923
3947
|
poolInfo: poolInfo,
|
|
3924
3948
|
amountToDeposit: minAmountToDeposit,
|
|
3925
3949
|
title: title
|
|
3926
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
3950
|
+
}), step === WIDGET_STEP.Done && jsx(Success$9, {
|
|
3927
3951
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
3928
3952
|
handleAction: handleClose,
|
|
3929
3953
|
amountToDeposit: minAmountToDeposit
|
|
@@ -3972,7 +3996,7 @@ function Evaluation$3(_ref) {
|
|
|
3972
3996
|
});
|
|
3973
3997
|
}
|
|
3974
3998
|
|
|
3975
|
-
function ChooseAmount$
|
|
3999
|
+
function ChooseAmount$b(_ref) {
|
|
3976
4000
|
var _receivable;
|
|
3977
4001
|
let {
|
|
3978
4002
|
poolInfo,
|
|
@@ -4037,7 +4061,7 @@ function ChooseAmount$8(_ref) {
|
|
|
4037
4061
|
});
|
|
4038
4062
|
}
|
|
4039
4063
|
|
|
4040
|
-
var _templateObject$
|
|
4064
|
+
var _templateObject$j, _templateObject2$h, _templateObject3$e, _templateObject4$6, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8, _templateObject9, _templateObject10;
|
|
4041
4065
|
function ConfirmTransferModal(_ref) {
|
|
4042
4066
|
let {
|
|
4043
4067
|
title,
|
|
@@ -4048,13 +4072,13 @@ function ConfirmTransferModal(_ref) {
|
|
|
4048
4072
|
} = _ref;
|
|
4049
4073
|
const theme = useTheme();
|
|
4050
4074
|
const styles = {
|
|
4051
|
-
wrapper: css(_templateObject$
|
|
4052
|
-
header: css(_templateObject2$
|
|
4053
|
-
description: css(_templateObject3$
|
|
4054
|
-
transferWrapper: css(_templateObject4$
|
|
4055
|
-
transfer: css(_templateObject5$
|
|
4056
|
-
transferItem: css(_templateObject6$
|
|
4057
|
-
arrow: css(_templateObject7$
|
|
4075
|
+
wrapper: css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
|
|
4076
|
+
header: css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
4077
|
+
description: css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
|
|
4078
|
+
transferWrapper: css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
|
|
4079
|
+
transfer: css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
|
|
4080
|
+
transferItem: css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
|
|
4081
|
+
arrow: css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n @keyframes bounceAlpha {\n 0% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n 25% {\n opacity: 0;\n transform: translateX(10px) scale(0.9);\n }\n 26% {\n opacity: 0;\n transform: translateX(-10px) scale(0.9);\n }\n 55% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n }\n animation-name: bounceAlpha;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n color: ", ";\n position: absolute;\n margin: auto;\n top: 0;\n left: calc(15% + 36px);\n bottom: 0;\n right: 0;\n width: 16px;\n height: 16px;\n "])), theme.palette.primary.main),
|
|
4058
4082
|
arrowFirst: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n left: calc(15% + 20px);\n animation-delay: 0.2s;\n "]))),
|
|
4059
4083
|
okButton: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
|
|
4060
4084
|
usdcIcon: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n width: 22px;\n margin-right: ", ";\n & > path:first-of-type {\n fill: #76707e;\n }\n "])), theme.spacing(2))
|
|
@@ -4177,7 +4201,7 @@ function ApproveNFT(_ref) {
|
|
|
4177
4201
|
});
|
|
4178
4202
|
}
|
|
4179
4203
|
|
|
4180
|
-
function Transfer$
|
|
4204
|
+
function Transfer$d(_ref) {
|
|
4181
4205
|
let {
|
|
4182
4206
|
poolInfo,
|
|
4183
4207
|
tokenId
|
|
@@ -4202,7 +4226,7 @@ function Transfer$a(_ref) {
|
|
|
4202
4226
|
});
|
|
4203
4227
|
}
|
|
4204
4228
|
|
|
4205
|
-
function Success$
|
|
4229
|
+
function Success$8(_ref) {
|
|
4206
4230
|
let {
|
|
4207
4231
|
handleAction
|
|
4208
4232
|
} = _ref;
|
|
@@ -4253,16 +4277,16 @@ function InvoiceFactoringBorrow(_ref) {
|
|
|
4253
4277
|
children: [step === WIDGET_STEP.Evaluation && jsx(Evaluation$3, {
|
|
4254
4278
|
poolInfo: poolInfo,
|
|
4255
4279
|
tokenId: tokenId.toString()
|
|
4256
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
4280
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$b, {
|
|
4257
4281
|
poolInfo: poolInfo,
|
|
4258
4282
|
accountStats: accountStats
|
|
4259
4283
|
}), step === WIDGET_STEP.ConfirmTransfer && jsx(ConfirmTransfer$2, {}), step === WIDGET_STEP.ApproveNFT && jsx(ApproveNFT, {
|
|
4260
4284
|
poolInfo: poolInfo,
|
|
4261
4285
|
tokenId: tokenId.toString()
|
|
4262
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
4286
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$d, {
|
|
4263
4287
|
poolInfo: poolInfo,
|
|
4264
4288
|
tokenId: tokenId.toString()
|
|
4265
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
4289
|
+
}), step === WIDGET_STEP.Done && jsx(Success$8, {
|
|
4266
4290
|
handleAction: handleClose
|
|
4267
4291
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
4268
4292
|
title: "Invoice Factoring",
|
|
@@ -4272,7 +4296,7 @@ function InvoiceFactoringBorrow(_ref) {
|
|
|
4272
4296
|
});
|
|
4273
4297
|
}
|
|
4274
4298
|
|
|
4275
|
-
function ChooseAmount$
|
|
4299
|
+
function ChooseAmount$a(_ref) {
|
|
4276
4300
|
let {
|
|
4277
4301
|
creditRecord,
|
|
4278
4302
|
poolInfo
|
|
@@ -4323,7 +4347,7 @@ function ChooseAmount$7(_ref) {
|
|
|
4323
4347
|
});
|
|
4324
4348
|
}
|
|
4325
4349
|
|
|
4326
|
-
function ApproveAllowance$
|
|
4350
|
+
function ApproveAllowance$6(_ref) {
|
|
4327
4351
|
let {
|
|
4328
4352
|
poolInfo
|
|
4329
4353
|
} = _ref;
|
|
@@ -4337,7 +4361,7 @@ function ApproveAllowance$5(_ref) {
|
|
|
4337
4361
|
});
|
|
4338
4362
|
}
|
|
4339
4363
|
|
|
4340
|
-
function Transfer$
|
|
4364
|
+
function Transfer$c(_ref) {
|
|
4341
4365
|
let {
|
|
4342
4366
|
poolInfo
|
|
4343
4367
|
} = _ref;
|
|
@@ -4363,7 +4387,7 @@ function Transfer$9(_ref) {
|
|
|
4363
4387
|
});
|
|
4364
4388
|
}
|
|
4365
4389
|
|
|
4366
|
-
function Success$
|
|
4390
|
+
function Success$7(_ref) {
|
|
4367
4391
|
let {
|
|
4368
4392
|
poolInfo,
|
|
4369
4393
|
handleAction
|
|
@@ -4417,14 +4441,14 @@ function InvoiceFactoringPayment(_ref) {
|
|
|
4417
4441
|
loadingTitle: "Make Payment",
|
|
4418
4442
|
handleClose: handleClose,
|
|
4419
4443
|
handleSuccess: handleSuccess,
|
|
4420
|
-
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
4444
|
+
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$a, {
|
|
4421
4445
|
creditRecord: creditRecord,
|
|
4422
4446
|
poolInfo: poolInfo
|
|
4423
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
4447
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$6, {
|
|
4424
4448
|
poolInfo: poolInfo
|
|
4425
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
4449
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$c, {
|
|
4426
4450
|
poolInfo: poolInfo
|
|
4427
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
4451
|
+
}), step === WIDGET_STEP.Done && jsx(Success$7, {
|
|
4428
4452
|
poolInfo: poolInfo,
|
|
4429
4453
|
handleAction: handleClose
|
|
4430
4454
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
@@ -4435,8 +4459,8 @@ function InvoiceFactoringPayment(_ref) {
|
|
|
4435
4459
|
});
|
|
4436
4460
|
}
|
|
4437
4461
|
|
|
4438
|
-
var _templateObject$
|
|
4439
|
-
function ChooseTranche$
|
|
4462
|
+
var _templateObject$i, _templateObject2$g, _templateObject3$d;
|
|
4463
|
+
function ChooseTranche$4(_ref) {
|
|
4440
4464
|
let {
|
|
4441
4465
|
selectedTranche,
|
|
4442
4466
|
changeTranche
|
|
@@ -4444,9 +4468,9 @@ function ChooseTranche$1(_ref) {
|
|
|
4444
4468
|
const theme = useTheme();
|
|
4445
4469
|
const dispatch = useAppDispatch();
|
|
4446
4470
|
const styles = {
|
|
4447
|
-
subTitle: css(_templateObject$
|
|
4448
|
-
radioGroup: css(_templateObject2$
|
|
4449
|
-
formControl: css(_templateObject3$
|
|
4471
|
+
subTitle: css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
4472
|
+
radioGroup: css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
4473
|
+
formControl: css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
4450
4474
|
};
|
|
4451
4475
|
const handleNext = () => {
|
|
4452
4476
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -4491,7 +4515,7 @@ function ChooseTranche$1(_ref) {
|
|
|
4491
4515
|
});
|
|
4492
4516
|
}
|
|
4493
4517
|
|
|
4494
|
-
function ChooseAmount$
|
|
4518
|
+
function ChooseAmount$9(_ref) {
|
|
4495
4519
|
let {
|
|
4496
4520
|
poolInfo,
|
|
4497
4521
|
poolUnderlyingToken,
|
|
@@ -4556,7 +4580,7 @@ function ChooseAmount$6(_ref) {
|
|
|
4556
4580
|
});
|
|
4557
4581
|
}
|
|
4558
4582
|
|
|
4559
|
-
function Transfer$
|
|
4583
|
+
function Transfer$b(_ref) {
|
|
4560
4584
|
let {
|
|
4561
4585
|
poolInfo,
|
|
4562
4586
|
poolUnderlyingToken,
|
|
@@ -4589,7 +4613,7 @@ function Transfer$8(_ref) {
|
|
|
4589
4613
|
});
|
|
4590
4614
|
}
|
|
4591
4615
|
|
|
4592
|
-
function Done$
|
|
4616
|
+
function Done$4(_ref) {
|
|
4593
4617
|
let {
|
|
4594
4618
|
handleAction
|
|
4595
4619
|
} = _ref;
|
|
@@ -4699,18 +4723,18 @@ function AddRedemptionV2(_ref) {
|
|
|
4699
4723
|
loadingTitle: title,
|
|
4700
4724
|
handleClose: handleClose,
|
|
4701
4725
|
handleSuccess: handleRedeemSuccess,
|
|
4702
|
-
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$
|
|
4726
|
+
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$4, {
|
|
4703
4727
|
selectedTranche: trancheInfo === null || trancheInfo === void 0 ? void 0 : trancheInfo.tranche,
|
|
4704
4728
|
changeTranche: handleChangeTranche
|
|
4705
|
-
}), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsx(ChooseAmount$
|
|
4729
|
+
}), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsx(ChooseAmount$9, {
|
|
4706
4730
|
poolInfo: poolInfo,
|
|
4707
4731
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
4708
4732
|
trancheInfo: trancheInfo
|
|
4709
|
-
}), step === WIDGET_STEP.Transfer && trancheInfo && jsx(Transfer$
|
|
4733
|
+
}), step === WIDGET_STEP.Transfer && trancheInfo && jsx(Transfer$b, {
|
|
4710
4734
|
poolInfo: poolInfo,
|
|
4711
4735
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
4712
4736
|
trancheInfo: trancheInfo
|
|
4713
|
-
}), step === WIDGET_STEP.Done && trancheInfo && jsx(Done$
|
|
4737
|
+
}), step === WIDGET_STEP.Done && trancheInfo && jsx(Done$4, {
|
|
4714
4738
|
handleAction: handleClose
|
|
4715
4739
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
4716
4740
|
title: title,
|
|
@@ -4721,7 +4745,7 @@ function AddRedemptionV2(_ref) {
|
|
|
4721
4745
|
});
|
|
4722
4746
|
}
|
|
4723
4747
|
|
|
4724
|
-
function Transfer$
|
|
4748
|
+
function Transfer$a(_ref) {
|
|
4725
4749
|
let {
|
|
4726
4750
|
poolInfo,
|
|
4727
4751
|
trancheType,
|
|
@@ -4747,7 +4771,7 @@ function Transfer$7(_ref) {
|
|
|
4747
4771
|
});
|
|
4748
4772
|
}
|
|
4749
4773
|
|
|
4750
|
-
function Done$
|
|
4774
|
+
function Done$3(_ref) {
|
|
4751
4775
|
let {
|
|
4752
4776
|
poolUnderlyingToken,
|
|
4753
4777
|
redemptionInfo,
|
|
@@ -4808,11 +4832,11 @@ function CancelRedemptionV2(_ref) {
|
|
|
4808
4832
|
loadingTitle: title,
|
|
4809
4833
|
handleClose: handleClose,
|
|
4810
4834
|
handleSuccess: handleRedeemSuccess,
|
|
4811
|
-
children: [step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
4835
|
+
children: [step === WIDGET_STEP.Transfer && jsx(Transfer$a, {
|
|
4812
4836
|
poolInfo: poolInfo,
|
|
4813
4837
|
trancheType: trancheType,
|
|
4814
4838
|
redemptionInfo: redemptionInfo
|
|
4815
|
-
}), step === WIDGET_STEP.Done && jsx(Done$
|
|
4839
|
+
}), step === WIDGET_STEP.Done && jsx(Done$3, {
|
|
4816
4840
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
4817
4841
|
handleAction: handleClose,
|
|
4818
4842
|
redemptionInfo: redemptionInfo
|
|
@@ -4825,7 +4849,7 @@ function CancelRedemptionV2(_ref) {
|
|
|
4825
4849
|
});
|
|
4826
4850
|
}
|
|
4827
4851
|
|
|
4828
|
-
var _templateObject$
|
|
4852
|
+
var _templateObject$h, _templateObject2$f;
|
|
4829
4853
|
function EvaluationEA(_ref) {
|
|
4830
4854
|
let {
|
|
4831
4855
|
poolInfo,
|
|
@@ -4839,8 +4863,8 @@ function EvaluationEA(_ref) {
|
|
|
4839
4863
|
} = useWeb3React();
|
|
4840
4864
|
const [loading, setLoading] = useState(false);
|
|
4841
4865
|
const styles = {
|
|
4842
|
-
iconWrapper: css(_templateObject$
|
|
4843
|
-
description: css(_templateObject2$
|
|
4866
|
+
iconWrapper: css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
|
|
4867
|
+
description: css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
|
|
4844
4868
|
};
|
|
4845
4869
|
const approveLender = async () => {
|
|
4846
4870
|
if (account) {
|
|
@@ -4935,7 +4959,7 @@ function HumaSnackBar(_ref2) {
|
|
|
4935
4959
|
});
|
|
4936
4960
|
}
|
|
4937
4961
|
|
|
4938
|
-
var _templateObject$
|
|
4962
|
+
var _templateObject$g, _templateObject2$e;
|
|
4939
4963
|
const KYCProvider = 'Securitize';
|
|
4940
4964
|
// TODO: Add copies for the other pools. Currently only the Jia pool is using the KYC process.
|
|
4941
4965
|
const JiaPoolCopies = {
|
|
@@ -5001,8 +5025,8 @@ function EvaluationKYC(_ref) {
|
|
|
5001
5025
|
const docSignatureCompleted = docSignatureStatus === 'completed';
|
|
5002
5026
|
const [openSnackBar, setOpenSnackBar] = useState(false);
|
|
5003
5027
|
const styles = {
|
|
5004
|
-
iconWrapper: css(_templateObject$
|
|
5005
|
-
description: css(_templateObject2$
|
|
5028
|
+
iconWrapper: css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
|
|
5029
|
+
description: css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
|
|
5006
5030
|
};
|
|
5007
5031
|
const {
|
|
5008
5032
|
envelopeKey,
|
|
@@ -5214,7 +5238,7 @@ function Evaluation$2(_ref) {
|
|
|
5214
5238
|
});
|
|
5215
5239
|
}
|
|
5216
5240
|
|
|
5217
|
-
function ChooseAmount$
|
|
5241
|
+
function ChooseAmount$8(_ref) {
|
|
5218
5242
|
let {
|
|
5219
5243
|
allowance,
|
|
5220
5244
|
withdrawlLockoutSeconds,
|
|
@@ -5257,7 +5281,7 @@ function ChooseAmount$5(_ref) {
|
|
|
5257
5281
|
});
|
|
5258
5282
|
}
|
|
5259
5283
|
|
|
5260
|
-
function ApproveAllowance$
|
|
5284
|
+
function ApproveAllowance$5(_ref) {
|
|
5261
5285
|
let {
|
|
5262
5286
|
poolInfo
|
|
5263
5287
|
} = _ref;
|
|
@@ -5271,7 +5295,7 @@ function ApproveAllowance$4(_ref) {
|
|
|
5271
5295
|
});
|
|
5272
5296
|
}
|
|
5273
5297
|
|
|
5274
|
-
function Transfer$
|
|
5298
|
+
function Transfer$9(_ref) {
|
|
5275
5299
|
let {
|
|
5276
5300
|
poolInfo
|
|
5277
5301
|
} = _ref;
|
|
@@ -5294,7 +5318,7 @@ function Transfer$6(_ref) {
|
|
|
5294
5318
|
});
|
|
5295
5319
|
}
|
|
5296
5320
|
|
|
5297
|
-
function Success$
|
|
5321
|
+
function Success$6(_ref) {
|
|
5298
5322
|
let {
|
|
5299
5323
|
poolInfo,
|
|
5300
5324
|
handleAction,
|
|
@@ -5421,16 +5445,16 @@ function LendSupply(_ref) {
|
|
|
5421
5445
|
poolInfo: poolInfo,
|
|
5422
5446
|
handleClose: handleClose,
|
|
5423
5447
|
handleApproveSuccess: handleApproveSuccess
|
|
5424
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
5448
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$8, {
|
|
5425
5449
|
poolInfo: poolInfo,
|
|
5426
5450
|
allowance: allowance,
|
|
5427
5451
|
underlyingTokenBalance: balanceWithoutDecimals,
|
|
5428
5452
|
withdrawlLockoutSeconds: withdrawlLockoutSeconds
|
|
5429
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
5453
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$5, {
|
|
5430
5454
|
poolInfo: poolInfo
|
|
5431
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
5455
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$9, {
|
|
5432
5456
|
poolInfo: poolInfo
|
|
5433
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
5457
|
+
}), step === WIDGET_STEP.Done && jsx(Success$6, {
|
|
5434
5458
|
poolInfo: poolInfo,
|
|
5435
5459
|
handleAction: setupNotificationsOrClose,
|
|
5436
5460
|
hasNextStep: isFirstTimeNotifiUser
|
|
@@ -5445,8 +5469,8 @@ function LendSupply(_ref) {
|
|
|
5445
5469
|
});
|
|
5446
5470
|
}
|
|
5447
5471
|
|
|
5448
|
-
var _templateObject$
|
|
5449
|
-
function ChooseTranche(_ref) {
|
|
5472
|
+
var _templateObject$f, _templateObject2$d, _templateObject3$c;
|
|
5473
|
+
function ChooseTranche$3(_ref) {
|
|
5450
5474
|
let {
|
|
5451
5475
|
poolUnderlyingToken,
|
|
5452
5476
|
selectedTranche,
|
|
@@ -5455,9 +5479,9 @@ function ChooseTranche(_ref) {
|
|
|
5455
5479
|
const theme = useTheme();
|
|
5456
5480
|
const dispatch = useAppDispatch();
|
|
5457
5481
|
const styles = {
|
|
5458
|
-
subTitle: css(_templateObject$
|
|
5459
|
-
radioGroup: css(_templateObject2$
|
|
5460
|
-
formControl: css(_templateObject3$
|
|
5482
|
+
subTitle: css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
5483
|
+
radioGroup: css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
5484
|
+
formControl: css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
5461
5485
|
};
|
|
5462
5486
|
const handleNext = () => {
|
|
5463
5487
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -5507,7 +5531,7 @@ function ChooseTranche(_ref) {
|
|
|
5507
5531
|
});
|
|
5508
5532
|
}
|
|
5509
5533
|
|
|
5510
|
-
var _templateObject$
|
|
5534
|
+
var _templateObject$e, _templateObject2$c, _templateObject3$b;
|
|
5511
5535
|
function PersonaEvaluation(_ref) {
|
|
5512
5536
|
let {
|
|
5513
5537
|
poolInfo,
|
|
@@ -5773,9 +5797,9 @@ function PersonaEvaluation(_ref) {
|
|
|
5773
5797
|
}
|
|
5774
5798
|
};
|
|
5775
5799
|
const styles = {
|
|
5776
|
-
iconWrapper: css(_templateObject$
|
|
5777
|
-
description: css(_templateObject2$
|
|
5778
|
-
points: css(_templateObject3$
|
|
5800
|
+
iconWrapper: css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
|
|
5801
|
+
description: css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
|
|
5802
|
+
points: css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
|
|
5779
5803
|
};
|
|
5780
5804
|
if (!loadingType) {
|
|
5781
5805
|
return jsxs(WrapperModal, {
|
|
@@ -5807,7 +5831,7 @@ function PersonaEvaluation(_ref) {
|
|
|
5807
5831
|
});
|
|
5808
5832
|
}
|
|
5809
5833
|
|
|
5810
|
-
var _templateObject$
|
|
5834
|
+
var _templateObject$d, _templateObject2$b;
|
|
5811
5835
|
const LoadingCopiesByType = {
|
|
5812
5836
|
verificationStatus: {
|
|
5813
5837
|
description: "Checking your verification status..."
|
|
@@ -6012,8 +6036,8 @@ function SecuritizeEvaluation(_ref) {
|
|
|
6012
6036
|
onClose: () => setOpenSnackBar(false)
|
|
6013
6037
|
});
|
|
6014
6038
|
const styles = {
|
|
6015
|
-
iconWrapper: css(_templateObject$
|
|
6016
|
-
description: css(_templateObject2$
|
|
6039
|
+
iconWrapper: css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
|
|
6040
|
+
description: css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
|
|
6017
6041
|
};
|
|
6018
6042
|
if (!loadingType) {
|
|
6019
6043
|
return jsxs(WrapperModal, {
|
|
@@ -6069,7 +6093,7 @@ function Evaluation$1(_ref) {
|
|
|
6069
6093
|
return null;
|
|
6070
6094
|
}
|
|
6071
6095
|
|
|
6072
|
-
function ChooseAmount$
|
|
6096
|
+
function ChooseAmount$7(_ref) {
|
|
6073
6097
|
let {
|
|
6074
6098
|
poolInfo,
|
|
6075
6099
|
lpConfig,
|
|
@@ -6152,7 +6176,7 @@ function ChooseAmount$4(_ref) {
|
|
|
6152
6176
|
});
|
|
6153
6177
|
}
|
|
6154
6178
|
|
|
6155
|
-
function ApproveAllowance$
|
|
6179
|
+
function ApproveAllowance$4(_ref) {
|
|
6156
6180
|
let {
|
|
6157
6181
|
poolInfo
|
|
6158
6182
|
} = _ref;
|
|
@@ -6169,7 +6193,7 @@ function ApproveAllowance$3(_ref) {
|
|
|
6169
6193
|
});
|
|
6170
6194
|
}
|
|
6171
6195
|
|
|
6172
|
-
function Transfer$
|
|
6196
|
+
function Transfer$8(_ref) {
|
|
6173
6197
|
let {
|
|
6174
6198
|
poolInfo,
|
|
6175
6199
|
trancheType
|
|
@@ -6201,7 +6225,7 @@ function Transfer$5(_ref) {
|
|
|
6201
6225
|
});
|
|
6202
6226
|
}
|
|
6203
6227
|
|
|
6204
|
-
function Success$
|
|
6228
|
+
function Success$5(_ref) {
|
|
6205
6229
|
let {
|
|
6206
6230
|
poolInfo,
|
|
6207
6231
|
lpConfig,
|
|
@@ -6299,7 +6323,7 @@ function Notifications$1(_ref) {
|
|
|
6299
6323
|
});
|
|
6300
6324
|
}
|
|
6301
6325
|
|
|
6302
|
-
var _templateObject$
|
|
6326
|
+
var _templateObject$c, _templateObject2$a, _templateObject3$a, _templateObject4$5, _templateObject5$1, _templateObject6$1, _templateObject7$1;
|
|
6303
6327
|
var STATE = /*#__PURE__*/function (STATE) {
|
|
6304
6328
|
STATE["Loading"] = "Loading";
|
|
6305
6329
|
STATE["SignIn"] = "SignIn";
|
|
@@ -6387,13 +6411,13 @@ function PointsEarned(_ref) {
|
|
|
6387
6411
|
handleAction();
|
|
6388
6412
|
}, [dispatch, handleAction, reset]);
|
|
6389
6413
|
const styles = {
|
|
6390
|
-
wrapper: css(_templateObject$
|
|
6391
|
-
congrats: css(_templateObject2$
|
|
6392
|
-
ribbon: css(_templateObject3$
|
|
6393
|
-
ribbonContent: css(_templateObject4$
|
|
6394
|
-
entirePoints: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
|
|
6395
|
-
entirePointsDetails: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
|
|
6396
|
-
everyday: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
|
|
6414
|
+
wrapper: css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
6415
|
+
congrats: css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
|
|
6416
|
+
ribbon: css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
|
|
6417
|
+
ribbonContent: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
|
|
6418
|
+
entirePoints: css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
|
|
6419
|
+
entirePointsDetails: css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
|
|
6420
|
+
everyday: css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
|
|
6397
6421
|
};
|
|
6398
6422
|
if (state === STATE.SignIn) {
|
|
6399
6423
|
return jsx(SignIn, {
|
|
@@ -6524,7 +6548,7 @@ function LendSupplyV2(_ref) {
|
|
|
6524
6548
|
loadingTitle: "Supply ".concat(poolUnderlyingToken.symbol),
|
|
6525
6549
|
handleClose: handleClose,
|
|
6526
6550
|
handleSuccess: handleSuccess,
|
|
6527
|
-
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche, {
|
|
6551
|
+
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$3, {
|
|
6528
6552
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
6529
6553
|
selectedTranche: selectedTranche,
|
|
6530
6554
|
changeTranche: setSelectedTranche
|
|
@@ -6535,19 +6559,19 @@ function LendSupplyV2(_ref) {
|
|
|
6535
6559
|
changeTranche: setSelectedTranche,
|
|
6536
6560
|
pointsTestnetExperience: pointsTestnetExperience,
|
|
6537
6561
|
campaign: campaign
|
|
6538
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
6562
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$7, {
|
|
6539
6563
|
poolInfo: poolInfo,
|
|
6540
6564
|
lpConfig: lpConfig,
|
|
6541
6565
|
juniorAssets: juniorAssets,
|
|
6542
6566
|
seniorAssets: seniorAssets,
|
|
6543
6567
|
selectedTranche: selectedTranche,
|
|
6544
6568
|
isUniTranche: isUniTranche
|
|
6545
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
6569
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$4, {
|
|
6546
6570
|
poolInfo: poolInfo
|
|
6547
|
-
}), step === WIDGET_STEP.Transfer && selectedTranche && jsx(Transfer$
|
|
6571
|
+
}), step === WIDGET_STEP.Transfer && selectedTranche && jsx(Transfer$8, {
|
|
6548
6572
|
poolInfo: poolInfo,
|
|
6549
6573
|
trancheType: selectedTranche
|
|
6550
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
6574
|
+
}), step === WIDGET_STEP.Done && jsx(Success$5, {
|
|
6551
6575
|
poolInfo: poolInfo,
|
|
6552
6576
|
lpConfig: lpConfig,
|
|
6553
6577
|
campaign: campaign,
|
|
@@ -6612,7 +6636,7 @@ function CheckWithdrawable(_ref) {
|
|
|
6612
6636
|
});
|
|
6613
6637
|
}
|
|
6614
6638
|
|
|
6615
|
-
function ChooseAmount$
|
|
6639
|
+
function ChooseAmount$6(_ref) {
|
|
6616
6640
|
let {
|
|
6617
6641
|
lenderPosition,
|
|
6618
6642
|
poolBalance,
|
|
@@ -6650,7 +6674,7 @@ function ChooseAmount$3(_ref) {
|
|
|
6650
6674
|
});
|
|
6651
6675
|
}
|
|
6652
6676
|
|
|
6653
|
-
function Transfer$
|
|
6677
|
+
function Transfer$7(_ref) {
|
|
6654
6678
|
let {
|
|
6655
6679
|
poolInfo
|
|
6656
6680
|
} = _ref;
|
|
@@ -6673,7 +6697,7 @@ function Transfer$4(_ref) {
|
|
|
6673
6697
|
});
|
|
6674
6698
|
}
|
|
6675
6699
|
|
|
6676
|
-
function Success$
|
|
6700
|
+
function Success$4(_ref) {
|
|
6677
6701
|
let {
|
|
6678
6702
|
poolInfo,
|
|
6679
6703
|
handleAction
|
|
@@ -6763,13 +6787,13 @@ function LendWithdraw(_ref) {
|
|
|
6763
6787
|
children: [step === WIDGET_STEP.CheckWithdrawable && jsx(CheckWithdrawable, {
|
|
6764
6788
|
poolInfo: poolInfo,
|
|
6765
6789
|
handleClose: handleClose
|
|
6766
|
-
}), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsx(ChooseAmount$
|
|
6790
|
+
}), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsx(ChooseAmount$6, {
|
|
6767
6791
|
poolInfo: poolInfo,
|
|
6768
6792
|
lenderPosition: lenderPosition,
|
|
6769
6793
|
poolBalance: poolBalance
|
|
6770
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
6794
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$7, {
|
|
6771
6795
|
poolInfo: poolInfo
|
|
6772
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
6796
|
+
}), step === WIDGET_STEP.Done && jsx(Success$4, {
|
|
6773
6797
|
poolInfo: poolInfo,
|
|
6774
6798
|
handleAction: handleClose
|
|
6775
6799
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
@@ -6781,7 +6805,7 @@ function LendWithdraw(_ref) {
|
|
|
6781
6805
|
});
|
|
6782
6806
|
}
|
|
6783
6807
|
|
|
6784
|
-
var _templateObject$
|
|
6808
|
+
var _templateObject$b, _templateObject2$9, _templateObject3$9, _templateObject4$4;
|
|
6785
6809
|
function ConfirmTransfer$1(_ref) {
|
|
6786
6810
|
let {
|
|
6787
6811
|
poolInfo,
|
|
@@ -6823,10 +6847,10 @@ function ConfirmTransfer$1(_ref) {
|
|
|
6823
6847
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
6824
6848
|
};
|
|
6825
6849
|
const styles = {
|
|
6826
|
-
itemWrapper: css(_templateObject$
|
|
6827
|
-
item: css(_templateObject2$
|
|
6828
|
-
itemValue: css(_templateObject3$
|
|
6829
|
-
divider: css(_templateObject4$
|
|
6850
|
+
itemWrapper: css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
|
|
6851
|
+
item: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
|
|
6852
|
+
itemValue: css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
|
|
6853
|
+
divider: css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
|
|
6830
6854
|
};
|
|
6831
6855
|
return jsxs(WrapperModal, {
|
|
6832
6856
|
title: "Withdraw ".concat(symbol),
|
|
@@ -6870,7 +6894,7 @@ function ConfirmTransfer$1(_ref) {
|
|
|
6870
6894
|
});
|
|
6871
6895
|
}
|
|
6872
6896
|
|
|
6873
|
-
function Transfer$
|
|
6897
|
+
function Transfer$6(_ref) {
|
|
6874
6898
|
let {
|
|
6875
6899
|
poolInfo,
|
|
6876
6900
|
tranche,
|
|
@@ -6896,7 +6920,7 @@ function Transfer$3(_ref) {
|
|
|
6896
6920
|
});
|
|
6897
6921
|
}
|
|
6898
6922
|
|
|
6899
|
-
function Done(_ref) {
|
|
6923
|
+
function Done$2(_ref) {
|
|
6900
6924
|
let {
|
|
6901
6925
|
poolUnderlyingToken,
|
|
6902
6926
|
withdrawAmount,
|
|
@@ -6996,11 +7020,11 @@ function LendWithdrawV2(_ref) {
|
|
|
6996
7020
|
redemptionStatus: redemptionStatus,
|
|
6997
7021
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
6998
7022
|
poolIsClosed: poolIsClosed
|
|
6999
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer$
|
|
7023
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$6, {
|
|
7000
7024
|
poolInfo: poolInfo,
|
|
7001
7025
|
tranche: trancheType,
|
|
7002
7026
|
poolIsClosed: poolIsClosed
|
|
7003
|
-
}), step === WIDGET_STEP.Done && jsx(Done, {
|
|
7027
|
+
}), step === WIDGET_STEP.Done && jsx(Done$2, {
|
|
7004
7028
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7005
7029
|
withdrawAmount: redemptionStatus.withdrawableAssets,
|
|
7006
7030
|
handleAction: handleClose
|
|
@@ -7013,7 +7037,7 @@ function LendWithdrawV2(_ref) {
|
|
|
7013
7037
|
});
|
|
7014
7038
|
}
|
|
7015
7039
|
|
|
7016
|
-
function ChooseAmount$
|
|
7040
|
+
function ChooseAmount$5(_ref) {
|
|
7017
7041
|
let {
|
|
7018
7042
|
poolInfo,
|
|
7019
7043
|
poolUnderlyingToken,
|
|
@@ -7077,7 +7101,7 @@ function ChooseAmount$2(_ref) {
|
|
|
7077
7101
|
});
|
|
7078
7102
|
}
|
|
7079
7103
|
|
|
7080
|
-
function ApproveAllowance$
|
|
7104
|
+
function ApproveAllowance$3(_ref) {
|
|
7081
7105
|
let {
|
|
7082
7106
|
poolInfo,
|
|
7083
7107
|
poolUnderlyingToken
|
|
@@ -7136,7 +7160,7 @@ function ApproveReceivable$1(_ref) {
|
|
|
7136
7160
|
});
|
|
7137
7161
|
}
|
|
7138
7162
|
|
|
7139
|
-
function Transfer$
|
|
7163
|
+
function Transfer$5(_ref) {
|
|
7140
7164
|
let {
|
|
7141
7165
|
poolInfo,
|
|
7142
7166
|
tokenId
|
|
@@ -7181,7 +7205,7 @@ function Transfer$2(_ref) {
|
|
|
7181
7205
|
});
|
|
7182
7206
|
}
|
|
7183
7207
|
|
|
7184
|
-
function Success$
|
|
7208
|
+
function Success$3(_ref) {
|
|
7185
7209
|
let {
|
|
7186
7210
|
poolUnderlyingToken,
|
|
7187
7211
|
creditRecord,
|
|
@@ -7277,21 +7301,21 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
|
|
|
7277
7301
|
loadingTitle: "Borrow",
|
|
7278
7302
|
handleClose: handleClose,
|
|
7279
7303
|
handleSuccess: handleSuccessCallback,
|
|
7280
|
-
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$
|
|
7304
|
+
children: [step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$5, {
|
|
7281
7305
|
poolInfo: poolInfo,
|
|
7282
7306
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7283
7307
|
accountStats: accountStats,
|
|
7284
7308
|
tokenId: tokenId
|
|
7285
|
-
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$
|
|
7309
|
+
}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$3, {
|
|
7286
7310
|
poolInfo: poolInfo,
|
|
7287
7311
|
poolUnderlyingToken: poolUnderlyingToken
|
|
7288
7312
|
}), step === WIDGET_STEP.ApproveNFT && tokenId && jsx(ApproveReceivable$1, {
|
|
7289
7313
|
poolInfo: poolInfo,
|
|
7290
7314
|
tokenId: tokenId
|
|
7291
|
-
}), step === WIDGET_STEP.Transfer && tokenId && jsx(Transfer$
|
|
7315
|
+
}), step === WIDGET_STEP.Transfer && tokenId && jsx(Transfer$5, {
|
|
7292
7316
|
poolInfo: poolInfo,
|
|
7293
7317
|
tokenId: tokenId
|
|
7294
|
-
}), step === WIDGET_STEP.Done && jsx(Success$
|
|
7318
|
+
}), step === WIDGET_STEP.Done && jsx(Success$3, {
|
|
7295
7319
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7296
7320
|
handleAction: setupNotificationsOrClose,
|
|
7297
7321
|
creditRecord: accountStats.creditRecord,
|
|
@@ -7306,7 +7330,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
|
|
|
7306
7330
|
});
|
|
7307
7331
|
}
|
|
7308
7332
|
|
|
7309
|
-
var _templateObject$
|
|
7333
|
+
var _templateObject$a, _templateObject2$8, _templateObject3$8;
|
|
7310
7334
|
function ChoosePaymentType(_ref) {
|
|
7311
7335
|
let {
|
|
7312
7336
|
paymentType,
|
|
@@ -7315,9 +7339,9 @@ function ChoosePaymentType(_ref) {
|
|
|
7315
7339
|
const theme = useTheme();
|
|
7316
7340
|
const dispatch = useAppDispatch();
|
|
7317
7341
|
const styles = {
|
|
7318
|
-
subTitle: css(_templateObject$
|
|
7319
|
-
radioGroup: css(_templateObject2$
|
|
7320
|
-
formControl: css(_templateObject3$
|
|
7342
|
+
subTitle: css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
7343
|
+
radioGroup: css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
7344
|
+
formControl: css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
7321
7345
|
};
|
|
7322
7346
|
const handleNext = () => {
|
|
7323
7347
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -7362,7 +7386,7 @@ function ChoosePaymentType(_ref) {
|
|
|
7362
7386
|
});
|
|
7363
7387
|
}
|
|
7364
7388
|
|
|
7365
|
-
function ChooseAmount$
|
|
7389
|
+
function ChooseAmount$4(_ref) {
|
|
7366
7390
|
let {
|
|
7367
7391
|
payoffAmount: payoffAmountBN,
|
|
7368
7392
|
poolInfo,
|
|
@@ -7416,7 +7440,7 @@ function ChooseAmount$1(_ref) {
|
|
|
7416
7440
|
});
|
|
7417
7441
|
}
|
|
7418
7442
|
|
|
7419
|
-
function ApproveAllowance$
|
|
7443
|
+
function ApproveAllowance$2(_ref) {
|
|
7420
7444
|
let {
|
|
7421
7445
|
poolInfo,
|
|
7422
7446
|
poolUnderlyingToken,
|
|
@@ -7544,7 +7568,7 @@ function ApproveReceivable(_ref) {
|
|
|
7544
7568
|
});
|
|
7545
7569
|
}
|
|
7546
7570
|
|
|
7547
|
-
function Transfer$
|
|
7571
|
+
function Transfer$4(_ref) {
|
|
7548
7572
|
let {
|
|
7549
7573
|
poolInfo,
|
|
7550
7574
|
poolUnderlyingToken,
|
|
@@ -7602,7 +7626,7 @@ function Transfer$1(_ref) {
|
|
|
7602
7626
|
});
|
|
7603
7627
|
}
|
|
7604
7628
|
|
|
7605
|
-
function Success$
|
|
7629
|
+
function Success$2(_ref) {
|
|
7606
7630
|
let {
|
|
7607
7631
|
poolUnderlyingToken,
|
|
7608
7632
|
paymentType,
|
|
@@ -7695,12 +7719,12 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
|
|
|
7695
7719
|
children: [step === WIDGET_STEP.ChoosePaymentType && jsx(ChoosePaymentType, {
|
|
7696
7720
|
paymentType: paymentType,
|
|
7697
7721
|
changePaymentType: setPaymentType
|
|
7698
|
-
}), step === WIDGET_STEP.ChooseAmount && paymentType && jsx(ChooseAmount$
|
|
7722
|
+
}), step === WIDGET_STEP.ChooseAmount && paymentType && jsx(ChooseAmount$4, {
|
|
7699
7723
|
poolInfo: poolInfo,
|
|
7700
7724
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7701
7725
|
payoffAmount: payoffAmount,
|
|
7702
7726
|
paymentType: paymentType
|
|
7703
|
-
}), step === WIDGET_STEP.ApproveAllowance && paymentType && jsx(ApproveAllowance$
|
|
7727
|
+
}), step === WIDGET_STEP.ApproveAllowance && paymentType && jsx(ApproveAllowance$2, {
|
|
7704
7728
|
poolInfo: poolInfo,
|
|
7705
7729
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7706
7730
|
paymentType: paymentType
|
|
@@ -7711,14 +7735,14 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
|
|
|
7711
7735
|
}), step === WIDGET_STEP.ApproveNFT && borrowTokenId && jsx(ApproveReceivable, {
|
|
7712
7736
|
poolInfo: poolInfo,
|
|
7713
7737
|
tokenId: borrowTokenId
|
|
7714
|
-
}), step === WIDGET_STEP.Transfer && paymentType && jsx(Transfer$
|
|
7738
|
+
}), step === WIDGET_STEP.Transfer && paymentType && jsx(Transfer$4, {
|
|
7715
7739
|
poolInfo: poolInfo,
|
|
7716
7740
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7717
7741
|
paymentType: paymentType,
|
|
7718
7742
|
paymentTokenId: tokenId,
|
|
7719
7743
|
borrowTokenId: borrowTokenId,
|
|
7720
7744
|
setSuccessTxReceipt: setSuccessTxReceipt
|
|
7721
|
-
}), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsx(Success$
|
|
7745
|
+
}), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsx(Success$2, {
|
|
7722
7746
|
poolUnderlyingToken: poolUnderlyingToken,
|
|
7723
7747
|
paymentType: paymentType,
|
|
7724
7748
|
handleAction: handleClose,
|
|
@@ -7758,7 +7782,7 @@ const useElementDimensions = ref => {
|
|
|
7758
7782
|
return dimensions;
|
|
7759
7783
|
};
|
|
7760
7784
|
|
|
7761
|
-
var _templateObject$
|
|
7785
|
+
var _templateObject$9, _templateObject2$7, _templateObject3$7;
|
|
7762
7786
|
// @TODO: Move HumaTable along with Superfluid widget to Dapp package
|
|
7763
7787
|
function HumaTable(_ref) {
|
|
7764
7788
|
let {
|
|
@@ -7777,9 +7801,9 @@ function HumaTable(_ref) {
|
|
|
7777
7801
|
} = useElementDimensions(ref);
|
|
7778
7802
|
const isLoading = !columns || !rows;
|
|
7779
7803
|
const styles = {
|
|
7780
|
-
tableHeader: css(_templateObject$
|
|
7781
|
-
tableBody: css(_templateObject2$
|
|
7782
|
-
empty: css(_templateObject3$
|
|
7804
|
+
tableHeader: css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "])), theme.cssMixins.rowVCentered),
|
|
7805
|
+
tableBody: css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "]))),
|
|
7806
|
+
empty: css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: ", ";\n font-weight: 400;\n font-size: 14px;\n "])), theme.spacing(2))
|
|
7783
7807
|
};
|
|
7784
7808
|
const handleChangePage = (event, newPage) => {
|
|
7785
7809
|
setPage(newPage);
|
|
@@ -7906,8 +7930,8 @@ function HumaTable(_ref) {
|
|
|
7906
7930
|
});
|
|
7907
7931
|
}
|
|
7908
7932
|
|
|
7909
|
-
var _templateObject$
|
|
7910
|
-
const GET_ACTIVITY = gql(_templateObject$
|
|
7933
|
+
var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$3;
|
|
7934
|
+
const GET_ACTIVITY = gql(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n query GetCreditLineActivity($pool: String!, $owner: String!, $event: [Int]!) {\n creditEvents(\n where: { pool: $pool, owner: $owner, event_in: $event }\n orderBy: timestamp\n orderDirection: desc\n ) {\n id\n amount\n timestamp\n owner\n pool\n event\n }\n }\n"])));
|
|
7911
7935
|
const columns = [{
|
|
7912
7936
|
title: 'Action',
|
|
7913
7937
|
dataIndex: 'eventText'
|
|
@@ -7968,9 +7992,9 @@ function Activity(_ref) {
|
|
|
7968
7992
|
setEvents(result);
|
|
7969
7993
|
}, [data === null || data === void 0 ? void 0 : data.creditEvents, decimals]);
|
|
7970
7994
|
const styles = {
|
|
7971
|
-
wrapper: css(_templateObject2$
|
|
7972
|
-
title: css(_templateObject3$
|
|
7973
|
-
tableWrapper: css(_templateObject4$
|
|
7995
|
+
wrapper: css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
|
|
7996
|
+
title: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n font-weight: 800;\n font-size: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
|
|
7997
|
+
tableWrapper: css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);\n border-radius: 24px;\n padding: ", ";\n "])), getPadding())
|
|
7974
7998
|
};
|
|
7975
7999
|
return jsxs(Box, {
|
|
7976
8000
|
css: styles.wrapper,
|
|
@@ -8041,7 +8065,7 @@ function Evaluation(_ref) {
|
|
|
8041
8065
|
});
|
|
8042
8066
|
}
|
|
8043
8067
|
|
|
8044
|
-
function ChooseAmount(_ref) {
|
|
8068
|
+
function ChooseAmount$3(_ref) {
|
|
8045
8069
|
var _poolInfo$extra;
|
|
8046
8070
|
let {
|
|
8047
8071
|
poolInfo,
|
|
@@ -8155,7 +8179,7 @@ function ConfirmTransfer() {
|
|
|
8155
8179
|
});
|
|
8156
8180
|
}
|
|
8157
8181
|
|
|
8158
|
-
function ApproveAllowance(_ref) {
|
|
8182
|
+
function ApproveAllowance$1(_ref) {
|
|
8159
8183
|
let {
|
|
8160
8184
|
poolInfo
|
|
8161
8185
|
} = _ref;
|
|
@@ -8227,7 +8251,7 @@ function Permit(_ref) {
|
|
|
8227
8251
|
});
|
|
8228
8252
|
}
|
|
8229
8253
|
|
|
8230
|
-
function Transfer(_ref) {
|
|
8254
|
+
function Transfer$3(_ref) {
|
|
8231
8255
|
let {
|
|
8232
8256
|
poolInfo
|
|
8233
8257
|
} = _ref;
|
|
@@ -8256,7 +8280,7 @@ function Transfer(_ref) {
|
|
|
8256
8280
|
});
|
|
8257
8281
|
}
|
|
8258
8282
|
|
|
8259
|
-
function Success(_ref) {
|
|
8283
|
+
function Success$1(_ref) {
|
|
8260
8284
|
let {
|
|
8261
8285
|
handleAction
|
|
8262
8286
|
} = _ref;
|
|
@@ -8306,19 +8330,19 @@ function StreamFactoringBorrow(_ref) {
|
|
|
8306
8330
|
poolInfo: poolInfo,
|
|
8307
8331
|
payerAddress: payerAddress,
|
|
8308
8332
|
superToken: superToken
|
|
8309
|
-
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount, {
|
|
8333
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$3, {
|
|
8310
8334
|
poolInfo: poolInfo,
|
|
8311
8335
|
currentFlowRate: currentFlowRate
|
|
8312
|
-
}), step === WIDGET_STEP.ConfirmTransfer && jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance, {
|
|
8336
|
+
}), step === WIDGET_STEP.ConfirmTransfer && jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsx(ApproveAllowance$1, {
|
|
8313
8337
|
poolInfo: poolInfo
|
|
8314
8338
|
}), step === WIDGET_STEP.Permit && account && jsx(Permit, {
|
|
8315
8339
|
poolInfo: poolInfo,
|
|
8316
8340
|
payerAddress: payerAddress,
|
|
8317
8341
|
borrower: account,
|
|
8318
8342
|
superToken: superToken
|
|
8319
|
-
}), step === WIDGET_STEP.Transfer && jsx(Transfer, {
|
|
8343
|
+
}), step === WIDGET_STEP.Transfer && jsx(Transfer$3, {
|
|
8320
8344
|
poolInfo: poolInfo
|
|
8321
|
-
}), step === WIDGET_STEP.Done && jsx(Success, {
|
|
8345
|
+
}), step === WIDGET_STEP.Done && jsx(Success$1, {
|
|
8322
8346
|
handleAction: handleClose
|
|
8323
8347
|
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
8324
8348
|
title: "Stream Borrowing",
|
|
@@ -8328,7 +8352,7 @@ function StreamFactoringBorrow(_ref) {
|
|
|
8328
8352
|
});
|
|
8329
8353
|
}
|
|
8330
8354
|
|
|
8331
|
-
var _templateObject$
|
|
8355
|
+
var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$2;
|
|
8332
8356
|
function UpcomingList(_ref) {
|
|
8333
8357
|
let {
|
|
8334
8358
|
items,
|
|
@@ -8354,10 +8378,10 @@ function UpcomingList(_ref) {
|
|
|
8354
8378
|
return theme.spacing(0, 2, 2, 2);
|
|
8355
8379
|
};
|
|
8356
8380
|
const styles = {
|
|
8357
|
-
title: css(_templateObject$
|
|
8358
|
-
description: css(_templateObject2$
|
|
8359
|
-
tableWrapper: css(_templateObject3$
|
|
8360
|
-
progress: css(_templateObject4$
|
|
8381
|
+
title: css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
|
|
8382
|
+
description: css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
|
|
8383
|
+
tableWrapper: css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
|
|
8384
|
+
progress: css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
|
|
8361
8385
|
};
|
|
8362
8386
|
return jsxs(Box, {
|
|
8363
8387
|
children: [jsx(Box, {
|
|
@@ -8386,7 +8410,7 @@ function UpcomingList(_ref) {
|
|
|
8386
8410
|
});
|
|
8387
8411
|
}
|
|
8388
8412
|
|
|
8389
|
-
var _templateObject$
|
|
8413
|
+
var _templateObject$6, _templateObject2$4, _templateObject3$4, _templateObject4$1;
|
|
8390
8414
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
8391
8415
|
var _ref2$1 = process.env.NODE_ENV === "production" ? {
|
|
8392
8416
|
name: "1llo5fb",
|
|
@@ -8464,10 +8488,10 @@ function FactoredList(_ref) {
|
|
|
8464
8488
|
return theme.spacing(0, 2, 2, 2);
|
|
8465
8489
|
};
|
|
8466
8490
|
const styles = {
|
|
8467
|
-
title: css(_templateObject$
|
|
8468
|
-
description: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
|
|
8469
|
-
tableWrapper: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
|
|
8470
|
-
progress: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
|
|
8491
|
+
title: css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
|
|
8492
|
+
description: css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
|
|
8493
|
+
tableWrapper: css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
|
|
8494
|
+
progress: css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
|
|
8471
8495
|
};
|
|
8472
8496
|
return jsxs(Box, {
|
|
8473
8497
|
children: [jsxs(Box, {
|
|
@@ -8544,7 +8568,7 @@ function SuperfluidFactoredList(_ref) {
|
|
|
8544
8568
|
});
|
|
8545
8569
|
}
|
|
8546
8570
|
|
|
8547
|
-
var _templateObject$
|
|
8571
|
+
var _templateObject$5;
|
|
8548
8572
|
function TableActionButton(_ref) {
|
|
8549
8573
|
let {
|
|
8550
8574
|
title,
|
|
@@ -8552,7 +8576,7 @@ function TableActionButton(_ref) {
|
|
|
8552
8576
|
handleClick,
|
|
8553
8577
|
disabled = false
|
|
8554
8578
|
} = _ref;
|
|
8555
|
-
const styles = css(_templateObject$
|
|
8579
|
+
const styles = css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n border: none;\n padding: 0;\n background: ", ";\n &:hover {\n border: none;\n }\n "])), disabled ? 'unset !important' : 'inherit');
|
|
8556
8580
|
return jsx(Button, {
|
|
8557
8581
|
className: className,
|
|
8558
8582
|
variant: disabled ? undefined : 'outlined',
|
|
@@ -8565,9 +8589,9 @@ function TableActionButton(_ref) {
|
|
|
8565
8589
|
});
|
|
8566
8590
|
}
|
|
8567
8591
|
|
|
8568
|
-
var _templateObject;
|
|
8592
|
+
var _templateObject$4;
|
|
8569
8593
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
8570
|
-
const GET_RECEIVED_STREAMS = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {\n streams(\n where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }\n orderBy: updatedAtTimestamp\n orderDirection: desc\n ) {\n id\n currentFlowRate\n sender {\n id\n }\n token {\n id\n symbol\n decimals\n }\n }\n }\n"])));
|
|
8594
|
+
const GET_RECEIVED_STREAMS = gql(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {\n streams(\n where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }\n orderBy: updatedAtTimestamp\n orderDirection: desc\n ) {\n id\n currentFlowRate\n sender {\n id\n }\n token {\n id\n symbol\n decimals\n }\n }\n }\n"])));
|
|
8571
8595
|
const getUpcomingColumns = (userHasActiveLoan, handleGetPaid) => [{
|
|
8572
8596
|
title: '',
|
|
8573
8597
|
dataIndex: 'icon',
|
|
@@ -9214,10 +9238,1102 @@ const themeHuma = createTheme(themeBase, {
|
|
|
9214
9238
|
components: components(themeBase)
|
|
9215
9239
|
});
|
|
9216
9240
|
|
|
9217
|
-
|
|
9241
|
+
var _templateObject$3, _templateObject2$3, _templateObject3$3;
|
|
9242
|
+
function ChooseTranche$2(_ref) {
|
|
9243
|
+
let {
|
|
9244
|
+
poolUnderlyingToken,
|
|
9245
|
+
selectedTranche,
|
|
9246
|
+
changeTranche
|
|
9247
|
+
} = _ref;
|
|
9248
|
+
const theme = useTheme();
|
|
9249
|
+
const dispatch = useAppDispatch();
|
|
9250
|
+
const styles = {
|
|
9251
|
+
subTitle: css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
9252
|
+
radioGroup: css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
9253
|
+
formControl: css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
9254
|
+
};
|
|
9255
|
+
const handleNext = () => {
|
|
9256
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9257
|
+
};
|
|
9258
|
+
const items = [{
|
|
9259
|
+
label: 'Senior',
|
|
9260
|
+
value: 'senior'
|
|
9261
|
+
}, {
|
|
9262
|
+
label: 'Junior',
|
|
9263
|
+
value: 'junior'
|
|
9264
|
+
}];
|
|
9265
|
+
return jsxs(WrapperModal, {
|
|
9266
|
+
title: "Supply ".concat(poolUnderlyingToken.symbol),
|
|
9267
|
+
children: [jsxs(FormControl, {
|
|
9268
|
+
children: [jsx(FormLabel, {
|
|
9269
|
+
css: styles.subTitle,
|
|
9270
|
+
children: "Select Tranche Type"
|
|
9271
|
+
}), jsx(RadioGroup, {
|
|
9272
|
+
"aria-labelledby": "buttons-group-label",
|
|
9273
|
+
name: "radio-buttons-group",
|
|
9274
|
+
css: styles.radioGroup,
|
|
9275
|
+
onChange: e => changeTranche(e.target.value),
|
|
9276
|
+
children: items.map(item => jsx(FormControlLabel, {
|
|
9277
|
+
value: item.value,
|
|
9278
|
+
control: jsx(Radio, {
|
|
9279
|
+
sx: {
|
|
9280
|
+
'& .MuiSvgIcon-root': {
|
|
9281
|
+
fontSize: 24
|
|
9282
|
+
}
|
|
9283
|
+
}
|
|
9284
|
+
}),
|
|
9285
|
+
label: item.label,
|
|
9286
|
+
css: styles.formControl
|
|
9287
|
+
}, item.label))
|
|
9288
|
+
})]
|
|
9289
|
+
}), jsx(BottomButton, {
|
|
9290
|
+
variant: "contained",
|
|
9291
|
+
disabled: !selectedTranche,
|
|
9292
|
+
onClick: handleNext,
|
|
9293
|
+
children: "NEXT"
|
|
9294
|
+
})]
|
|
9295
|
+
});
|
|
9296
|
+
}
|
|
9297
|
+
|
|
9298
|
+
function ChooseAmount$2(_ref) {
|
|
9299
|
+
let {
|
|
9300
|
+
poolInfo,
|
|
9301
|
+
poolState,
|
|
9302
|
+
tokenAccount,
|
|
9303
|
+
selectedTranche,
|
|
9304
|
+
isUniTranche
|
|
9305
|
+
} = _ref;
|
|
9306
|
+
const dispatch = useAppDispatch();
|
|
9218
9307
|
const {
|
|
9219
|
-
|
|
9220
|
-
|
|
9308
|
+
symbol,
|
|
9309
|
+
decimals
|
|
9310
|
+
} = poolInfo.underlyingMint;
|
|
9311
|
+
const [currentAmount, setCurrentAmount] = useState(0);
|
|
9312
|
+
const balance = useMemo(() => new BN(tokenAccount.amount), [tokenAccount.amount]);
|
|
9313
|
+
const {
|
|
9314
|
+
juniorAvailableCapBN,
|
|
9315
|
+
seniorAvailableCapBN
|
|
9316
|
+
} = useMemo(() => {
|
|
9317
|
+
const {
|
|
9318
|
+
maxSeniorJuniorRatio,
|
|
9319
|
+
liquidityCap,
|
|
9320
|
+
seniorTrancheAssets,
|
|
9321
|
+
juniorTrancheAssets
|
|
9322
|
+
} = poolState;
|
|
9323
|
+
const juniorTrancheAssetsBN = new BN(juniorTrancheAssets);
|
|
9324
|
+
const seniorTrancheAssetsBN = new BN(seniorTrancheAssets);
|
|
9325
|
+
const totalDeployedBN = seniorTrancheAssetsBN.add(juniorTrancheAssetsBN);
|
|
9326
|
+
const totalAvailableCapBN = new BN(liquidityCap).sub(totalDeployedBN);
|
|
9327
|
+
const maxSeniorAssetsBN = juniorTrancheAssetsBN.muln(maxSeniorJuniorRatio);
|
|
9328
|
+
let seniorAvailableCapBN = maxSeniorAssetsBN.sub(seniorTrancheAssetsBN);
|
|
9329
|
+
seniorAvailableCapBN = seniorAvailableCapBN.gt(totalAvailableCapBN) ? totalAvailableCapBN : seniorAvailableCapBN;
|
|
9330
|
+
return {
|
|
9331
|
+
juniorAvailableCapBN: totalAvailableCapBN.sub(seniorAvailableCapBN),
|
|
9332
|
+
seniorAvailableCapBN
|
|
9333
|
+
};
|
|
9334
|
+
}, [poolState]);
|
|
9335
|
+
const handleChangeAmount = newAmount => {
|
|
9336
|
+
setCurrentAmount(newAmount);
|
|
9337
|
+
dispatch(setSupplyAmount(Number(newAmount)));
|
|
9338
|
+
};
|
|
9339
|
+
const handleAction = () => {
|
|
9340
|
+
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
9341
|
+
};
|
|
9342
|
+
const getTrancheCap = () => {
|
|
9343
|
+
if (selectedTranche === 'junior') {
|
|
9344
|
+
return juniorAvailableCapBN;
|
|
9345
|
+
}
|
|
9346
|
+
return seniorAvailableCapBN;
|
|
9347
|
+
};
|
|
9348
|
+
const getMinAmount = () => {
|
|
9349
|
+
const minAmount = poolState.minDepositAmount ? SolanaTokenUtils.formatUnits(new BN(poolState.minDepositAmount), decimals) : 0;
|
|
9350
|
+
return Math.max(0, Math.ceil(Number(minAmount)));
|
|
9351
|
+
};
|
|
9352
|
+
const getMaxAmount = () => {
|
|
9353
|
+
const trancheCap = getTrancheCap();
|
|
9354
|
+
return balance.gt(trancheCap) ? trancheCap : balance;
|
|
9355
|
+
};
|
|
9356
|
+
const getInfos = () => {
|
|
9357
|
+
const trancheCap = getTrancheCap();
|
|
9358
|
+
const currentAmountBN = SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
|
|
9359
|
+
const remainingCap = trancheCap.sub(currentAmountBN);
|
|
9360
|
+
if (remainingCap.ltn(0)) {
|
|
9361
|
+
return ['0 remaining capacity'];
|
|
9362
|
+
}
|
|
9363
|
+
return ["".concat(formatNumber(SolanaTokenUtils.formatUnits(remainingCap, decimals)), " remaining capacity")];
|
|
9364
|
+
};
|
|
9365
|
+
return jsx(InputAmountModal, {
|
|
9366
|
+
title: "Enter Amount",
|
|
9367
|
+
subTitle: "Depositing to ".concat(isUniTranche ? 'uni tranche' : selectedTranche, " tranche"),
|
|
9368
|
+
tokenSymbol: symbol,
|
|
9369
|
+
currentAmount: currentAmount,
|
|
9370
|
+
handleChangeAmount: handleChangeAmount,
|
|
9371
|
+
minimumAmount: getMinAmount(),
|
|
9372
|
+
maxAmount: Number(SolanaTokenUtils.formatUnits(getMaxAmount(), decimals)),
|
|
9373
|
+
maxAmountTitle: "".concat(formatNumber(SolanaTokenUtils.formatUnits(balance, decimals)), " balance"),
|
|
9374
|
+
infos: getInfos(),
|
|
9375
|
+
handleAction: handleAction,
|
|
9376
|
+
actionText: "SUPPLY"
|
|
9377
|
+
});
|
|
9378
|
+
}
|
|
9379
|
+
|
|
9380
|
+
function SolanaViewOnExplorer(_ref) {
|
|
9381
|
+
let {
|
|
9382
|
+
chainId,
|
|
9383
|
+
signature
|
|
9384
|
+
} = _ref;
|
|
9385
|
+
const link = getSolanaExplorerUrl(chainId, signature, 'tx');
|
|
9386
|
+
if (!link) {
|
|
9387
|
+
return null;
|
|
9388
|
+
}
|
|
9389
|
+
return jsx(Button, {
|
|
9390
|
+
fullWidth: true,
|
|
9391
|
+
variant: "outlined",
|
|
9392
|
+
onClick: () => openInNewTab(link),
|
|
9393
|
+
children: jsx(Box, {
|
|
9394
|
+
component: "span",
|
|
9395
|
+
children: "VIEW ON EXPLORER"
|
|
9396
|
+
})
|
|
9397
|
+
});
|
|
9398
|
+
}
|
|
9399
|
+
|
|
9400
|
+
function SolanaTxSendModal(_ref) {
|
|
9401
|
+
let {
|
|
9402
|
+
chainId,
|
|
9403
|
+
tx,
|
|
9404
|
+
handleSuccess
|
|
9405
|
+
} = _ref;
|
|
9406
|
+
const dispatch = useAppDispatch();
|
|
9407
|
+
const {
|
|
9408
|
+
sendTransaction
|
|
9409
|
+
} = useWallet();
|
|
9410
|
+
const {
|
|
9411
|
+
connection
|
|
9412
|
+
} = useConnection();
|
|
9413
|
+
const [signature, setSignature] = useState('');
|
|
9414
|
+
useEffect(() => {
|
|
9415
|
+
async function sendTx() {
|
|
9416
|
+
if (!connection || !tx) {
|
|
9417
|
+
return;
|
|
9418
|
+
}
|
|
9419
|
+
try {
|
|
9420
|
+
const latestBlockHash = await connection.getLatestBlockhash();
|
|
9421
|
+
const signature = await sendTransaction(tx, connection);
|
|
9422
|
+
setSignature(signature);
|
|
9423
|
+
dispatch(setSolanaSignature(signature));
|
|
9424
|
+
await connection.confirmTransaction({
|
|
9425
|
+
blockhash: latestBlockHash.blockhash,
|
|
9426
|
+
lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,
|
|
9427
|
+
signature
|
|
9428
|
+
});
|
|
9429
|
+
handleSuccess();
|
|
9430
|
+
} catch (error) {
|
|
9431
|
+
const err = error;
|
|
9432
|
+
dispatch(setError({
|
|
9433
|
+
errorMessage: (err === null || err === void 0 ? void 0 : err.message) || ''
|
|
9434
|
+
}));
|
|
9435
|
+
}
|
|
9436
|
+
}
|
|
9437
|
+
sendTx();
|
|
9438
|
+
}, [connection, dispatch, handleSuccess, sendTransaction, tx]);
|
|
9439
|
+
return jsx(LoadingModal, {
|
|
9440
|
+
title: "Transaction Pending",
|
|
9441
|
+
description: "Waiting for confirmation...",
|
|
9442
|
+
children: jsx(SolanaViewOnExplorer, {
|
|
9443
|
+
chainId: chainId,
|
|
9444
|
+
signature: signature
|
|
9445
|
+
})
|
|
9446
|
+
});
|
|
9447
|
+
}
|
|
9448
|
+
|
|
9449
|
+
function Transfer$2(_ref) {
|
|
9450
|
+
let {
|
|
9451
|
+
poolInfo,
|
|
9452
|
+
selectedTranche
|
|
9453
|
+
} = _ref;
|
|
9454
|
+
const dispatch = useAppDispatch();
|
|
9455
|
+
const {
|
|
9456
|
+
publicKey
|
|
9457
|
+
} = useWallet();
|
|
9458
|
+
const {
|
|
9459
|
+
supplyAmount
|
|
9460
|
+
} = useAppSelector(selectWidgetState);
|
|
9461
|
+
const {
|
|
9462
|
+
decimals
|
|
9463
|
+
} = poolInfo.underlyingMint;
|
|
9464
|
+
const supplyBigNumber = SolanaTokenUtils.parseUnits(String(supplyAmount), decimals);
|
|
9465
|
+
const [transaction, setTransaction] = useState();
|
|
9466
|
+
const program = useHumaProgram(poolInfo.chainId);
|
|
9467
|
+
const handleSuccess = useCallback(() => {
|
|
9468
|
+
dispatch(setStep(WIDGET_STEP.Done));
|
|
9469
|
+
}, [dispatch]);
|
|
9470
|
+
useEffect(() => {
|
|
9471
|
+
async function getTx() {
|
|
9472
|
+
if (!publicKey || transaction) {
|
|
9473
|
+
return;
|
|
9474
|
+
}
|
|
9475
|
+
const {
|
|
9476
|
+
underlyingTokenATA,
|
|
9477
|
+
seniorTrancheATA,
|
|
9478
|
+
juniorTrancheATA
|
|
9479
|
+
} = getTokenAccounts(poolInfo, publicKey);
|
|
9480
|
+
const tx = await program.methods.deposit(supplyBigNumber).accountsPartial({
|
|
9481
|
+
depositor: publicKey,
|
|
9482
|
+
poolConfig: poolInfo.poolConfig,
|
|
9483
|
+
underlyingMint: poolInfo.underlyingMint.address,
|
|
9484
|
+
trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
|
|
9485
|
+
poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
|
|
9486
|
+
depositorUnderlyingToken: underlyingTokenATA,
|
|
9487
|
+
depositorTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
|
|
9488
|
+
humaConfig: poolInfo.humaConfig,
|
|
9489
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID
|
|
9490
|
+
}).transaction();
|
|
9491
|
+
setTransaction(tx);
|
|
9492
|
+
}
|
|
9493
|
+
getTx();
|
|
9494
|
+
}, [poolInfo, program.methods, publicKey, selectedTranche, supplyBigNumber, transaction]);
|
|
9495
|
+
return jsx(SolanaTxSendModal, {
|
|
9496
|
+
tx: transaction,
|
|
9497
|
+
chainId: poolInfo.chainId,
|
|
9498
|
+
handleSuccess: handleSuccess
|
|
9499
|
+
});
|
|
9500
|
+
}
|
|
9501
|
+
|
|
9502
|
+
var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
9503
|
+
function SolanaTxDoneModal(_ref) {
|
|
9504
|
+
let {
|
|
9505
|
+
content,
|
|
9506
|
+
subContent,
|
|
9507
|
+
handleAction,
|
|
9508
|
+
solanaSignature,
|
|
9509
|
+
chainId,
|
|
9510
|
+
buttonText
|
|
9511
|
+
} = _ref;
|
|
9512
|
+
const theme = useTheme();
|
|
9513
|
+
const dispatch = useAppDispatch();
|
|
9514
|
+
const styles = {
|
|
9515
|
+
wrapper: css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
|
|
9516
|
+
header: css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
|
|
9517
|
+
content: css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
|
|
9518
|
+
subContent: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
|
|
9519
|
+
check: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
|
|
9520
|
+
bottomButtonGroup: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
|
|
9521
|
+
bottomButton: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(1))
|
|
9522
|
+
};
|
|
9523
|
+
const handleCloseModal = useCallback(() => {
|
|
9524
|
+
dispatch(resetState());
|
|
9525
|
+
handleAction();
|
|
9526
|
+
}, [dispatch, handleAction]);
|
|
9527
|
+
return jsxs(Box, {
|
|
9528
|
+
css: styles.wrapper,
|
|
9529
|
+
children: [jsx(Typography, {
|
|
9530
|
+
variant: "h6",
|
|
9531
|
+
css: styles.header,
|
|
9532
|
+
children: "Transaction Completed"
|
|
9533
|
+
}), jsx(Box, {
|
|
9534
|
+
css: styles.check,
|
|
9535
|
+
children: jsx(CheckIcon, {})
|
|
9536
|
+
}), jsx(Box, {
|
|
9537
|
+
css: styles.content,
|
|
9538
|
+
children: content.map(item => jsx(Box, {
|
|
9539
|
+
sx: {
|
|
9540
|
+
marginTop: theme.spacing(1)
|
|
9541
|
+
},
|
|
9542
|
+
children: item
|
|
9543
|
+
}, item))
|
|
9544
|
+
}), subContent && jsx(Box, {
|
|
9545
|
+
css: styles.subContent,
|
|
9546
|
+
children: subContent.map(item => jsx(Box, {
|
|
9547
|
+
sx: {
|
|
9548
|
+
marginTop: theme.spacing(1)
|
|
9549
|
+
},
|
|
9550
|
+
children: item
|
|
9551
|
+
}, item))
|
|
9552
|
+
}), jsxs(Box, {
|
|
9553
|
+
css: styles.bottomButtonGroup,
|
|
9554
|
+
children: [solanaSignature && chainId && jsx(SolanaViewOnExplorer, {
|
|
9555
|
+
signature: solanaSignature,
|
|
9556
|
+
chainId: chainId
|
|
9557
|
+
}), jsx(Button, {
|
|
9558
|
+
className: "transaction-done-modal-close-btn",
|
|
9559
|
+
variant: "contained",
|
|
9560
|
+
fullWidth: true,
|
|
9561
|
+
css: styles.bottomButton,
|
|
9562
|
+
onClick: handleCloseModal,
|
|
9563
|
+
children: !buttonText ? 'DONE' : buttonText
|
|
9564
|
+
})]
|
|
9565
|
+
})]
|
|
9566
|
+
});
|
|
9567
|
+
}
|
|
9568
|
+
|
|
9569
|
+
function Success(_ref) {
|
|
9570
|
+
let {
|
|
9571
|
+
poolInfo,
|
|
9572
|
+
poolState,
|
|
9573
|
+
handleAction
|
|
9574
|
+
} = _ref;
|
|
9575
|
+
const {
|
|
9576
|
+
supplyAmount,
|
|
9577
|
+
solanaSignature
|
|
9578
|
+
} = useAppSelector(selectWidgetState);
|
|
9579
|
+
const {
|
|
9580
|
+
symbol
|
|
9581
|
+
} = poolInfo.underlyingMint;
|
|
9582
|
+
const content = ["You successfully supplied ".concat(formatMoney(supplyAmount), " ").concat(symbol, ".")];
|
|
9583
|
+
const getSubContent = () => {
|
|
9584
|
+
const currentTime = moment().add(poolState.withdrawalLockupPeriodDays, 'days');
|
|
9585
|
+
return ["First redemption date: ".concat(timeUtil.timestampToLL(currentTime.unix()), ". You can redeem end of each month after.")];
|
|
9586
|
+
};
|
|
9587
|
+
return jsx(SolanaTxDoneModal, {
|
|
9588
|
+
handleAction: handleAction,
|
|
9589
|
+
content: content,
|
|
9590
|
+
subContent: getSubContent(),
|
|
9591
|
+
chainId: poolInfo.chainId,
|
|
9592
|
+
solanaSignature: solanaSignature,
|
|
9593
|
+
buttonText: "DONE"
|
|
9594
|
+
});
|
|
9595
|
+
}
|
|
9596
|
+
|
|
9597
|
+
function SolanaLendSupply(_ref) {
|
|
9598
|
+
let {
|
|
9599
|
+
poolInfo,
|
|
9600
|
+
poolState,
|
|
9601
|
+
handleClose,
|
|
9602
|
+
handleSuccess
|
|
9603
|
+
} = _ref;
|
|
9604
|
+
const dispatch = useDispatch();
|
|
9605
|
+
const {
|
|
9606
|
+
seniorLenderApproved,
|
|
9607
|
+
juniorLenderApproved,
|
|
9608
|
+
loading: isLoadingLenderAccounts
|
|
9609
|
+
} = useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
|
|
9610
|
+
const [tokenAccount, isLoadingTokenAccount] = useTokenAccount(poolInfo);
|
|
9611
|
+
const {
|
|
9612
|
+
step,
|
|
9613
|
+
errorMessage
|
|
9614
|
+
} = useAppSelector(selectWidgetState);
|
|
9615
|
+
const isUniTranche = poolState.maxSeniorJuniorRatio === 0;
|
|
9616
|
+
const [selectedTranche, setSelectedTranche] = useState();
|
|
9617
|
+
useEffect(() => {
|
|
9618
|
+
if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccount) {
|
|
9619
|
+
if (juniorLenderApproved && !seniorLenderApproved) {
|
|
9620
|
+
setSelectedTranche('junior');
|
|
9621
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9622
|
+
return;
|
|
9623
|
+
}
|
|
9624
|
+
if (seniorLenderApproved && !juniorLenderApproved) {
|
|
9625
|
+
setSelectedTranche('senior');
|
|
9626
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9627
|
+
return;
|
|
9628
|
+
}
|
|
9629
|
+
if (juniorLenderApproved && seniorLenderApproved) {
|
|
9630
|
+
dispatch(setStep(WIDGET_STEP.ChooseTranche));
|
|
9631
|
+
// return
|
|
9632
|
+
}
|
|
9633
|
+
|
|
9634
|
+
// if (poolInfo.supplyLink) {
|
|
9635
|
+
// openInNewTab(poolInfo.supplyLink)
|
|
9636
|
+
// handleClose()
|
|
9637
|
+
// }
|
|
9638
|
+
}
|
|
9639
|
+
}, [dispatch, handleClose, poolInfo, step, isLoadingLenderAccounts, juniorLenderApproved, seniorLenderApproved, isLoadingTokenAccount]);
|
|
9640
|
+
if (isLoadingLenderAccounts || isLoadingTokenAccount) {
|
|
9641
|
+
return jsx(WidgetWrapper, {
|
|
9642
|
+
isOpen: true,
|
|
9643
|
+
isLoading: true,
|
|
9644
|
+
loadingTitle: "Supply",
|
|
9645
|
+
handleClose: handleClose,
|
|
9646
|
+
handleSuccess: handleSuccess
|
|
9647
|
+
});
|
|
9648
|
+
}
|
|
9649
|
+
return jsxs(WidgetWrapper, {
|
|
9650
|
+
isOpen: true,
|
|
9651
|
+
loadingTitle: "Supply ".concat(poolInfo.underlyingMint.symbol),
|
|
9652
|
+
handleClose: handleClose,
|
|
9653
|
+
handleSuccess: handleSuccess,
|
|
9654
|
+
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$2, {
|
|
9655
|
+
poolUnderlyingToken: poolInfo.underlyingMint,
|
|
9656
|
+
selectedTranche: selectedTranche,
|
|
9657
|
+
changeTranche: setSelectedTranche
|
|
9658
|
+
}), step === WIDGET_STEP.ChooseAmount && jsx(ChooseAmount$2, {
|
|
9659
|
+
poolInfo: poolInfo,
|
|
9660
|
+
poolState: poolState,
|
|
9661
|
+
tokenAccount: tokenAccount,
|
|
9662
|
+
selectedTranche: selectedTranche,
|
|
9663
|
+
isUniTranche: isUniTranche
|
|
9664
|
+
}), step === WIDGET_STEP.Transfer && selectedTranche && jsx(Transfer$2, {
|
|
9665
|
+
poolInfo: poolInfo,
|
|
9666
|
+
selectedTranche: selectedTranche
|
|
9667
|
+
}), step === WIDGET_STEP.Done && jsx(Success, {
|
|
9668
|
+
poolInfo: poolInfo,
|
|
9669
|
+
poolState: poolState,
|
|
9670
|
+
handleAction: handleClose
|
|
9671
|
+
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
9672
|
+
title: "Supply",
|
|
9673
|
+
errorReason: "Sorry there was an error",
|
|
9674
|
+
errorMessage: errorMessage,
|
|
9675
|
+
handleOk: handleClose
|
|
9676
|
+
})]
|
|
9677
|
+
});
|
|
9678
|
+
}
|
|
9679
|
+
|
|
9680
|
+
function ChooseAmount$1(_ref) {
|
|
9681
|
+
let {
|
|
9682
|
+
poolInfo,
|
|
9683
|
+
poolState,
|
|
9684
|
+
selectedTranche,
|
|
9685
|
+
lenderState
|
|
9686
|
+
} = _ref;
|
|
9687
|
+
const dispatch = useAppDispatch();
|
|
9688
|
+
const {
|
|
9689
|
+
symbol
|
|
9690
|
+
} = poolInfo.underlyingMint;
|
|
9691
|
+
const [currentAmount, setCurrentAmount] = useState(0);
|
|
9692
|
+
const [currentShares, setCurrentShares] = useState(0);
|
|
9693
|
+
const {
|
|
9694
|
+
mintAccount,
|
|
9695
|
+
loading: isLoadingTrancheMintAccounts
|
|
9696
|
+
} = useTrancheMintAccounts(poolInfo, selectedTranche);
|
|
9697
|
+
const {
|
|
9698
|
+
seniorTokenAccount,
|
|
9699
|
+
juniorTokenAccount,
|
|
9700
|
+
loading: isLoadingTokenAccounts
|
|
9701
|
+
} = useTrancheTokenAccounts(poolInfo);
|
|
9702
|
+
const maxSharesFormatted = useMemo(() => {
|
|
9703
|
+
if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals)) {
|
|
9704
|
+
return 0;
|
|
9705
|
+
}
|
|
9706
|
+
return SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new BN(seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount) : new BN(juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount), mintAccount.decimals);
|
|
9707
|
+
}, [mintAccount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount]);
|
|
9708
|
+
const sharePrice = useMemo(() => {
|
|
9709
|
+
if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals) || !(mintAccount !== null && mintAccount !== void 0 && mintAccount.supply)) {
|
|
9710
|
+
return 0;
|
|
9711
|
+
}
|
|
9712
|
+
const mintSupplyFormatted = Number(SolanaTokenUtils.formatUnits(new BN(mintAccount.supply), mintAccount.decimals));
|
|
9713
|
+
if (mintSupplyFormatted === 0) {
|
|
9714
|
+
return 0;
|
|
9715
|
+
}
|
|
9716
|
+
const seniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets), mintAccount.decimals));
|
|
9717
|
+
if (selectedTranche === 'senior') {
|
|
9718
|
+
return seniorTrancheAssetsFormatted / mintSupplyFormatted;
|
|
9719
|
+
}
|
|
9720
|
+
const juniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets), mintAccount.decimals));
|
|
9721
|
+
return juniorTrancheAssetsFormatted / mintSupplyFormatted;
|
|
9722
|
+
}, [mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals, mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.supply, poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets, poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets, selectedTranche]);
|
|
9723
|
+
useEffect(() => {
|
|
9724
|
+
if (poolState !== null && poolState !== void 0 && poolState.withdrawalLockupPeriodDays && poolState !== null && poolState !== void 0 && poolState.epochEndTime && lenderState) {
|
|
9725
|
+
const SECONDS_IN_A_DAY = 24 * 60 * 60;
|
|
9726
|
+
const lastDepositTime = Number(lenderState.depositRecord.lastDepositTime);
|
|
9727
|
+
const lockupEndTime = lastDepositTime + poolState.withdrawalLockupPeriodDays * SECONDS_IN_A_DAY;
|
|
9728
|
+
if (poolState.epochEndTime < lockupEndTime) {
|
|
9729
|
+
const lockupEndTimeDayjs = dayjs.unix(lockupEndTime).date(1);
|
|
9730
|
+
dispatch(setStep(WIDGET_STEP.Error));
|
|
9731
|
+
dispatch(setError({
|
|
9732
|
+
errorReason: 'Redemption too soon',
|
|
9733
|
+
errorMessage: "Your last deposit was on ".concat(timestampToLL(lastDepositTime), ". You can redeem on ").concat(timestampToLL(lockupEndTimeDayjs.unix()), ".")
|
|
9734
|
+
}));
|
|
9735
|
+
}
|
|
9736
|
+
}
|
|
9737
|
+
}, [dispatch, lenderState, poolState.epochEndTime, poolState.withdrawalLockupPeriodDays]);
|
|
9738
|
+
const handleChangeShares = newShares => {
|
|
9739
|
+
const amount = Number(newShares) * sharePrice;
|
|
9740
|
+
setCurrentShares(Number(newShares));
|
|
9741
|
+
setCurrentAmount(amount);
|
|
9742
|
+
dispatch(setRedeemShares(Number(newShares)));
|
|
9743
|
+
dispatch(setRedeemAmount(amount));
|
|
9744
|
+
};
|
|
9745
|
+
const handleAction = () => {
|
|
9746
|
+
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
9747
|
+
};
|
|
9748
|
+
if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState || (poolState === null || poolState === void 0 ? void 0 : poolState.withdrawalLockupPeriodDays) === undefined ||
|
|
9749
|
+
// withdrawalLockupPeriodDays can be 0
|
|
9750
|
+
!(poolState !== null && poolState !== void 0 && poolState.epochEndTime)) {
|
|
9751
|
+
return jsx(LoadingModal, {
|
|
9752
|
+
title: "Redemption"
|
|
9753
|
+
});
|
|
9754
|
+
}
|
|
9755
|
+
return jsx(InputAmountModal, {
|
|
9756
|
+
title: "Redemption",
|
|
9757
|
+
subTitle: "Enter number of shares to redeem from the ".concat(selectedTranche, " tranche"),
|
|
9758
|
+
tokenSymbol: symbol,
|
|
9759
|
+
currentAmount: currentShares,
|
|
9760
|
+
handleChangeAmount: handleChangeShares,
|
|
9761
|
+
maxAmount: maxSharesFormatted,
|
|
9762
|
+
infos: ["".concat(String(formatNumber(currentAmount)), " ").concat(symbol)],
|
|
9763
|
+
maxAmountTitle: "".concat(formatNumber(maxSharesFormatted), " Shares"),
|
|
9764
|
+
suffix: "Shares",
|
|
9765
|
+
handleAction: handleAction,
|
|
9766
|
+
actionText: "REQUEST"
|
|
9767
|
+
});
|
|
9768
|
+
}
|
|
9769
|
+
|
|
9770
|
+
var _templateObject$1, _templateObject2$1, _templateObject3$1;
|
|
9771
|
+
function ChooseTranche$1(_ref) {
|
|
9772
|
+
let {
|
|
9773
|
+
selectedTranche,
|
|
9774
|
+
changeTranche
|
|
9775
|
+
} = _ref;
|
|
9776
|
+
const theme = useTheme();
|
|
9777
|
+
const dispatch = useAppDispatch();
|
|
9778
|
+
const styles = {
|
|
9779
|
+
subTitle: css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
9780
|
+
radioGroup: css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
9781
|
+
formControl: css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
9782
|
+
};
|
|
9783
|
+
const handleNext = () => {
|
|
9784
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9785
|
+
};
|
|
9786
|
+
const items = [{
|
|
9787
|
+
label: 'Senior',
|
|
9788
|
+
value: 'senior'
|
|
9789
|
+
}, {
|
|
9790
|
+
label: 'Junior',
|
|
9791
|
+
value: 'junior'
|
|
9792
|
+
}];
|
|
9793
|
+
return jsxs(WrapperModal, {
|
|
9794
|
+
title: "Redemption",
|
|
9795
|
+
children: [jsxs(FormControl, {
|
|
9796
|
+
children: [jsx(FormLabel, {
|
|
9797
|
+
css: styles.subTitle,
|
|
9798
|
+
children: "Select Tranche Type"
|
|
9799
|
+
}), jsx(RadioGroup, {
|
|
9800
|
+
"aria-labelledby": "buttons-group-label",
|
|
9801
|
+
name: "radio-buttons-group",
|
|
9802
|
+
css: styles.radioGroup,
|
|
9803
|
+
onChange: e => changeTranche(e.target.value),
|
|
9804
|
+
children: items.map(item => jsx(FormControlLabel, {
|
|
9805
|
+
value: item.value,
|
|
9806
|
+
control: jsx(Radio, {
|
|
9807
|
+
sx: {
|
|
9808
|
+
'& .MuiSvgIcon-root': {
|
|
9809
|
+
fontSize: 24
|
|
9810
|
+
}
|
|
9811
|
+
}
|
|
9812
|
+
}),
|
|
9813
|
+
label: item.label,
|
|
9814
|
+
css: styles.formControl
|
|
9815
|
+
}, item.label))
|
|
9816
|
+
})]
|
|
9817
|
+
}), jsx(BottomButton, {
|
|
9818
|
+
variant: "contained",
|
|
9819
|
+
disabled: !selectedTranche,
|
|
9820
|
+
onClick: handleNext,
|
|
9821
|
+
children: "NEXT"
|
|
9822
|
+
})]
|
|
9823
|
+
});
|
|
9824
|
+
}
|
|
9825
|
+
|
|
9826
|
+
function Done$1(_ref) {
|
|
9827
|
+
let {
|
|
9828
|
+
poolInfo,
|
|
9829
|
+
handleAction
|
|
9830
|
+
} = _ref;
|
|
9831
|
+
const {
|
|
9832
|
+
redeemShares,
|
|
9833
|
+
solanaSignature
|
|
9834
|
+
} = useAppSelector(selectWidgetState);
|
|
9835
|
+
const content = ["".concat(formatNumber(redeemShares), " shares requested for redemption")];
|
|
9836
|
+
return jsx(SolanaTxDoneModal, {
|
|
9837
|
+
handleAction: handleAction,
|
|
9838
|
+
content: content,
|
|
9839
|
+
chainId: poolInfo.chainId,
|
|
9840
|
+
solanaSignature: solanaSignature,
|
|
9841
|
+
buttonText: "DONE"
|
|
9842
|
+
});
|
|
9843
|
+
}
|
|
9844
|
+
|
|
9845
|
+
function Transfer$1(_ref) {
|
|
9846
|
+
let {
|
|
9847
|
+
poolInfo,
|
|
9848
|
+
selectedTranche
|
|
9849
|
+
} = _ref;
|
|
9850
|
+
const dispatch = useAppDispatch();
|
|
9851
|
+
const {
|
|
9852
|
+
publicKey
|
|
9853
|
+
} = useWallet();
|
|
9854
|
+
const {
|
|
9855
|
+
redeemShares
|
|
9856
|
+
} = useAppSelector(selectWidgetState);
|
|
9857
|
+
const {
|
|
9858
|
+
mintAccount
|
|
9859
|
+
} = useTrancheMintAccounts(poolInfo, selectedTranche);
|
|
9860
|
+
const [transaction, setTransaction] = useState();
|
|
9861
|
+
const program = useHumaProgram(poolInfo.chainId);
|
|
9862
|
+
const redeemBN = useMemo(() => {
|
|
9863
|
+
if (!mintAccount) {
|
|
9864
|
+
return null;
|
|
9865
|
+
}
|
|
9866
|
+
return SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals);
|
|
9867
|
+
}, [mintAccount, redeemShares]);
|
|
9868
|
+
const handleSuccess = useCallback(() => {
|
|
9869
|
+
dispatch(setStep(WIDGET_STEP.Done));
|
|
9870
|
+
}, [dispatch]);
|
|
9871
|
+
useEffect(() => {
|
|
9872
|
+
async function getTx() {
|
|
9873
|
+
if (!publicKey || !redeemBN || transaction) {
|
|
9874
|
+
return;
|
|
9875
|
+
}
|
|
9876
|
+
const {
|
|
9877
|
+
seniorTrancheATA,
|
|
9878
|
+
juniorTrancheATA,
|
|
9879
|
+
poolSeniorTrancheATA,
|
|
9880
|
+
poolJuniorTrancheATA
|
|
9881
|
+
} = getTokenAccounts(poolInfo, publicKey);
|
|
9882
|
+
const tx = await program.methods.addRedemptionRequest(redeemBN).accountsPartial({
|
|
9883
|
+
lender: publicKey,
|
|
9884
|
+
humaConfig: poolInfo.humaConfig,
|
|
9885
|
+
poolConfig: poolInfo.poolConfig,
|
|
9886
|
+
trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
|
|
9887
|
+
poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
|
|
9888
|
+
lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
|
|
9889
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID
|
|
9890
|
+
}).transaction();
|
|
9891
|
+
setTransaction(tx);
|
|
9892
|
+
}
|
|
9893
|
+
getTx();
|
|
9894
|
+
}, [poolInfo, program.methods, publicKey, redeemBN, selectedTranche, transaction]);
|
|
9895
|
+
return jsx(SolanaTxSendModal, {
|
|
9896
|
+
tx: transaction,
|
|
9897
|
+
chainId: poolInfo.chainId,
|
|
9898
|
+
handleSuccess: handleSuccess
|
|
9899
|
+
});
|
|
9900
|
+
}
|
|
9901
|
+
|
|
9902
|
+
function SolanaLendAddRedemption(_ref) {
|
|
9903
|
+
let {
|
|
9904
|
+
poolInfo,
|
|
9905
|
+
poolState,
|
|
9906
|
+
handleClose,
|
|
9907
|
+
handleSuccess
|
|
9908
|
+
} = _ref;
|
|
9909
|
+
const dispatch = useDispatch();
|
|
9910
|
+
const {
|
|
9911
|
+
seniorLenderStateAccount,
|
|
9912
|
+
juniorLenderStateAccount,
|
|
9913
|
+
loading: isLoadingLenderAccounts
|
|
9914
|
+
} = useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
|
|
9915
|
+
const {
|
|
9916
|
+
seniorTokenAccount,
|
|
9917
|
+
juniorTokenAccount,
|
|
9918
|
+
loading: isLoadingTokenAccounts
|
|
9919
|
+
} = useTrancheTokenAccounts(poolInfo);
|
|
9920
|
+
const {
|
|
9921
|
+
step,
|
|
9922
|
+
errorMessage
|
|
9923
|
+
} = useAppSelector(selectWidgetState);
|
|
9924
|
+
const [selectedTranche, setSelectedTranche] = useState();
|
|
9925
|
+
useEffect(() => {
|
|
9926
|
+
if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccounts) {
|
|
9927
|
+
const seniorTrancheShares = new BN(seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount);
|
|
9928
|
+
const juniorTrancheShares = new BN(juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount);
|
|
9929
|
+
if (juniorTrancheShares.gtn(0) && seniorTrancheShares.lten(0)) {
|
|
9930
|
+
setSelectedTranche('junior');
|
|
9931
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9932
|
+
return;
|
|
9933
|
+
}
|
|
9934
|
+
if (seniorTrancheShares.gtn(0) && juniorTrancheShares.lten(0)) {
|
|
9935
|
+
setSelectedTranche('senior');
|
|
9936
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
9937
|
+
return;
|
|
9938
|
+
}
|
|
9939
|
+
if (seniorTrancheShares.gtn(0) && juniorTrancheShares.gtn(0)) {
|
|
9940
|
+
dispatch(setStep(WIDGET_STEP.ChooseTranche));
|
|
9941
|
+
}
|
|
9942
|
+
}
|
|
9943
|
+
}, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount]);
|
|
9944
|
+
const title = 'Redemption';
|
|
9945
|
+
if (isLoadingLenderAccounts || isLoadingTokenAccounts) {
|
|
9946
|
+
return jsx(WidgetWrapper, {
|
|
9947
|
+
isOpen: true,
|
|
9948
|
+
isLoading: true,
|
|
9949
|
+
loadingTitle: title,
|
|
9950
|
+
handleClose: handleClose,
|
|
9951
|
+
handleSuccess: handleSuccess
|
|
9952
|
+
});
|
|
9953
|
+
}
|
|
9954
|
+
return jsxs(WidgetWrapper, {
|
|
9955
|
+
isOpen: true,
|
|
9956
|
+
loadingTitle: title,
|
|
9957
|
+
handleClose: handleClose,
|
|
9958
|
+
handleSuccess: handleSuccess,
|
|
9959
|
+
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$1, {
|
|
9960
|
+
selectedTranche: selectedTranche,
|
|
9961
|
+
changeTranche: setSelectedTranche
|
|
9962
|
+
}), step === WIDGET_STEP.ChooseAmount && selectedTranche && jsx(ChooseAmount$1, {
|
|
9963
|
+
poolInfo: poolInfo,
|
|
9964
|
+
poolState: poolState,
|
|
9965
|
+
lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
|
|
9966
|
+
selectedTranche: selectedTranche
|
|
9967
|
+
}), step === WIDGET_STEP.Transfer && selectedTranche && jsx(Transfer$1, {
|
|
9968
|
+
poolInfo: poolInfo,
|
|
9969
|
+
selectedTranche: selectedTranche
|
|
9970
|
+
}), step === WIDGET_STEP.Done && jsx(Done$1, {
|
|
9971
|
+
poolInfo: poolInfo,
|
|
9972
|
+
handleAction: handleClose
|
|
9973
|
+
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
9974
|
+
title: title,
|
|
9975
|
+
errorReason: "Sorry there was an error",
|
|
9976
|
+
errorMessage: errorMessage,
|
|
9977
|
+
handleOk: handleClose
|
|
9978
|
+
})]
|
|
9979
|
+
});
|
|
9980
|
+
}
|
|
9981
|
+
|
|
9982
|
+
function Transfer(_ref) {
|
|
9983
|
+
let {
|
|
9984
|
+
poolInfo,
|
|
9985
|
+
lenderState,
|
|
9986
|
+
lenderStatePDA,
|
|
9987
|
+
selectedTranche
|
|
9988
|
+
} = _ref;
|
|
9989
|
+
const dispatch = useAppDispatch();
|
|
9990
|
+
const {
|
|
9991
|
+
publicKey
|
|
9992
|
+
} = useWallet();
|
|
9993
|
+
const [transaction, setTransaction] = useState();
|
|
9994
|
+
const program = useHumaProgram(poolInfo.chainId);
|
|
9995
|
+
const handleSuccess = useCallback(() => {
|
|
9996
|
+
dispatch(setStep(WIDGET_STEP.Done));
|
|
9997
|
+
}, [dispatch]);
|
|
9998
|
+
useEffect(() => {
|
|
9999
|
+
async function getTx() {
|
|
10000
|
+
if (!publicKey || !lenderState || !lenderStatePDA || transaction) {
|
|
10001
|
+
return;
|
|
10002
|
+
}
|
|
10003
|
+
const {
|
|
10004
|
+
seniorTrancheATA,
|
|
10005
|
+
juniorTrancheATA,
|
|
10006
|
+
poolSeniorTrancheATA,
|
|
10007
|
+
poolJuniorTrancheATA
|
|
10008
|
+
} = getTokenAccounts(poolInfo, publicKey);
|
|
10009
|
+
const tx = await program.methods.cancelRedemptionRequest(lenderState.redemptionRecord.numSharesRequested).accountsPartial({
|
|
10010
|
+
lender: publicKey,
|
|
10011
|
+
humaConfig: poolInfo.humaConfig,
|
|
10012
|
+
poolConfig: poolInfo.poolConfig,
|
|
10013
|
+
trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
|
|
10014
|
+
trancheState: selectedTranche === 'senior' ? poolInfo.seniorTrancheState : poolInfo.juniorTrancheState,
|
|
10015
|
+
lenderState: lenderStatePDA,
|
|
10016
|
+
poolAuthority: poolInfo.poolAuthority,
|
|
10017
|
+
poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
|
|
10018
|
+
lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
|
|
10019
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID
|
|
10020
|
+
}).transaction();
|
|
10021
|
+
setTransaction(tx);
|
|
10022
|
+
}
|
|
10023
|
+
getTx();
|
|
10024
|
+
}, [lenderState, lenderStatePDA, poolInfo, program.methods, publicKey, selectedTranche, transaction]);
|
|
10025
|
+
return jsx(SolanaTxSendModal, {
|
|
10026
|
+
tx: transaction,
|
|
10027
|
+
chainId: poolInfo.chainId,
|
|
10028
|
+
handleSuccess: handleSuccess
|
|
10029
|
+
});
|
|
10030
|
+
}
|
|
10031
|
+
|
|
10032
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
10033
|
+
function ChooseTranche(_ref) {
|
|
10034
|
+
let {
|
|
10035
|
+
selectedTranche,
|
|
10036
|
+
changeTranche
|
|
10037
|
+
} = _ref;
|
|
10038
|
+
const theme = useTheme();
|
|
10039
|
+
const dispatch = useAppDispatch();
|
|
10040
|
+
const styles = {
|
|
10041
|
+
subTitle: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
|
|
10042
|
+
radioGroup: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
|
|
10043
|
+
formControl: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
|
|
10044
|
+
};
|
|
10045
|
+
const handleNext = () => {
|
|
10046
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
10047
|
+
};
|
|
10048
|
+
const items = [{
|
|
10049
|
+
label: 'Senior',
|
|
10050
|
+
value: 'senior'
|
|
10051
|
+
}, {
|
|
10052
|
+
label: 'Junior',
|
|
10053
|
+
value: 'junior'
|
|
10054
|
+
}];
|
|
10055
|
+
return jsxs(WrapperModal, {
|
|
10056
|
+
title: "Cancel Redemption",
|
|
10057
|
+
children: [jsxs(FormControl, {
|
|
10058
|
+
children: [jsx(FormLabel, {
|
|
10059
|
+
css: styles.subTitle,
|
|
10060
|
+
children: "Select Tranche Type"
|
|
10061
|
+
}), jsx(RadioGroup, {
|
|
10062
|
+
"aria-labelledby": "buttons-group-label",
|
|
10063
|
+
name: "radio-buttons-group",
|
|
10064
|
+
css: styles.radioGroup,
|
|
10065
|
+
onChange: e => changeTranche(e.target.value),
|
|
10066
|
+
children: items.map(item => jsx(FormControlLabel, {
|
|
10067
|
+
value: item.value,
|
|
10068
|
+
control: jsx(Radio, {
|
|
10069
|
+
sx: {
|
|
10070
|
+
'& .MuiSvgIcon-root': {
|
|
10071
|
+
fontSize: 24
|
|
10072
|
+
}
|
|
10073
|
+
}
|
|
10074
|
+
}),
|
|
10075
|
+
label: item.label,
|
|
10076
|
+
css: styles.formControl
|
|
10077
|
+
}, item.label))
|
|
10078
|
+
})]
|
|
10079
|
+
}), jsx(BottomButton, {
|
|
10080
|
+
variant: "contained",
|
|
10081
|
+
disabled: !selectedTranche,
|
|
10082
|
+
onClick: handleNext,
|
|
10083
|
+
children: "NEXT"
|
|
10084
|
+
})]
|
|
10085
|
+
});
|
|
10086
|
+
}
|
|
10087
|
+
|
|
10088
|
+
function Done(_ref) {
|
|
10089
|
+
let {
|
|
10090
|
+
poolInfo,
|
|
10091
|
+
lenderState,
|
|
10092
|
+
selectedTranche,
|
|
10093
|
+
handleAction
|
|
10094
|
+
} = _ref;
|
|
10095
|
+
const {
|
|
10096
|
+
mintAccount,
|
|
10097
|
+
loading: isLoadingTrancheMintAccounts
|
|
10098
|
+
} = useTrancheMintAccounts(poolInfo, selectedTranche);
|
|
10099
|
+
const {
|
|
10100
|
+
solanaSignature
|
|
10101
|
+
} = useAppSelector(selectWidgetState);
|
|
10102
|
+
const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : ["Your request to cancel the redemption of ".concat(formatNumber(SolanaTokenUtils.formatUnits(lenderState.redemptionRecord.numSharesRequested, mintAccount.decimals)), " shares has been successfully processed.")];
|
|
10103
|
+
return jsx(SolanaTxDoneModal, {
|
|
10104
|
+
handleAction: handleAction,
|
|
10105
|
+
content: content,
|
|
10106
|
+
chainId: poolInfo.chainId,
|
|
10107
|
+
solanaSignature: solanaSignature,
|
|
10108
|
+
buttonText: "DONE"
|
|
10109
|
+
});
|
|
10110
|
+
}
|
|
10111
|
+
|
|
10112
|
+
function SolanaLendCancelRedemption(_ref) {
|
|
10113
|
+
let {
|
|
10114
|
+
poolInfo,
|
|
10115
|
+
handleClose,
|
|
10116
|
+
handleSuccess
|
|
10117
|
+
} = _ref;
|
|
10118
|
+
const dispatch = useDispatch();
|
|
10119
|
+
const {
|
|
10120
|
+
seniorLenderStateAccount,
|
|
10121
|
+
juniorLenderStateAccount,
|
|
10122
|
+
juniorLenderStateAccountPDA,
|
|
10123
|
+
seniorLenderStateAccountPDA,
|
|
10124
|
+
loading: isLoadingLenderAccounts
|
|
10125
|
+
} = useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
|
|
10126
|
+
const {
|
|
10127
|
+
step,
|
|
10128
|
+
errorMessage
|
|
10129
|
+
} = useAppSelector(selectWidgetState);
|
|
10130
|
+
const [selectedTranche, setSelectedTranche] = useState();
|
|
10131
|
+
useEffect(() => {
|
|
10132
|
+
if (!step && !isLoadingLenderAccounts) {
|
|
10133
|
+
const seniorTrancheSharesRequested = new BN(seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested);
|
|
10134
|
+
const juniorTrancheSharesRequested = new BN(juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested);
|
|
10135
|
+
if (juniorTrancheSharesRequested.gtn(0) && seniorTrancheSharesRequested.lten(0)) {
|
|
10136
|
+
setSelectedTranche('junior');
|
|
10137
|
+
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
10138
|
+
return;
|
|
10139
|
+
}
|
|
10140
|
+
if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.lten(0)) {
|
|
10141
|
+
setSelectedTranche('senior');
|
|
10142
|
+
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
10143
|
+
return;
|
|
10144
|
+
}
|
|
10145
|
+
if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.gtn(0)) {
|
|
10146
|
+
dispatch(setStep(WIDGET_STEP.ChooseTranche));
|
|
10147
|
+
}
|
|
10148
|
+
}
|
|
10149
|
+
}, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested, juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested]);
|
|
10150
|
+
const title = 'Cancel Redemption';
|
|
10151
|
+
if (isLoadingLenderAccounts) {
|
|
10152
|
+
return jsx(WidgetWrapper, {
|
|
10153
|
+
isOpen: true,
|
|
10154
|
+
isLoading: true,
|
|
10155
|
+
loadingTitle: title,
|
|
10156
|
+
handleClose: handleClose,
|
|
10157
|
+
handleSuccess: handleSuccess
|
|
10158
|
+
});
|
|
10159
|
+
}
|
|
10160
|
+
return jsxs(WidgetWrapper, {
|
|
10161
|
+
isOpen: true,
|
|
10162
|
+
loadingTitle: title,
|
|
10163
|
+
handleClose: handleClose,
|
|
10164
|
+
handleSuccess: handleSuccess,
|
|
10165
|
+
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche, {
|
|
10166
|
+
selectedTranche: selectedTranche,
|
|
10167
|
+
changeTranche: setSelectedTranche
|
|
10168
|
+
}), step === WIDGET_STEP.Transfer && selectedTranche && jsx(Transfer, {
|
|
10169
|
+
poolInfo: poolInfo,
|
|
10170
|
+
lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
|
|
10171
|
+
lenderStatePDA: selectedTranche === 'senior' ? seniorLenderStateAccountPDA : juniorLenderStateAccountPDA,
|
|
10172
|
+
selectedTranche: selectedTranche
|
|
10173
|
+
}), step === WIDGET_STEP.Done && selectedTranche && jsx(Done, {
|
|
10174
|
+
poolInfo: poolInfo,
|
|
10175
|
+
lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
|
|
10176
|
+
selectedTranche: selectedTranche,
|
|
10177
|
+
handleAction: handleClose
|
|
10178
|
+
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
10179
|
+
title: title,
|
|
10180
|
+
errorReason: "Sorry there was an error",
|
|
10181
|
+
errorMessage: errorMessage,
|
|
10182
|
+
handleOk: handleClose
|
|
10183
|
+
})]
|
|
10184
|
+
});
|
|
10185
|
+
}
|
|
10186
|
+
|
|
10187
|
+
function ChooseAmount(_ref) {
|
|
10188
|
+
let {
|
|
10189
|
+
poolInfo,
|
|
10190
|
+
creditConfigAccount,
|
|
10191
|
+
tokenAccount
|
|
10192
|
+
} = _ref;
|
|
10193
|
+
const dispatch = useAppDispatch();
|
|
10194
|
+
const {
|
|
10195
|
+
symbol,
|
|
10196
|
+
decimals
|
|
10197
|
+
} = poolInfo.underlyingMint;
|
|
10198
|
+
const sentinel = useMemo(() => getSentinelAddress(poolInfo.chainId), [poolInfo.chainId]);
|
|
10199
|
+
const [currentAmount, setCurrentAmount] = useState(0);
|
|
10200
|
+
const creditAvailable = useMemo(() => SolanaTokenUtils.formatUnits(creditConfigAccount.creditAvailable, decimals), [creditConfigAccount.creditAvailable, decimals]);
|
|
10201
|
+
const handleChangeAmount = newAmount => {
|
|
10202
|
+
setCurrentAmount(newAmount);
|
|
10203
|
+
};
|
|
10204
|
+
const handleAction = useCallback(() => {
|
|
10205
|
+
var _tokenAccount$delegat;
|
|
10206
|
+
if (!tokenAccount) {
|
|
10207
|
+
return;
|
|
10208
|
+
}
|
|
10209
|
+
const borrowAmountBN = SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
|
|
10210
|
+
const nextStep = borrowAmountBN.gt(new BN(tokenAccount.delegatedAmount)) || ((_tokenAccount$delegat = tokenAccount.delegate) === null || _tokenAccount$delegat === void 0 ? void 0 : _tokenAccount$delegat.toString()) !== sentinel ? WIDGET_STEP.ApproveAllowance : WIDGET_STEP.Transfer;
|
|
10211
|
+
dispatch(setBorrowInfo({
|
|
10212
|
+
borrowAmount: currentAmount,
|
|
10213
|
+
borrowAmountBN,
|
|
10214
|
+
chargedFees: 0,
|
|
10215
|
+
nextStep
|
|
10216
|
+
}));
|
|
10217
|
+
}, [currentAmount, decimals, dispatch, sentinel, tokenAccount]);
|
|
10218
|
+
return jsx(InputAmountModal, {
|
|
10219
|
+
title: "Borrow",
|
|
10220
|
+
subTitle: "Choose Amount",
|
|
10221
|
+
tokenSymbol: symbol,
|
|
10222
|
+
currentAmount: currentAmount,
|
|
10223
|
+
handleChangeAmount: handleChangeAmount,
|
|
10224
|
+
maxAmount: creditAvailable,
|
|
10225
|
+
infos: ["".concat(String(formatNumber(creditAvailable)), " ").concat(symbol, " Available")],
|
|
10226
|
+
handleAction: handleAction,
|
|
10227
|
+
actionText: "BORROW"
|
|
10228
|
+
});
|
|
10229
|
+
}
|
|
10230
|
+
|
|
10231
|
+
function ApproveAllowance(_ref) {
|
|
10232
|
+
let {
|
|
10233
|
+
poolInfo,
|
|
10234
|
+
tokenAccount
|
|
10235
|
+
} = _ref;
|
|
10236
|
+
const dispatch = useAppDispatch();
|
|
10237
|
+
const {
|
|
10238
|
+
wallet,
|
|
10239
|
+
publicKey,
|
|
10240
|
+
sendTransaction,
|
|
10241
|
+
signTransaction
|
|
10242
|
+
} = useWallet();
|
|
10243
|
+
const sentinel = useMemo(() => getSentinelAddress(poolInfo.chainId), [poolInfo.chainId]);
|
|
10244
|
+
const {
|
|
10245
|
+
connection
|
|
10246
|
+
} = useConnection();
|
|
10247
|
+
const [transaction, setTransaction] = useState();
|
|
10248
|
+
const handleSuccess = useCallback(() => {
|
|
10249
|
+
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
10250
|
+
}, [dispatch]);
|
|
10251
|
+
useEffect(() => {
|
|
10252
|
+
async function getTx() {
|
|
10253
|
+
if (!wallet || !publicKey || !connection || !signTransaction) {
|
|
10254
|
+
return;
|
|
10255
|
+
}
|
|
10256
|
+
const tx = new Transaction().add(createApproveCheckedInstruction(tokenAccount.address, new PublicKey(poolInfo.underlyingMint.address), new PublicKey(sentinel),
|
|
10257
|
+
// delegate
|
|
10258
|
+
publicKey,
|
|
10259
|
+
// owner of the wallet
|
|
10260
|
+
SolanaTokenUtils.parseUnits('100000000000',
|
|
10261
|
+
// 100 billion
|
|
10262
|
+
poolInfo.underlyingMint.decimals),
|
|
10263
|
+
// amount
|
|
10264
|
+
poolInfo.underlyingMint.decimals, undefined,
|
|
10265
|
+
// multiSigners
|
|
10266
|
+
TOKEN_2022_PROGRAM_ID));
|
|
10267
|
+
setTransaction(tx);
|
|
10268
|
+
}
|
|
10269
|
+
getTx();
|
|
10270
|
+
}, [connection, dispatch, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, publicKey, sendTransaction, sentinel, signTransaction, tokenAccount.address, wallet]);
|
|
10271
|
+
return jsx(SolanaTxSendModal, {
|
|
10272
|
+
tx: transaction,
|
|
10273
|
+
chainId: poolInfo.chainId,
|
|
10274
|
+
handleSuccess: handleSuccess
|
|
10275
|
+
});
|
|
10276
|
+
}
|
|
10277
|
+
|
|
10278
|
+
function SolanaBorrow(_ref) {
|
|
10279
|
+
let {
|
|
10280
|
+
poolInfo,
|
|
10281
|
+
handleClose,
|
|
10282
|
+
handleSuccess
|
|
10283
|
+
} = _ref;
|
|
10284
|
+
const dispatch = useDispatch();
|
|
10285
|
+
const {
|
|
10286
|
+
creditConfigAccount,
|
|
10287
|
+
loading: isLoadingBorrowerAccounts
|
|
10288
|
+
} = useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
|
|
10289
|
+
const {
|
|
10290
|
+
account: tokenAccount,
|
|
10291
|
+
loading: isLoadingTokenAccounts
|
|
10292
|
+
} = usePoolUnderlyingTokenAccount(poolInfo);
|
|
10293
|
+
const {
|
|
10294
|
+
step,
|
|
10295
|
+
errorMessage
|
|
10296
|
+
} = useAppSelector(selectWidgetState);
|
|
10297
|
+
useEffect(() => {
|
|
10298
|
+
if (!step) {
|
|
10299
|
+
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
10300
|
+
}
|
|
10301
|
+
}, [dispatch, step]);
|
|
10302
|
+
const title = 'Redemption';
|
|
10303
|
+
if (isLoadingBorrowerAccounts || isLoadingTokenAccounts) {
|
|
10304
|
+
return jsx(WidgetWrapper, {
|
|
10305
|
+
isOpen: true,
|
|
10306
|
+
isLoading: true,
|
|
10307
|
+
loadingTitle: title,
|
|
10308
|
+
handleClose: handleClose,
|
|
10309
|
+
handleSuccess: handleSuccess
|
|
10310
|
+
});
|
|
10311
|
+
}
|
|
10312
|
+
return jsxs(WidgetWrapper, {
|
|
10313
|
+
isOpen: true,
|
|
10314
|
+
loadingTitle: title,
|
|
10315
|
+
handleClose: handleClose,
|
|
10316
|
+
handleSuccess: handleSuccess,
|
|
10317
|
+
children: [step === WIDGET_STEP.ChooseAmount && creditConfigAccount && tokenAccount && jsx(ChooseAmount, {
|
|
10318
|
+
poolInfo: poolInfo,
|
|
10319
|
+
creditConfigAccount: creditConfigAccount,
|
|
10320
|
+
tokenAccount: tokenAccount
|
|
10321
|
+
}), step === WIDGET_STEP.ApproveAllowance && tokenAccount && jsx(ApproveAllowance, {
|
|
10322
|
+
poolInfo: poolInfo,
|
|
10323
|
+
tokenAccount: tokenAccount
|
|
10324
|
+
}), step === WIDGET_STEP.Error && jsx(ErrorModal, {
|
|
10325
|
+
title: title,
|
|
10326
|
+
errorReason: "Sorry there was an error",
|
|
10327
|
+
errorMessage: errorMessage,
|
|
10328
|
+
handleOk: handleClose
|
|
10329
|
+
})]
|
|
10330
|
+
});
|
|
10331
|
+
}
|
|
10332
|
+
|
|
10333
|
+
function Widget(props) {
|
|
10334
|
+
const {
|
|
10335
|
+
children,
|
|
10336
|
+
provider
|
|
9221
10337
|
} = props;
|
|
9222
10338
|
const [chainId, setChainId] = useState(undefined);
|
|
9223
10339
|
useEffect(() => {
|
|
@@ -9634,5 +10750,107 @@ function ReceivableBackedCreditLinePaymentWidgetV2(props) {
|
|
|
9634
10750
|
});
|
|
9635
10751
|
}
|
|
9636
10752
|
|
|
9637
|
-
|
|
10753
|
+
/**
|
|
10754
|
+
* Object representing the props passed to Solana widgets
|
|
10755
|
+
* @typedef {Object} SolanaWidgetProps
|
|
10756
|
+
*/
|
|
10757
|
+
|
|
10758
|
+
function SolanaWidget(props) {
|
|
10759
|
+
const {
|
|
10760
|
+
children
|
|
10761
|
+
} = props;
|
|
10762
|
+
return jsx(ThemeProvider, {
|
|
10763
|
+
theme: themeHuma,
|
|
10764
|
+
children: jsx(Provider, {
|
|
10765
|
+
store: store,
|
|
10766
|
+
children: children
|
|
10767
|
+
})
|
|
10768
|
+
});
|
|
10769
|
+
}
|
|
10770
|
+
|
|
10771
|
+
/**
|
|
10772
|
+
* Lend pool supply widget props for Solana pools
|
|
10773
|
+
* @typedef {Object} SolanaLendSupplyWidgetProps
|
|
10774
|
+
* @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
|
|
10775
|
+
* @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
|
|
10776
|
+
*/
|
|
10777
|
+
|
|
10778
|
+
/**
|
|
10779
|
+
* Lend pool supply widget for Solana pools
|
|
10780
|
+
*
|
|
10781
|
+
* @param {SolanaLendSupplyWidgetProps} props - Widget props
|
|
10782
|
+
*/
|
|
10783
|
+
function SolanaLendSupplyWidget(props) {
|
|
10784
|
+
return jsx(SolanaWidget, {
|
|
10785
|
+
...props,
|
|
10786
|
+
children: jsx(SolanaLendSupply, {
|
|
10787
|
+
...props
|
|
10788
|
+
})
|
|
10789
|
+
});
|
|
10790
|
+
}
|
|
10791
|
+
|
|
10792
|
+
/**
|
|
10793
|
+
* Lend pool supply widget props for Solana pools
|
|
10794
|
+
* @typedef {Object} SolanaLendAddRedemptionWidgetProps
|
|
10795
|
+
* @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
|
|
10796
|
+
* @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
|
|
10797
|
+
*/
|
|
10798
|
+
|
|
10799
|
+
/**
|
|
10800
|
+
* Lend pool supply widget for Solana pools
|
|
10801
|
+
*
|
|
10802
|
+
* @param {SolanaLendAddRedemptionWidgetProps} props - Widget props
|
|
10803
|
+
*/
|
|
10804
|
+
function SolanaLendAddRedemptionWidget(props) {
|
|
10805
|
+
return jsx(SolanaWidget, {
|
|
10806
|
+
...props,
|
|
10807
|
+
children: jsx(SolanaLendAddRedemption, {
|
|
10808
|
+
...props
|
|
10809
|
+
})
|
|
10810
|
+
});
|
|
10811
|
+
}
|
|
10812
|
+
|
|
10813
|
+
/**
|
|
10814
|
+
* Lend pool supply widget props for Solana pools
|
|
10815
|
+
* @typedef {Object} SolanaLendCancelRedemptionWidgetProps
|
|
10816
|
+
* @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
|
|
10817
|
+
* @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
|
|
10818
|
+
*/
|
|
10819
|
+
|
|
10820
|
+
/**
|
|
10821
|
+
* Lend pool supply widget for Solana pools
|
|
10822
|
+
*
|
|
10823
|
+
* @param {SolanaLendCancelRedemptionWidgetProps} props - Widget props
|
|
10824
|
+
*/
|
|
10825
|
+
function SolanaLendCancelRedemptionWidget(props) {
|
|
10826
|
+
return jsx(SolanaWidget, {
|
|
10827
|
+
...props,
|
|
10828
|
+
children: jsx(SolanaLendCancelRedemption, {
|
|
10829
|
+
...props
|
|
10830
|
+
})
|
|
10831
|
+
});
|
|
10832
|
+
}
|
|
10833
|
+
|
|
10834
|
+
/**
|
|
10835
|
+
* Lend pool supply widget props for Solana pools
|
|
10836
|
+
* @typedef {Object} SolanaBorrowWidgetProps
|
|
10837
|
+
* @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
|
|
10838
|
+
* @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
|
|
10839
|
+
*/
|
|
10840
|
+
|
|
10841
|
+
/**
|
|
10842
|
+
* Lend pool supply widget for Solana pools
|
|
10843
|
+
*
|
|
10844
|
+
* @param {SolanaBorrowWidgetProps} props - Widget props
|
|
10845
|
+
*/
|
|
10846
|
+
function SolanaBorrowWidget(props) {
|
|
10847
|
+
return jsx(SolanaWidget, {
|
|
10848
|
+
...props,
|
|
10849
|
+
children: jsx(SolanaBorrow, {
|
|
10850
|
+
...props
|
|
10851
|
+
})
|
|
10852
|
+
});
|
|
10853
|
+
}
|
|
10854
|
+
|
|
10855
|
+
export { AddRedemptionWidgetV2, AutoPaybackWidgetV2, CancelRedemptionWidgetV2, CreditLineApproveWidget, CreditLineBorrowWidget, CreditLineBorrowWidgetV2, CreditLinePaymentWidget, CreditLinePaymentWidgetV2, InvoiceFactoringBorrowWidget, InvoiceFactoringPaymentWidget, LendSupplyWidget, LendSupplyWidgetV2, LendWithdrawWidget, LendWithdrawWidgetV2, ReceivableBackedCreditLineBorrowWidgetV2, ReceivableBackedCreditLinePaymentWidgetV2, SolanaBorrowWidget, SolanaLendAddRedemptionWidget, SolanaLendCancelRedemptionWidget, SolanaLendSupplyWidget, SuperfluidFactoringWidget, SupplyFirstLossCoverWidget };
|
|
9638
10856
|
//# sourceMappingURL=index.js.map
|