From 05e2d000edd68f6dfa4e5627abdc5d364efe56a4 Mon Sep 17 00:00:00 2001 From: maclane Date: Mon, 4 May 2026 18:05:10 -0500 Subject: [PATCH 1/2] Remove retired KEEP legacy surfaces --- .github/workflows/client.yml | 3 +- README.adoc | 2 + docs/retired-components.md | 24 + .../keep-dapp-token-dashboard-deployment.yaml | 26 - .../keep-dapp-token-dashboard-ingress.yaml | 17 - .../keep-dapp-token-dashboard-service.yaml | 17 - .../keep-dapp-token-dashboard-deployment.yaml | 26 - .../keep-dapp-token-dashboard-ingress.yaml | 19 - .../keep-dapp-token-dashboard-service.yaml | 18 - .../keep-dapp-token-dashboard-deployment.yaml | 27 - .../keep-dapp-token-dashboard-ingress.yaml | 17 - .../keep-dapp-token-dashboard-service.yaml | 17 - scripts/start_dashboard.sh | 116 - solidity-v1/contracts/TokenStaking.sol | 61 +- solidity-v1/contracts/TokenStakingEscrow.sol | 496 - .../libraries/staking/GrantStaking.sol | 35 +- .../contracts/libraries/staking/TopUps.sol | 26 +- .../contracts/stubs/ReceivingEscrowStub.sol | 31 - .../stubs/TokenStakingSlashingStub.sol | 3 - .../contracts/stubs/TokenStakingStub.sol | 3 - solidity-v1/dashboard/.env | 2 - solidity-v1/dashboard/.eslintrc | 31 - solidity-v1/dashboard/.gitignore | 21 - solidity-v1/dashboard/.prettierignore | 6 - solidity-v1/dashboard/.prettierrc.js | 4 - solidity-v1/dashboard/Dockerfile | 39 - solidity-v1/dashboard/README.md | 189 - solidity-v1/dashboard/craco.config.js | 8 - solidity-v1/dashboard/jsconfig.json | 5 - solidity-v1/dashboard/nginx.conf | 10 - solidity-v1/dashboard/package-lock.json | 31408 -------- solidity-v1/dashboard/package.json | 86 - .../public/apple-touch-icon-114x114.png | Bin 11226 -> 0 bytes .../public/apple-touch-icon-120x120.png | Bin 8342 -> 0 bytes .../public/apple-touch-icon-144x144.png | Bin 15019 -> 0 bytes .../public/apple-touch-icon-152x152.png | Bin 18028 -> 0 bytes .../public/apple-touch-icon-57x57.png | Bin 3134 -> 0 bytes .../public/apple-touch-icon-60x60.png | Bin 2807 -> 0 bytes .../public/apple-touch-icon-72x72.png | Bin 4732 -> 0 bytes .../public/apple-touch-icon-76x76.png | Bin 5351 -> 0 bytes solidity-v1/dashboard/public/favicon-128.png | Bin 3262 -> 0 bytes .../dashboard/public/favicon-16x16.png | Bin 567 -> 0 bytes .../dashboard/public/favicon-196x196.png | Bin 28933 -> 0 bytes .../dashboard/public/favicon-32x32.png | Bin 948 -> 0 bytes .../dashboard/public/favicon-96x96.png | Bin 7489 -> 0 bytes solidity-v1/dashboard/public/favicon.ico | Bin 34494 -> 0 bytes solidity-v1/dashboard/public/index.html | 35 - solidity-v1/dashboard/public/manifest.json | 15 - .../dashboard/public/mstile-144x144.png | Bin 15019 -> 0 bytes .../dashboard/public/mstile-150x150.png | Bin 32980 -> 0 bytes .../dashboard/public/mstile-310x150.png | Bin 18199 -> 0 bytes .../dashboard/public/mstile-310x310.png | Bin 37632 -> 0 bytes solidity-v1/dashboard/public/mstile-70x70.png | Bin 3262 -> 0 bytes solidity-v1/dashboard/src/App.js | 120 - .../__tests__/forms/commonValidators.test.js | 18 - .../removeSubstringBetweenCharacter.test.js | 45 - .../general/scaleInputForNumberRange.test.js | 40 - .../__tests__/hooks/useAutoConnect.test.js | 43 - .../hooks/useWalletAddressFromUrl.test.js | 69 - .../src/__tests__/saga/authorization.test.js | 123 - .../src/__tests__/saga/coverage-pool.test.js | 1120 - .../src/__tests__/saga/effects.test.js | 158 - .../src/__tests__/saga/operator.test.js | 155 - .../src/__tests__/saga/rootSaga.test.js | 170 - .../__tests__/utils/constants.utils.test.js | 40 - .../utils/coverage-pools.utils.test.js | 67 - .../src/__tests__/utils/token.test.js | 140 - .../src/__tests__/utils/utils.test.js | 46 - .../src/__tests__/web3/contracts.test.js | 45 - .../dashboard/src/actions/coverage-pool.js | 184 - solidity-v1/dashboard/src/actions/index.js | 71 - .../dashboard/src/actions/keep-balance.js | 27 - .../src/actions/keep-to-t-staking.js | 36 - solidity-v1/dashboard/src/actions/messages.js | 45 - solidity-v1/dashboard/src/actions/modal.js | 31 - solidity-v1/dashboard/src/actions/web3.js | 205 - .../AccordionDefaultItemHeading.jsx | 37 - .../components/ActiveLiquidityRewardCard.jsx | 59 - .../src/components/AddToCalendar.jsx | 146 - .../src/components/AddressShortcut.jsx | 37 - .../dashboard/src/components/AmountForm.jsx | 88 - .../src/components/ApplicationBox.jsx | 62 - .../src/components/AuthorizationHistory.jsx | 58 - .../src/components/AuthorizeContracts.jsx | 192 - .../src/components/AvailableEthAmount.jsx | 29 - .../src/components/AvailableTokenForm.jsx | 51 - .../dashboard/src/components/Badge.jsx | 11 - .../dashboard/src/components/Banner.jsx | 66 - .../src/components/BondingSection.jsx | 127 - .../dashboard/src/components/Button.jsx | 157 - solidity-v1/dashboard/src/components/Card.jsx | 7 - .../src/components/CardContainer.jsx | 7 - solidity-v1/dashboard/src/components/Chip.jsx | 23 - .../src/components/ChooseWalletAddress.jsx | 69 - .../src/components/CircularProgressBar.jsx | 131 - .../src/components/ConnectWalletBtn.jsx | 28 - .../src/components/CopyToClipboard.jsx | 28 - .../src/components/CreateTokenGrantForm.jsx | 107 - .../components/CurrentWalletIconTooltip.jsx | 82 - .../dashboard/src/components/DataTable.jsx | 133 - .../src/components/DelegateStakeForm.jsx | 200 - .../src/components/DelegatedTokens.jsx | 111 - .../src/components/DelegatedTokensTable.jsx | 202 - .../src/components/DelegationOverview.jsx | 116 - .../dashboard/src/components/Divider.jsx | 7 - .../dashboard/src/components/DoubleIcon.jsx | 12 - .../dashboard/src/components/Dropdown.jsx | 271 - .../components/ExplorerModeAddressForm.jsx | 62 - .../dashboard/src/components/Footer.jsx | 47 - .../dashboard/src/components/FormCheckbox.jsx | 45 - .../dashboard/src/components/FormInput.jsx | 111 - .../dashboard/src/components/Header.jsx | 57 - .../dashboard/src/components/Icons.jsx | 430 - .../dashboard/src/components/KeepOnlyPool.jsx | 193 - .../src/components/LiquidityRewardCard.jsx | 336 - solidity-v1/dashboard/src/components/List.jsx | 78 - .../dashboard/src/components/Loadable.jsx | 60 - .../src/components/MasonryFlexContainer.jsx | 14 - .../src/components/MaxAmountAddon.jsx | 16 - .../dashboard/src/components/Message.jsx | 160 - .../dashboard/src/components/MetricsTile.jsx | 27 - .../dashboard/src/components/NavLink.jsx | 22 - .../src/components/NetworkStatus.jsx | 27 - .../dashboard/src/components/NoData.jsx | 11 - .../dashboard/src/components/NotFound404.jsx | 14 - .../dashboard/src/components/OnlyIf.jsx | 7 - .../dashboard/src/components/PageWrapper.jsx | 38 - .../src/components/PendingUndelegation.jsx | 56 - .../dashboard/src/components/ProgressBar.jsx | 220 - .../components/RandomBeaconRewardsTable.jsx | 56 - .../src/components/RecoverStakeButton.jsx | 58 - .../dashboard/src/components/Redirect.jsx | 10 - .../src/components/ResourceTooltip.jsx | 48 - .../dashboard/src/components/Rewards.jsx | 338 - .../src/components/RewardsDetails.jsx | 111 - .../src/components/RewardsStatus.jsx | 40 - .../dashboard/src/components/Routing.jsx | 114 - .../dashboard/src/components/SeeAllButton.jsx | 19 - .../src/components/SelectedRewardDropdown.jsx | 26 - .../dashboard/src/components/SideMenu.jsx | 117 - .../src/components/SlashedTokensList.jsx | 57 - .../src/components/SpeechBubbleTooltip.jsx | 29 - .../src/components/StakeDropChart.jsx | 142 - .../dashboard/src/components/StatusBadge.jsx | 74 - .../dashboard/src/components/StepNav.jsx | 58 - .../src/components/TBTCEarningsDataTable.jsx | 84 - .../src/components/TBTCRewardsDataTable.jsx | 54 - solidity-v1/dashboard/src/components/Tag.jsx | 26 - solidity-v1/dashboard/src/components/Tile.jsx | 35 - .../dashboard/src/components/Timeline.jsx | 124 - .../dashboard/src/components/Timer.jsx | 82 - .../dashboard/src/components/TokenAmount.jsx | 85 - .../src/components/TokenGrantOverview.jsx | 199 - .../src/components/TokenOverview.jsx | 181 - .../dashboard/src/components/Tooltip.jsx | 120 - .../src/components/TopUpsDataTable.jsx | 66 - .../src/components/UndelegateStakeButton.jsx | 120 - .../src/components/Undelegations.jsx | 132 - .../src/components/UpgradeToTButton.jsx | 17 - .../src/components/ViewInBlockExplorer.jsx | 42 - .../src/components/ViewTxMsgContent.jsx | 18 - .../src/components/WalletOptions.jsx | 116 - .../src/components/Web3ContextProvider.jsx | 223 - .../dashboard/src/components/Web3Status.jsx | 80 - .../src/components/WithWeb3Context.jsx | 39 - .../src/components/copy-stake-steps/Step0.jsx | 62 - .../src/components/copy-stake-steps/Step1.jsx | 123 - .../src/components/copy-stake-steps/Step2.jsx | 120 - .../src/components/copy-stake-steps/Step3.jsx | 126 - .../src/components/copy-stake-steps/Step4.jsx | 90 - .../src/components/copy-stake-steps/index.js | 13 - .../AddAmountToWithdrawalForm.jsx | 85 - .../coverage-pools/CooldownPeriodBanner.jsx | 37 - .../components/coverage-pools/DepositForm.jsx | 189 - .../coverage-pools/ExchangeRate.jsx | 74 - .../coverage-pools/MetricsSection.jsx | 107 - .../coverage-pools/PendingWithdrawals.jsx | 367 - .../coverage-pools/WithdrawAmountForm.jsx | 100 - .../src/components/coverage-pools/index.js | 6 - .../components/empty-states/EmptyState.jsx | 47 - .../src/components/liquidity/APY.jsx | 63 - .../components/liquidity/KeepOnlyPoolCard.jsx | 121 - .../components/liquidity/LPTokenBalance.jsx | 68 - .../components/liquidity/RewardMultiplier.jsx | 42 - .../src/components/liquidity/ShareOfPool.jsx | 34 - .../src/components/liquidity/index.js | 5 - .../DelegationAlreadyCopiedMessage.jsx | 32 - .../src/components/messages/ErrorMessage.jsx | 21 - .../src/components/messages/InfoMessage.jsx | 22 - .../messages/LPTokensInWalletMessage.jsx | 35 - .../LiquidityRewardsEarnedMessage.jsx | 75 - .../messages/PendingActionMessage.jsx | 28 - .../messages/StakeReadyToBeStakedToT.jsx | 34 - .../components/messages/SuccessMessage.jsx | 32 - .../TopUpReadyToBeCommittedMessage.jsx | 34 - .../src/components/messages/WalletMessage.jsx | 24 - .../components/modal/LegacyDashboardModal.jsx | 99 - .../src/components/modal/MobileUsersModal.jsx | 66 - .../dashboard/src/components/modal/Modal.jsx | 119 - .../src/components/modal/ModalRoot.jsx | 150 - .../components/modal/bonding/AddETHModal.jsx | 84 - .../modal/bonding/WithdrawETHModal.jsx | 140 - .../src/components/modal/bonding/index.js | 2 - .../modal/coverage-pools/ClaimTokens.jsx | 91 - .../ConfirmIncreaseWithdrawal.jsx | 81 - .../coverage-pools/IncreaseWithdrawal.jsx | 148 - .../modal/coverage-pools/InitiateWithdraw.jsx | 162 - .../coverage-pools/ReInitiateWithdraw.jsx | 103 - .../components/CovPoolTimeline.jsx | 188 - .../components/WithdrawalOverview.jsx | 211 - .../modal/coverage-pools/components/index.js | 2 - .../components/modal/coverage-pools/index.js | 5 - .../coverage-pools/withWithdrawalOverview.jsx | 37 - .../dashboard/src/components/modal/index.js | 3 - .../src/components/modal/liquidity/index.js | 1 - .../modal/liquidity/keep-only/AddKeep.jsx | 64 - .../liquidity/keep-only/WithdrawKeep.jsx | 72 - .../keep-only/components/AmountTile.jsx | 29 - .../liquidity/keep-only/components/index.js | 1 - .../modal/liquidity/keep-only/index.js | 2 - .../ConfirmCancelDelegationFromGrant.jsx | 57 - .../modal/staking/ConfirmDelegation.jsx | 81 - .../modal/staking/ConfirmRecovering.jsx | 60 - .../staking/ConfirmReleaseTokensFromGrant.jsx | 55 - .../components/modal/staking/CopyStake.jsx | 156 - .../modal/staking/DelegationAlreadyExists.jsx | 18 - .../staking/ViewTransactionSuccessModal.jsx | 47 - .../modal/staking/claim/ClaimTokens.jsx | 55 - .../modal/staking/claim/TokensClaimed.jsx | 24 - .../components/modal/staking/claim/index.js | 2 - .../src/components/modal/staking/index.js | 9 - .../top-up/ConfirmTopUpInitialization.jsx | 71 - .../staking/top-up/TopUpInitialization.jsx | 50 - .../top-up/TopUpInitiatedConfirmation.jsx | 56 - .../top-up/components/DelegationDetails.jsx | 23 - .../modal/staking/top-up/components/index.js | 1 - .../components/modal/staking/top-up/index.js | 3 - .../staking/undelegate/UndelegateStake.jsx | 78 - .../undelegate/UndelegationInitiated.jsx | 54 - .../undelegate/components/InfoList.jsx | 33 - .../staking/undelegate/components/index.js | 1 - .../modal/staking/undelegate/index.js | 2 - .../AuthorizedButNotStakedToTWarning.jsx | 23 - .../ContactYourGrantManagerWarning.jsx | 45 - .../modal/threshold/GrantTokensWithdrawn.jsx | 26 - .../modal/threshold/StakeOnThreshold.jsx | 192 - .../modal/threshold/ThresholdLoadingModal.jsx | 42 - .../modal/threshold/WithdrawGrantedTokens.jsx | 223 - .../components/StakeOnThresholdTimeline.jsx | 139 - .../modal/threshold/components/index.js | 1 - .../modal/wallets/ExplorerModeModal.jsx | 61 - .../components/modal/wallets/LedgerModal.jsx | 74 - .../modal/wallets/MetaMaskModal.jsx | 44 - .../modal/wallets/SelectedWalletModal.jsx | 174 - .../components/modal/wallets/TallyModal.jsx | 44 - .../components/modal/wallets/TrezorModal.jsx | 50 - .../modal/wallets/WalletConnectModal.jsx | 36 - .../modal/wallets/WalletSelectionModal.jsx | 31 - .../src/components/modal/wallets/index.js | 7 - .../src/components/modal/withBaseModal.jsx | 16 - .../src/components/modal/withTimeline.jsx | 33 - .../resources/DelegationDiagram.jsx | 67 - .../resources/DocumentationSection.jsx | 49 - .../resources/TerminologyDataTable.jsx | 78 - .../src/components/skeletons/CardSkeleton.jsx | 31 - .../components/skeletons/CircleSkeleton.jsx | 19 - .../skeletons/DataTableSkeleton.jsx | 44 - .../skeletons/DelegatedTokensSkeleton.jsx | 48 - .../src/components/skeletons/Skeleton.jsx | 21 - .../src/components/skeletons/SkeletonBox.jsx | 7 - .../skeletons/SkeletonProgressBar.jsx | 25 - .../skeletons/TokenAmountSkeleton.jsx | 42 - .../TokenBalancesOverviewSkeleton.jsx | 23 - .../skeletons/TokenOverviewSkeleton.jsx | 64 - .../src/components/skeletons/index.js | 19 - .../threshold/AllocationProgressBar.jsx | 132 - .../threshold/AuthorizeStakesBanner.jsx | 102 - .../threshold/AuthorizeThresholdContracts.jsx | 279 - .../ThresholdStakingAuthorizationHistory.jsx | 187 - .../threshold/UpgradeTokensTile.jsx | 88 - solidity-v1/dashboard/src/config/config.json | 16 - .../src/connectors/abstract-connector.js | 155 - .../src/connectors/explorer-mode-connector.js | 53 - .../src/connectors/explorerModeSubprovider.js | 24 - solidity-v1/dashboard/src/connectors/index.js | 21 - .../src/connectors/injected-connector.js | 92 - .../dashboard/src/connectors/ledger.js | 131 - .../src/connectors/metamask-injected.js | 10 - .../src/connectors/tally-injected.js | 10 - .../dashboard/src/connectors/trezor.js | 76 - solidity-v1/dashboard/src/connectors/utils.js | 96 - .../src/connectors/wallet-connect-v2.js | 219 - .../src/connectors/wallet-connect.js | 134 - solidity-v1/dashboard/src/constants/colors.js | 37 - .../dashboard/src/constants/constants.js | 195 - solidity-v1/dashboard/src/constants/events.js | 6 - .../dashboard/src/constants/tooltips.js | 74 - .../src/contracts-artifacts/SaddleSwap.json | 699 - .../SaddleTBTCMetaPool.json | 722 - .../SaddleTBTCMetaPoolV2.json | 722 - solidity-v1/dashboard/src/contracts.js | 394 - solidity-v1/dashboard/src/css/accordion.less | 42 - .../css/add-amount-to-withdrawal-form.less | 19 - .../dashboard/src/css/add-to-calendar.less | 22 - .../dashboard/src/css/address-shortcut.less | 15 - .../src/css/allocation-progress-bar.less | 43 - solidity-v1/dashboard/src/css/app.less | 231 - .../src/css/authorize-stakes-banner.less | 109 - solidity-v1/dashboard/src/css/badge.less | 43 - solidity-v1/dashboard/src/css/banner.less | 152 - solidity-v1/dashboard/src/css/buttons.less | 219 - .../dashboard/src/css/card-container.less | 11 - solidity-v1/dashboard/src/css/card.less | 5 - solidity-v1/dashboard/src/css/chip.less | 74 - .../src/css/choose-wallet-address.less | 49 - solidity-v1/dashboard/src/css/commons.less | 453 - .../dashboard/src/css/copy-stake-page.less | 42 - .../src/css/coverage-pools-page.less | 203 - solidity-v1/dashboard/src/css/datatable.less | 107 - .../src/css/delegate-stake-form.less | 160 - .../dashboard/src/css/double-icon.less | 18 - solidity-v1/dashboard/src/css/dropdown.less | 264 - .../dashboard/src/css/empty-states.less | 40 - .../dashboard/src/css/fonts/roboto-slab.css | 31 - .../src/css/fonts/roboto-slab/LICENSE.txt | 202 - .../fonts/roboto-slab/RobotoSlab-Black.ttf | Bin 173644 -> 0 bytes .../css/fonts/roboto-slab/RobotoSlab-Bold.ttf | Bin 173400 -> 0 bytes .../fonts/roboto-slab/RobotoSlab-Light.ttf | Bin 173088 -> 0 bytes .../fonts/roboto-slab/RobotoSlab-Regular.ttf | Bin 172696 -> 0 bytes .../dashboard/src/css/fonts/vitesse.css | 23 - .../css/fonts/vitesse/VitesseSSm-Black.otf | Bin 74912 -> 0 bytes .../src/css/fonts/vitesse/VitesseSSm-Bold.otf | Bin 74240 -> 0 bytes .../src/css/fonts/vitesse/VitesseSSm-Book.otf | Bin 68040 -> 0 bytes .../dashboard/src/css/fonts/work-sans.css | 31 - .../dashboard/src/css/fonts/work-sans/OFL.txt | 93 - .../src/css/fonts/work-sans/README.txt | 81 - .../src/css/fonts/work-sans/WorkSans-Bold.ttf | Bin 235084 -> 0 bytes .../fonts/work-sans/WorkSans-ExtraBold.ttf | Bin 235084 -> 0 bytes .../css/fonts/work-sans/WorkSans-Medium.ttf | Bin 235168 -> 0 bytes .../css/fonts/work-sans/WorkSans-Regular.ttf | Bin 234664 -> 0 bytes solidity-v1/dashboard/src/css/footer.less | 33 - solidity-v1/dashboard/src/css/forms.less | 161 - .../src/css/granted-tokens-page.less | 64 - solidity-v1/dashboard/src/css/header.less | 79 - solidity-v1/dashboard/src/css/indicator.less | 133 - .../src/css/masonry-flex-container.less | 6 - .../dashboard/src/css/menu-button.less | 41 - solidity-v1/dashboard/src/css/messages.less | 41 - .../dashboard/src/css/mobile-users-modal.less | 42 - .../src/css/modal-with-timeline.less | 53 - solidity-v1/dashboard/src/css/modal.less | 82 - .../dashboard/src/css/network-status.less | 55 - solidity-v1/dashboard/src/css/no-data.less | 14 - .../dashboard/src/css/operator-page.less | 15 - .../dashboard/src/css/overview-page.less | 110 - .../src/css/pending-withdrawals.less | 130 - .../dashboard/src/css/progress-bar.less | 101 - .../dashboard/src/css/resources-page.less | 66 - .../dashboard/src/css/rewards-page.less | 176 - solidity-v1/dashboard/src/css/rewards.less | 41 - solidity-v1/dashboard/src/css/side-menu.less | 74 - solidity-v1/dashboard/src/css/skeletons.less | 83 - .../css/stake-ready-to-be-staked-to-t.less | 7 - solidity-v1/dashboard/src/css/step-nav.less | 48 - solidity-v1/dashboard/src/css/tags.less | 94 - .../src/css/threshold-loading-modal.less | 4 - .../dashboard/src/css/threshold-page.less | 199 - solidity-v1/dashboard/src/css/timeline.less | 126 - .../dashboard/src/css/token-grants-page.less | 52 - solidity-v1/dashboard/src/css/tooltip.less | 173 - solidity-v1/dashboard/src/css/typography.less | 270 - .../src/css/upgrade-tokens-tile.less | 34 - solidity-v1/dashboard/src/css/vars.less | 182 - .../dashboard/src/css/wallet-options.less | 41 - .../dashboard/src/css/wallet-tokens-page.less | 57 - .../dashboard/src/css/web3-status.less | 144 - .../src/css/withdraw-granted-tokens.less | 96 - .../src/css/withdrawal-rewards-history.less | 24 - .../dashboard/src/forms/common-validators.js | 64 - solidity-v1/dashboard/src/forms/form.utils.js | 50 - .../src/hooks/subscribtions/index.js | 16 - .../useSubscribeToCopyStakeEvents.js | 78 - ...seSubscribeToCovPoolsAuctionClosedEvent.js | 16 - ...eSubscribeToCovPoolsAuctionCreatedEvent.js | 16 - ...cribeToCovPoolsWithdrawalCompletedEvent.js | 17 - ...cribeToCovPoolsWithdrawalInitiatedEvent.js | 17 - .../useSubscribeToDepositWithdrawEvent.js | 54 - .../useSubscribeToDepositedEvent.js | 61 - .../useSubscribeToECDSARewardsClaimedEvent.js | 29 - .../useSubscribeToERC20TransferEvent.js | 42 - .../useSubscribeToOperatorUndelegatedEvent.js | 58 - .../useSubscribeToRecoveredStakeEvent.js | 54 - .../useSubscribeToStakedEvents.js | 169 - .../useSubscribeToThresholdStakeKeepEvent.js | 16 - .../useSubscribeToTokenGrantWithdrawnEvent.js | 46 - .../useSubscribeToTopUpCompletedEvent.js | 61 - .../useSubscribeToTopUpInitiatedEvent.js | 86 - .../useSubscribeToUndelegatedEvents.js | 81 - .../src/hooks/useAcceptTermToConfirmFormik.js | 22 - .../dashboard/src/hooks/useAddAmountFormik.js | 35 - .../dashboard/src/hooks/useAutoConnect.js | 90 - .../useAutoWalletAddressInjectIntoUrl.js | 41 - .../dashboard/src/hooks/useCurrentDate.js | 23 - .../dashboard/src/hooks/useCurrentWidth.js | 20 - .../src/hooks/useCustomOnSubmitFormik.js | 46 - .../dashboard/src/hooks/useEtherscanUrl.js | 8 - .../dashboard/src/hooks/useFetchData.js | 109 - .../dashboard/src/hooks/useFinalPath.js | 8 - .../src/hooks/useGrantedBalanceInfo.js | 37 - .../dashboard/src/hooks/useHasChanged.js | 13 - .../dashboard/src/hooks/useHideComponent.js | 15 - .../src/hooks/useIsExactRoutePath.js | 27 - .../dashboard/src/hooks/useKeepBalanceInfo.js | 33 - .../dashboard/src/hooks/useLocalStorage.js | 5 - solidity-v1/dashboard/src/hooks/useModal.js | 67 - .../src/hooks/useModalWindowForMobileUsers.js | 45 - .../dashboard/src/hooks/usePrevious.js | 10 - .../dashboard/src/hooks/useReleaseTokens.js | 31 - .../src/hooks/useSetMaxAmountToken.js | 42 - .../src/hooks/useShowLegacyDappModal.js | 27 - .../hooks/useSubscribeToConnectorEvents.js | 105 - .../src/hooks/useSubscribeToContractEvent.js | 44 - ...useSubscribeToExplorerModeContractEvent.js | 82 - .../src/hooks/useTypeTextToConfirmFormik.js | 23 - .../hooks/useUpdateInitializedDelegations.js | 33 - .../hooks/useUpdatePendingUndelegations.js | 33 - .../src/hooks/useWalletAddressFromUrl.js | 19 - solidity-v1/dashboard/src/index.js | 10 - .../lib/keep/__tests__/coverage-pool.test.js | 296 - .../lib/keep/__tests__/exchange-api.test.js | 100 - .../src/lib/keep/constants/addresses.js | 5 - .../dashboard/src/lib/keep/constants/index.js | 5 - .../src/lib/keep/constants/oldTokenStaking.js | 3 - .../dashboard/src/lib/keep/constants/pre.js | 21 - .../SimplePreApplication.json | 241 - .../dashboard/src/lib/keep/contracts/index.js | 149 - .../src/lib/keep/coverage-pool/index.js | 288 - .../src/lib/keep/exchange-api/base.js | 34 - .../src/lib/keep/exchange-api/index.js | 4 - .../src/lib/keep/exchange-api/uniswap-v2.js | 73 - .../src/lib/keep/helper/apy-calculator.js | 37 - .../dashboard/src/lib/keep/helper/index.js | 3 - solidity-v1/dashboard/src/lib/keep/index.js | 274 - .../src/lib/keep/keep-to-t-staking/index.js | 104 - .../src/lib/web3/__tests__/contract.test.js | 234 - .../src/lib/web3/__tests__/web3.test.js | 128 - .../src/lib/web3/contract/contract.js | 220 - .../dashboard/src/lib/web3/contract/index.js | 6 - solidity-v1/dashboard/src/lib/web3/index.js | 85 - .../old-contracts-artifacts/TokenStaking.json | 1117 - .../src/pages/CreateTokenGrantPage.jsx | 48 - .../dashboard/src/pages/OverviewPage.jsx | 160 - .../dashboard/src/pages/ResourcesPage.jsx | 35 - .../src/pages/applications/EmptyStatePage.jsx | 31 - .../KeepRandomBeaconApplicationPage.jsx | 132 - .../applications/TBTCApplicationPage.jsx | 249 - .../applications/ThresholdApplicationPage.jsx | 161 - .../dashboard/src/pages/applications/index.js | 22 - .../pages/coverage-pools/CoveragePoolPage.jsx | 214 - .../pages/coverage-pools/HowItWorksPage.jsx | 317 - .../src/pages/coverage-pools/index.js | 16 - .../src/pages/delegation/EmptyStatePage.jsx | 77 - .../pages/delegation/GrantedTokensPage.jsx | 191 - .../src/pages/delegation/WalletTokensPage.jsx | 118 - .../dashboard/src/pages/delegation/index.js | 153 - .../src/pages/earnings/EmptyStatePage.jsx | 31 - .../src/pages/earnings/RewardsPage.jsx | 17 - .../src/pages/earnings/TBTCRewardsPage.jsx | 97 - .../dashboard/src/pages/earnings/index.js | 16 - .../src/pages/grants/EmptyStatePage.jsx | 65 - .../pages/grants/TokenGrantPreviewPage.jsx | 80 - .../src/pages/grants/TokenGrantsPage.jsx | 301 - .../dashboard/src/pages/grants/index.js | 19 - .../src/pages/operations/EmptyStatePage.jsx | 74 - .../src/pages/operations/OperatorPage.jsx | 62 - .../dashboard/src/pages/operations/index.js | 13 - .../src/pages/rewards/EmptyStatePage.jsx | 38 - .../pages/rewards/RandomBeaconRewardsPage.jsx | 85 - .../src/pages/rewards/TBTCRewardsPage.jsx | 197 - .../dashboard/src/pages/rewards/index.js | 16 - .../src/pages/threshold/HowItWorksPage.jsx | 136 - .../pages/threshold/ThresholdUpgradePage.jsx | 335 - .../dashboard/src/pages/threshold/index.js | 23 - .../dashboard/src/reducers/authorization.js | 72 - .../dashboard/src/reducers/copy-stake.js | 108 - .../dashboard/src/reducers/coverage-pool.js | 111 - solidity-v1/dashboard/src/reducers/index.js | 51 - .../dashboard/src/reducers/keep-balance.js | 37 - .../src/reducers/liquidity-rewards.js | 185 - .../dashboard/src/reducers/messages.js | 16 - solidity-v1/dashboard/src/reducers/modal.js | 27 - .../src/reducers/notifications-data.js | 26 - .../dashboard/src/reducers/operator.js | 65 - solidity-v1/dashboard/src/reducers/rewards.js | 102 - solidity-v1/dashboard/src/reducers/staking.js | 247 - .../src/reducers/threshold-authorization.js | 156 - .../dashboard/src/reducers/token-grant.js | 152 - .../src/reducers/tokens-page.reducer.js | 299 - .../dashboard/src/reducers/transactions.js | 19 - .../dashboard/src/registerServiceWorker.js | 108 - .../src/rewards-allocation/rewards.json | 63868 ---------------- .../dashboard/src/sagas/authorization.js | 37 - solidity-v1/dashboard/src/sagas/copy-stake.js | 232 - .../dashboard/src/sagas/coverage-pool.js | 485 - solidity-v1/dashboard/src/sagas/effects.js | 28 - solidity-v1/dashboard/src/sagas/index.js | 60 - .../dashboard/src/sagas/keep-balance.js | 87 - .../dashboard/src/sagas/keep-to-t-staking.js | 215 - solidity-v1/dashboard/src/sagas/messages.js | 23 - solidity-v1/dashboard/src/sagas/operartor.js | 57 - solidity-v1/dashboard/src/sagas/rewards.js | 177 - solidity-v1/dashboard/src/sagas/selectors.js | 15 - solidity-v1/dashboard/src/sagas/staking.js | 357 - .../dashboard/src/sagas/subscriptions.js | 804 - .../dashboard/src/sagas/token-grant.js | 87 - solidity-v1/dashboard/src/sagas/utils.js | 106 - solidity-v1/dashboard/src/sagas/web3.js | 268 - .../services/beacon-authorization.service.js | 66 - .../src/services/contracts.service.js | 31 - .../dashboard/src/services/keepToken.js | 13 - solidity-v1/dashboard/src/services/rewards.js | 119 - .../dashboard/src/services/rewards.service.js | 140 - .../src/services/slashed-tokens.service.js | 121 - .../services/staking-port-backer.service.js | 193 - .../services/tbtc-authorization.service.js | 407 - .../src/services/tbtc-rewards.service.js | 101 - .../threshold-authorization.service.js | 125 - .../src/services/token-grants.service.js | 274 - .../services/token-staking-escrow.service.js | 35 - .../src/services/token-staking.service.js | 485 - .../src/services/tokens-page.service.js | 346 - .../dashboard/src/services/top-ups.service.js | 122 - .../src/static/svg/Saddle_logomark_blue.png | Bin 37830 -> 0 bytes .../svg/Saddle_logomark_transparent_white.png | Bin 46554 -> 0 bytes .../src/static/svg/Saddle_logomark_white.png | Bin 53744 -> 0 bytes solidity-v1/dashboard/src/static/svg/add.svg | 3 - .../dashboard/src/static/svg/alert-fill.svg | 5 - .../dashboard/src/static/svg/alert.svg | 3 - .../dashboard/src/static/svg/arrow-down.svg | 3 - .../dashboard/src/static/svg/arrow-right.svg | 3 - .../src/static/svg/arrow-top-right.svg | 3 - .../dashboard/src/static/svg/arrows-right.svg | 23 - .../dashboard/src/static/svg/authorize.svg | 4 - .../src/static/svg/authorizer-form-icon.svg | 5 - .../dashboard/src/static/svg/authorizer.svg | 4 - .../src/static/svg/balancer-logo.svg | 5 - .../dashboard/src/static/svg/beacon.svg | 3 - solidity-v1/dashboard/src/static/svg/bell.svg | 3 - .../src/static/svg/beneficiary-form-icon.svg | 8 - .../src/static/svg/browser-window.svg | 3 - .../dashboard/src/static/svg/calendar.svg | 3 - .../src/static/svg/car-dashboard-speed.svg | 29 - .../dashboard/src/static/svg/chevron-down.svg | 3 - .../src/static/svg/chevron-right.svg | 5 - .../dashboard/src/static/svg/chevron-up.svg | 3 - .../svg/cov-pools-how-it-works-diagram.svg | 178 - .../src/static/svg/coverage-pool.svg | 46 - .../dashboard/src/static/svg/dashboard.svg | 15 - .../dashboard/src/static/svg/dashed-line.svg | 3 - .../dashboard/src/static/svg/decentralize.svg | 3 - .../src/static/svg/delegation-diagram.svg | 29 - .../dashboard/src/static/svg/diamond.svg | 6 - .../src/static/svg/document-bg-green.svg | 9 - .../src/static/svg/earn-threshold-tokens.svg | 27 - solidity-v1/dashboard/src/static/svg/eth.svg | 5 - .../dashboard/src/static/svg/eth_token.svg | 8 - .../dashboard/src/static/svg/explore.svg | 3 - .../dashboard/src/static/svg/fees-vector.svg | 3 - solidity-v1/dashboard/src/static/svg/fees.svg | 19 - .../dashboard/src/static/svg/filter-icon.svg | 3 - .../src/static/svg/grant-context-icon.svg | 8 - .../dashboard/src/static/svg/grant.svg | 7 - solidity-v1/dashboard/src/static/svg/home.svg | 3 - .../src/static/svg/keep-green-form-icon.svg | 5 - .../src/static/svg/keep-green-outline.svg | 3 - .../src/static/svg/keep-loading-indicator.svg | 6 - .../src/static/svg/keep-only-pool.svg | 132 - .../dashboard/src/static/svg/keep-symbol.svg | 4 - .../src/static/svg/keep-t-upgrade-logo.svg | 29 - .../dashboard/src/static/svg/keep-token.svg | 4 - .../dashboard/src/static/svg/keep-tower.svg | 12 - .../src/static/svg/ledger-device.svg | 12 - .../dashboard/src/static/svg/ledger.svg | 4 - .../src/static/svg/legacy-dapp-modal.svg | 215 - solidity-v1/dashboard/src/static/svg/load.svg | 9 - solidity-v1/dashboard/src/static/svg/mBTC.svg | 5 - .../dashboard/src/static/svg/metamask.svg | 6 - .../src/static/svg/money-wallet-open.svg | 6 - .../dashboard/src/static/svg/money.svg | 7 - .../dashboard/src/static/svg/more-info.svg | 3 - .../static/svg/network-status-indicator.svg | 3 - .../dashboard/src/static/svg/operations.svg | 4 - .../src/static/svg/operator-form-icon.svg | 5 - solidity-v1/dashboard/src/static/svg/plus.svg | 3 - .../src/static/svg/question-fill.svg | 4 - .../dashboard/src/static/svg/question.svg | 5 - .../dashboard/src/static/svg/refresh.svg | 3 - .../dashboard/src/static/svg/rewards.svg | 3 - .../dashboard/src/static/svg/saddle-logo.svg | 12 - .../dashboard/src/static/svg/stakedrop.svg | 5 - solidity-v1/dashboard/src/static/svg/star.svg | 3 - .../dashboard/src/static/svg/subtract.svg | 3 - .../dashboard/src/static/svg/success.svg | 3 - solidity-v1/dashboard/src/static/svg/swap.svg | 4 - .../src/static/svg/sword-operations.svg | 3 - .../dashboard/src/static/svg/t-logo.svg | 3 - .../src/static/svg/t-token-symbol.svg | 23 - .../dashboard/src/static/svg/tally.svg | 3 - solidity-v1/dashboard/src/static/svg/tbtc.svg | 6 - .../dashboard/src/static/svg/tbtc_v2.svg | 8 - solidity-v1/dashboard/src/static/svg/time.svg | 3 - .../src/static/svg/token-dashboard-logo.svg | 17 - .../dashboard/src/static/svg/tokens.svg | 8 - .../src/static/svg/trezor-device.svg | 10 - .../dashboard/src/static/svg/trezor.svg | 3 - .../dashboard/src/static/svg/uniswap-logo.svg | 18 - .../src/static/svg/user-friendly.svg | 20 - .../src/static/svg/wallet-connect.svg | 9 - .../dashboard/src/static/svg/wallet.svg | 5 - .../dashboard/src/static/svg/warning.svg | 5 - solidity-v1/dashboard/src/store.js | 15 - .../dashboard/src/utils/arithmetics.utils.js | 52 - .../dashboard/src/utils/array.utils.js | 29 - .../dashboard/src/utils/constants.utils.js | 16 - .../src/utils/coverage-pools.utils.js | 45 - .../dashboard/src/utils/ethereum.utils.js | 66 - .../dashboard/src/utils/general.utils.js | 163 - .../src/utils/minimum-stake-schedule.js | 65 - .../dashboard/src/utils/rewardsHelper.js | 213 - .../dashboard/src/utils/token.utils.js | 245 - solidity-v1/migrations/2_deploy_contracts.js | 7 - solidity-v1/migrations/3_initialize.js | 4 - solidity-v1/package.json | 4 +- solidity-v1/scripts/etherscan-verify.sh | 1 - solidity-v1/scripts/withdraw-old-rewards.js | 81 - solidity-v1/test/RolesLookupTest.js | 1 - solidity-v1/test/helpers/initContracts.js | 13 - .../test/token_grant/TestManagedGrant.js | 889 - .../token_grant/TestManagedGrantFactory.js | 1 - .../test/token_grant/TestStakingPolicy.js | 2 - .../test/token_grant/TestTokenGrant.js | 1 - .../test/token_grant/TestTokenGrantRevoke.js | 365 - .../test/token_grant/TestTokenGrantStake.js | 463 - .../token_grant/TestTokenGrantWithdraw.js | 1 - .../token_stake/TestDelegatedAuthority.js | 1 - .../TestMultipleStakingContracts.js | 278 - .../test/token_stake/TestPunishment.js | 1 - .../test/token_stake/TestStakingGrant.js | 841 - .../test/token_stake/TestStakingPortBacker.js | 2 - .../test/token_stake/TestTokenStake.js | 1 - .../test/token_stake/TestTokenStakeLock.js | 1 - .../token_stake/TestTokenStakingEscrow.js | 829 - solidity-v1/test/token_stake/TestTopUps.js | 993 - token-stakedrop/.eslintrc | 15 - token-stakedrop/.gitignore | 4 - token-stakedrop/README.adoc | 124 - .../artifacts/KEEP-ETH-UNI-V2-Token.json | 5 - .../artifacts/KEEP-TBTC-UNI-V2-Token.json | 5 - .../bin/inspect-token-ownership.js | 92 - token-stakedrop/merkle-distributor | 1 - .../merkle-generator/generate-merkle-root.ts | 25 - .../merkle-generator/package-lock.json | 73 - token-stakedrop/merkle-generator/package.json | 16 - token-stakedrop/package-lock.json | 10292 --- token-stakedrop/package.json | 37 - token-stakedrop/src/inspector.js | 75 - token-stakedrop/src/lib/context.js | 90 - token-stakedrop/src/lib/contract-helper.js | 79 - token-stakedrop/src/lib/ethereum-helper.js | 140 - token-stakedrop/src/lib/file-helper.js | 27 - token-stakedrop/src/lib/map-helper.js | 29 - token-stakedrop/src/lib/owner-lookup.js | 32 - token-stakedrop/src/lib/winston.js | 28 - .../src/truth-sources/keep-only-pool.js | 144 - .../src/truth-sources/keep-token.js | 215 - .../src/truth-sources/lp-tokens.js | 328 - .../src/truth-sources/token-grant.js | 373 - .../src/truth-sources/token-staking.js | 327 - .../src/truth-sources/truth-source.js | 142 - token-stakedrop/stakedrop-merkle-generator.sh | 91 - 680 files changed, 50 insertions(+), 161048 deletions(-) create mode 100644 docs/retired-components.md delete mode 100644 infrastructure/kube/keep-dev/keep-dapp-token-dashboard-deployment.yaml delete mode 100644 infrastructure/kube/keep-dev/keep-dapp-token-dashboard-ingress.yaml delete mode 100644 infrastructure/kube/keep-dev/keep-dapp-token-dashboard-service.yaml delete mode 100644 infrastructure/kube/keep-prd/keep-dapp-token-dashboard-deployment.yaml delete mode 100644 infrastructure/kube/keep-prd/keep-dapp-token-dashboard-ingress.yaml delete mode 100644 infrastructure/kube/keep-prd/keep-dapp-token-dashboard-service.yaml delete mode 100644 infrastructure/kube/keep-test/keep-dapp-token-dashboard-deployment.yaml delete mode 100644 infrastructure/kube/keep-test/keep-dapp-token-dashboard-ingress.yaml delete mode 100644 infrastructure/kube/keep-test/keep-dapp-token-dashboard-service.yaml delete mode 100755 scripts/start_dashboard.sh delete mode 100644 solidity-v1/contracts/TokenStakingEscrow.sol delete mode 100644 solidity-v1/contracts/stubs/ReceivingEscrowStub.sol delete mode 100644 solidity-v1/dashboard/.env delete mode 100644 solidity-v1/dashboard/.eslintrc delete mode 100644 solidity-v1/dashboard/.gitignore delete mode 100644 solidity-v1/dashboard/.prettierignore delete mode 100644 solidity-v1/dashboard/.prettierrc.js delete mode 100644 solidity-v1/dashboard/Dockerfile delete mode 100644 solidity-v1/dashboard/README.md delete mode 100644 solidity-v1/dashboard/craco.config.js delete mode 100644 solidity-v1/dashboard/jsconfig.json delete mode 100644 solidity-v1/dashboard/nginx.conf delete mode 100644 solidity-v1/dashboard/package-lock.json delete mode 100644 solidity-v1/dashboard/package.json delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-114x114.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-120x120.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-144x144.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-152x152.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-57x57.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-60x60.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-72x72.png delete mode 100755 solidity-v1/dashboard/public/apple-touch-icon-76x76.png delete mode 100755 solidity-v1/dashboard/public/favicon-128.png delete mode 100755 solidity-v1/dashboard/public/favicon-16x16.png delete mode 100755 solidity-v1/dashboard/public/favicon-196x196.png delete mode 100755 solidity-v1/dashboard/public/favicon-32x32.png delete mode 100755 solidity-v1/dashboard/public/favicon-96x96.png delete mode 100755 solidity-v1/dashboard/public/favicon.ico delete mode 100644 solidity-v1/dashboard/public/index.html delete mode 100644 solidity-v1/dashboard/public/manifest.json delete mode 100755 solidity-v1/dashboard/public/mstile-144x144.png delete mode 100755 solidity-v1/dashboard/public/mstile-150x150.png delete mode 100755 solidity-v1/dashboard/public/mstile-310x150.png delete mode 100755 solidity-v1/dashboard/public/mstile-310x310.png delete mode 100755 solidity-v1/dashboard/public/mstile-70x70.png delete mode 100644 solidity-v1/dashboard/src/App.js delete mode 100644 solidity-v1/dashboard/src/__tests__/forms/commonValidators.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/general/removeSubstringBetweenCharacter.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/general/scaleInputForNumberRange.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/hooks/useAutoConnect.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/hooks/useWalletAddressFromUrl.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/saga/authorization.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/saga/coverage-pool.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/saga/effects.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/saga/operator.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/saga/rootSaga.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/utils/constants.utils.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/utils/coverage-pools.utils.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/utils/token.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/utils/utils.test.js delete mode 100644 solidity-v1/dashboard/src/__tests__/web3/contracts.test.js delete mode 100644 solidity-v1/dashboard/src/actions/coverage-pool.js delete mode 100644 solidity-v1/dashboard/src/actions/index.js delete mode 100644 solidity-v1/dashboard/src/actions/keep-balance.js delete mode 100644 solidity-v1/dashboard/src/actions/keep-to-t-staking.js delete mode 100644 solidity-v1/dashboard/src/actions/messages.js delete mode 100644 solidity-v1/dashboard/src/actions/modal.js delete mode 100644 solidity-v1/dashboard/src/actions/web3.js delete mode 100644 solidity-v1/dashboard/src/components/AccordionDefaultItemHeading.jsx delete mode 100644 solidity-v1/dashboard/src/components/ActiveLiquidityRewardCard.jsx delete mode 100644 solidity-v1/dashboard/src/components/AddToCalendar.jsx delete mode 100644 solidity-v1/dashboard/src/components/AddressShortcut.jsx delete mode 100644 solidity-v1/dashboard/src/components/AmountForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/ApplicationBox.jsx delete mode 100644 solidity-v1/dashboard/src/components/AuthorizationHistory.jsx delete mode 100644 solidity-v1/dashboard/src/components/AuthorizeContracts.jsx delete mode 100644 solidity-v1/dashboard/src/components/AvailableEthAmount.jsx delete mode 100644 solidity-v1/dashboard/src/components/AvailableTokenForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/Badge.jsx delete mode 100644 solidity-v1/dashboard/src/components/Banner.jsx delete mode 100644 solidity-v1/dashboard/src/components/BondingSection.jsx delete mode 100644 solidity-v1/dashboard/src/components/Button.jsx delete mode 100644 solidity-v1/dashboard/src/components/Card.jsx delete mode 100644 solidity-v1/dashboard/src/components/CardContainer.jsx delete mode 100644 solidity-v1/dashboard/src/components/Chip.jsx delete mode 100644 solidity-v1/dashboard/src/components/ChooseWalletAddress.jsx delete mode 100644 solidity-v1/dashboard/src/components/CircularProgressBar.jsx delete mode 100644 solidity-v1/dashboard/src/components/ConnectWalletBtn.jsx delete mode 100644 solidity-v1/dashboard/src/components/CopyToClipboard.jsx delete mode 100644 solidity-v1/dashboard/src/components/CreateTokenGrantForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/CurrentWalletIconTooltip.jsx delete mode 100644 solidity-v1/dashboard/src/components/DataTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/DelegateStakeForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/DelegatedTokens.jsx delete mode 100644 solidity-v1/dashboard/src/components/DelegatedTokensTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/DelegationOverview.jsx delete mode 100644 solidity-v1/dashboard/src/components/Divider.jsx delete mode 100644 solidity-v1/dashboard/src/components/DoubleIcon.jsx delete mode 100644 solidity-v1/dashboard/src/components/Dropdown.jsx delete mode 100644 solidity-v1/dashboard/src/components/ExplorerModeAddressForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/Footer.jsx delete mode 100644 solidity-v1/dashboard/src/components/FormCheckbox.jsx delete mode 100644 solidity-v1/dashboard/src/components/FormInput.jsx delete mode 100644 solidity-v1/dashboard/src/components/Header.jsx delete mode 100644 solidity-v1/dashboard/src/components/Icons.jsx delete mode 100644 solidity-v1/dashboard/src/components/KeepOnlyPool.jsx delete mode 100644 solidity-v1/dashboard/src/components/LiquidityRewardCard.jsx delete mode 100644 solidity-v1/dashboard/src/components/List.jsx delete mode 100644 solidity-v1/dashboard/src/components/Loadable.jsx delete mode 100644 solidity-v1/dashboard/src/components/MasonryFlexContainer.jsx delete mode 100644 solidity-v1/dashboard/src/components/MaxAmountAddon.jsx delete mode 100644 solidity-v1/dashboard/src/components/Message.jsx delete mode 100644 solidity-v1/dashboard/src/components/MetricsTile.jsx delete mode 100644 solidity-v1/dashboard/src/components/NavLink.jsx delete mode 100644 solidity-v1/dashboard/src/components/NetworkStatus.jsx delete mode 100644 solidity-v1/dashboard/src/components/NoData.jsx delete mode 100644 solidity-v1/dashboard/src/components/NotFound404.jsx delete mode 100644 solidity-v1/dashboard/src/components/OnlyIf.jsx delete mode 100644 solidity-v1/dashboard/src/components/PageWrapper.jsx delete mode 100644 solidity-v1/dashboard/src/components/PendingUndelegation.jsx delete mode 100644 solidity-v1/dashboard/src/components/ProgressBar.jsx delete mode 100644 solidity-v1/dashboard/src/components/RandomBeaconRewardsTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/RecoverStakeButton.jsx delete mode 100644 solidity-v1/dashboard/src/components/Redirect.jsx delete mode 100644 solidity-v1/dashboard/src/components/ResourceTooltip.jsx delete mode 100644 solidity-v1/dashboard/src/components/Rewards.jsx delete mode 100644 solidity-v1/dashboard/src/components/RewardsDetails.jsx delete mode 100644 solidity-v1/dashboard/src/components/RewardsStatus.jsx delete mode 100644 solidity-v1/dashboard/src/components/Routing.jsx delete mode 100644 solidity-v1/dashboard/src/components/SeeAllButton.jsx delete mode 100644 solidity-v1/dashboard/src/components/SelectedRewardDropdown.jsx delete mode 100644 solidity-v1/dashboard/src/components/SideMenu.jsx delete mode 100644 solidity-v1/dashboard/src/components/SlashedTokensList.jsx delete mode 100644 solidity-v1/dashboard/src/components/SpeechBubbleTooltip.jsx delete mode 100644 solidity-v1/dashboard/src/components/StakeDropChart.jsx delete mode 100644 solidity-v1/dashboard/src/components/StatusBadge.jsx delete mode 100644 solidity-v1/dashboard/src/components/StepNav.jsx delete mode 100644 solidity-v1/dashboard/src/components/TBTCEarningsDataTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/TBTCRewardsDataTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/Tag.jsx delete mode 100644 solidity-v1/dashboard/src/components/Tile.jsx delete mode 100644 solidity-v1/dashboard/src/components/Timeline.jsx delete mode 100644 solidity-v1/dashboard/src/components/Timer.jsx delete mode 100644 solidity-v1/dashboard/src/components/TokenAmount.jsx delete mode 100644 solidity-v1/dashboard/src/components/TokenGrantOverview.jsx delete mode 100644 solidity-v1/dashboard/src/components/TokenOverview.jsx delete mode 100644 solidity-v1/dashboard/src/components/Tooltip.jsx delete mode 100644 solidity-v1/dashboard/src/components/TopUpsDataTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/UndelegateStakeButton.jsx delete mode 100644 solidity-v1/dashboard/src/components/Undelegations.jsx delete mode 100644 solidity-v1/dashboard/src/components/UpgradeToTButton.jsx delete mode 100644 solidity-v1/dashboard/src/components/ViewInBlockExplorer.jsx delete mode 100644 solidity-v1/dashboard/src/components/ViewTxMsgContent.jsx delete mode 100644 solidity-v1/dashboard/src/components/WalletOptions.jsx delete mode 100644 solidity-v1/dashboard/src/components/Web3ContextProvider.jsx delete mode 100644 solidity-v1/dashboard/src/components/Web3Status.jsx delete mode 100644 solidity-v1/dashboard/src/components/WithWeb3Context.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/Step0.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/Step1.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/Step2.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/Step3.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/Step4.jsx delete mode 100644 solidity-v1/dashboard/src/components/copy-stake-steps/index.js delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/AddAmountToWithdrawalForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/CooldownPeriodBanner.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/DepositForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/ExchangeRate.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/MetricsSection.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/PendingWithdrawals.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/WithdrawAmountForm.jsx delete mode 100644 solidity-v1/dashboard/src/components/coverage-pools/index.js delete mode 100644 solidity-v1/dashboard/src/components/empty-states/EmptyState.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/APY.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/KeepOnlyPoolCard.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/LPTokenBalance.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/RewardMultiplier.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/ShareOfPool.jsx delete mode 100644 solidity-v1/dashboard/src/components/liquidity/index.js delete mode 100644 solidity-v1/dashboard/src/components/messages/DelegationAlreadyCopiedMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/ErrorMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/InfoMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/LPTokensInWalletMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/LiquidityRewardsEarnedMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/PendingActionMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/StakeReadyToBeStakedToT.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/SuccessMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/TopUpReadyToBeCommittedMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/messages/WalletMessage.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/LegacyDashboardModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/MobileUsersModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/Modal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/ModalRoot.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/bonding/AddETHModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/bonding/WithdrawETHModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/bonding/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/ClaimTokens.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/ConfirmIncreaseWithdrawal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/IncreaseWithdrawal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/InitiateWithdraw.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/ReInitiateWithdraw.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/components/CovPoolTimeline.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/components/WithdrawalOverview.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/components/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/coverage-pools/withWithdrawalOverview.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/keep-only/AddKeep.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/keep-only/WithdrawKeep.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/keep-only/components/AmountTile.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/keep-only/components/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/liquidity/keep-only/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/ConfirmCancelDelegationFromGrant.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/ConfirmDelegation.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/ConfirmRecovering.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/ConfirmReleaseTokensFromGrant.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/CopyStake.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/DelegationAlreadyExists.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/ViewTransactionSuccessModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/claim/ClaimTokens.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/claim/TokensClaimed.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/claim/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/ConfirmTopUpInitialization.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/TopUpInitialization.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/TopUpInitiatedConfirmation.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/components/DelegationDetails.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/components/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/top-up/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/undelegate/UndelegateStake.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/undelegate/UndelegationInitiated.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/undelegate/components/InfoList.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/undelegate/components/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/staking/undelegate/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/AuthorizedButNotStakedToTWarning.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/ContactYourGrantManagerWarning.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/GrantTokensWithdrawn.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/StakeOnThreshold.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/ThresholdLoadingModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/WithdrawGrantedTokens.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/components/StakeOnThresholdTimeline.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/threshold/components/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/ExplorerModeModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/LedgerModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/MetaMaskModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/SelectedWalletModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/TallyModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/TrezorModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/WalletConnectModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/WalletSelectionModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/wallets/index.js delete mode 100644 solidity-v1/dashboard/src/components/modal/withBaseModal.jsx delete mode 100644 solidity-v1/dashboard/src/components/modal/withTimeline.jsx delete mode 100644 solidity-v1/dashboard/src/components/resources/DelegationDiagram.jsx delete mode 100644 solidity-v1/dashboard/src/components/resources/DocumentationSection.jsx delete mode 100644 solidity-v1/dashboard/src/components/resources/TerminologyDataTable.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/CardSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/CircleSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/DataTableSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/DelegatedTokensSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/Skeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/SkeletonBox.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/SkeletonProgressBar.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/TokenAmountSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/TokenBalancesOverviewSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/TokenOverviewSkeleton.jsx delete mode 100644 solidity-v1/dashboard/src/components/skeletons/index.js delete mode 100644 solidity-v1/dashboard/src/components/threshold/AllocationProgressBar.jsx delete mode 100644 solidity-v1/dashboard/src/components/threshold/AuthorizeStakesBanner.jsx delete mode 100644 solidity-v1/dashboard/src/components/threshold/AuthorizeThresholdContracts.jsx delete mode 100644 solidity-v1/dashboard/src/components/threshold/ThresholdStakingAuthorizationHistory.jsx delete mode 100644 solidity-v1/dashboard/src/components/threshold/UpgradeTokensTile.jsx delete mode 100644 solidity-v1/dashboard/src/config/config.json delete mode 100644 solidity-v1/dashboard/src/connectors/abstract-connector.js delete mode 100644 solidity-v1/dashboard/src/connectors/explorer-mode-connector.js delete mode 100644 solidity-v1/dashboard/src/connectors/explorerModeSubprovider.js delete mode 100644 solidity-v1/dashboard/src/connectors/index.js delete mode 100644 solidity-v1/dashboard/src/connectors/injected-connector.js delete mode 100644 solidity-v1/dashboard/src/connectors/ledger.js delete mode 100644 solidity-v1/dashboard/src/connectors/metamask-injected.js delete mode 100644 solidity-v1/dashboard/src/connectors/tally-injected.js delete mode 100644 solidity-v1/dashboard/src/connectors/trezor.js delete mode 100644 solidity-v1/dashboard/src/connectors/utils.js delete mode 100644 solidity-v1/dashboard/src/connectors/wallet-connect-v2.js delete mode 100644 solidity-v1/dashboard/src/connectors/wallet-connect.js delete mode 100644 solidity-v1/dashboard/src/constants/colors.js delete mode 100644 solidity-v1/dashboard/src/constants/constants.js delete mode 100644 solidity-v1/dashboard/src/constants/events.js delete mode 100644 solidity-v1/dashboard/src/constants/tooltips.js delete mode 100644 solidity-v1/dashboard/src/contracts-artifacts/SaddleSwap.json delete mode 100644 solidity-v1/dashboard/src/contracts-artifacts/SaddleTBTCMetaPool.json delete mode 100644 solidity-v1/dashboard/src/contracts-artifacts/SaddleTBTCMetaPoolV2.json delete mode 100644 solidity-v1/dashboard/src/contracts.js delete mode 100644 solidity-v1/dashboard/src/css/accordion.less delete mode 100644 solidity-v1/dashboard/src/css/add-amount-to-withdrawal-form.less delete mode 100644 solidity-v1/dashboard/src/css/add-to-calendar.less delete mode 100644 solidity-v1/dashboard/src/css/address-shortcut.less delete mode 100644 solidity-v1/dashboard/src/css/allocation-progress-bar.less delete mode 100644 solidity-v1/dashboard/src/css/app.less delete mode 100644 solidity-v1/dashboard/src/css/authorize-stakes-banner.less delete mode 100644 solidity-v1/dashboard/src/css/badge.less delete mode 100644 solidity-v1/dashboard/src/css/banner.less delete mode 100644 solidity-v1/dashboard/src/css/buttons.less delete mode 100644 solidity-v1/dashboard/src/css/card-container.less delete mode 100644 solidity-v1/dashboard/src/css/card.less delete mode 100644 solidity-v1/dashboard/src/css/chip.less delete mode 100644 solidity-v1/dashboard/src/css/choose-wallet-address.less delete mode 100644 solidity-v1/dashboard/src/css/commons.less delete mode 100644 solidity-v1/dashboard/src/css/copy-stake-page.less delete mode 100644 solidity-v1/dashboard/src/css/coverage-pools-page.less delete mode 100644 solidity-v1/dashboard/src/css/datatable.less delete mode 100644 solidity-v1/dashboard/src/css/delegate-stake-form.less delete mode 100644 solidity-v1/dashboard/src/css/double-icon.less delete mode 100644 solidity-v1/dashboard/src/css/dropdown.less delete mode 100644 solidity-v1/dashboard/src/css/empty-states.less delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab.css delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab/LICENSE.txt delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab/RobotoSlab-Black.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab/RobotoSlab-Bold.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab/RobotoSlab-Light.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/roboto-slab/RobotoSlab-Regular.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/vitesse.css delete mode 100644 solidity-v1/dashboard/src/css/fonts/vitesse/VitesseSSm-Black.otf delete mode 100644 solidity-v1/dashboard/src/css/fonts/vitesse/VitesseSSm-Bold.otf delete mode 100644 solidity-v1/dashboard/src/css/fonts/vitesse/VitesseSSm-Book.otf delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans.css delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/OFL.txt delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/README.txt delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/WorkSans-Bold.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/WorkSans-ExtraBold.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/WorkSans-Medium.ttf delete mode 100644 solidity-v1/dashboard/src/css/fonts/work-sans/WorkSans-Regular.ttf delete mode 100644 solidity-v1/dashboard/src/css/footer.less delete mode 100644 solidity-v1/dashboard/src/css/forms.less delete mode 100644 solidity-v1/dashboard/src/css/granted-tokens-page.less delete mode 100644 solidity-v1/dashboard/src/css/header.less delete mode 100644 solidity-v1/dashboard/src/css/indicator.less delete mode 100644 solidity-v1/dashboard/src/css/masonry-flex-container.less delete mode 100644 solidity-v1/dashboard/src/css/menu-button.less delete mode 100644 solidity-v1/dashboard/src/css/messages.less delete mode 100644 solidity-v1/dashboard/src/css/mobile-users-modal.less delete mode 100644 solidity-v1/dashboard/src/css/modal-with-timeline.less delete mode 100644 solidity-v1/dashboard/src/css/modal.less delete mode 100644 solidity-v1/dashboard/src/css/network-status.less delete mode 100644 solidity-v1/dashboard/src/css/no-data.less delete mode 100644 solidity-v1/dashboard/src/css/operator-page.less delete mode 100644 solidity-v1/dashboard/src/css/overview-page.less delete mode 100644 solidity-v1/dashboard/src/css/pending-withdrawals.less delete mode 100644 solidity-v1/dashboard/src/css/progress-bar.less delete mode 100644 solidity-v1/dashboard/src/css/resources-page.less delete mode 100644 solidity-v1/dashboard/src/css/rewards-page.less delete mode 100644 solidity-v1/dashboard/src/css/rewards.less delete mode 100644 solidity-v1/dashboard/src/css/side-menu.less delete mode 100644 solidity-v1/dashboard/src/css/skeletons.less delete mode 100644 solidity-v1/dashboard/src/css/stake-ready-to-be-staked-to-t.less delete mode 100644 solidity-v1/dashboard/src/css/step-nav.less delete mode 100644 solidity-v1/dashboard/src/css/tags.less delete mode 100644 solidity-v1/dashboard/src/css/threshold-loading-modal.less delete mode 100644 solidity-v1/dashboard/src/css/threshold-page.less delete mode 100644 solidity-v1/dashboard/src/css/timeline.less delete mode 100644 solidity-v1/dashboard/src/css/token-grants-page.less delete mode 100644 solidity-v1/dashboard/src/css/tooltip.less delete mode 100644 solidity-v1/dashboard/src/css/typography.less delete mode 100644 solidity-v1/dashboard/src/css/upgrade-tokens-tile.less delete mode 100644 solidity-v1/dashboard/src/css/vars.less delete mode 100644 solidity-v1/dashboard/src/css/wallet-options.less delete mode 100644 solidity-v1/dashboard/src/css/wallet-tokens-page.less delete mode 100644 solidity-v1/dashboard/src/css/web3-status.less delete mode 100644 solidity-v1/dashboard/src/css/withdraw-granted-tokens.less delete mode 100644 solidity-v1/dashboard/src/css/withdrawal-rewards-history.less delete mode 100644 solidity-v1/dashboard/src/forms/common-validators.js delete mode 100644 solidity-v1/dashboard/src/forms/form.utils.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/index.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToCopyStakeEvents.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToCovPoolsAuctionClosedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToCovPoolsAuctionCreatedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToCovPoolsWithdrawalCompletedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToCovPoolsWithdrawalInitiatedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToDepositWithdrawEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToDepositedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToECDSARewardsClaimedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToERC20TransferEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToOperatorUndelegatedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToRecoveredStakeEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToStakedEvents.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToThresholdStakeKeepEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToTokenGrantWithdrawnEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToTopUpCompletedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToTopUpInitiatedEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/subscribtions/useSubscribeToUndelegatedEvents.js delete mode 100644 solidity-v1/dashboard/src/hooks/useAcceptTermToConfirmFormik.js delete mode 100644 solidity-v1/dashboard/src/hooks/useAddAmountFormik.js delete mode 100644 solidity-v1/dashboard/src/hooks/useAutoConnect.js delete mode 100644 solidity-v1/dashboard/src/hooks/useAutoWalletAddressInjectIntoUrl.js delete mode 100644 solidity-v1/dashboard/src/hooks/useCurrentDate.js delete mode 100644 solidity-v1/dashboard/src/hooks/useCurrentWidth.js delete mode 100644 solidity-v1/dashboard/src/hooks/useCustomOnSubmitFormik.js delete mode 100644 solidity-v1/dashboard/src/hooks/useEtherscanUrl.js delete mode 100644 solidity-v1/dashboard/src/hooks/useFetchData.js delete mode 100644 solidity-v1/dashboard/src/hooks/useFinalPath.js delete mode 100644 solidity-v1/dashboard/src/hooks/useGrantedBalanceInfo.js delete mode 100644 solidity-v1/dashboard/src/hooks/useHasChanged.js delete mode 100644 solidity-v1/dashboard/src/hooks/useHideComponent.js delete mode 100644 solidity-v1/dashboard/src/hooks/useIsExactRoutePath.js delete mode 100644 solidity-v1/dashboard/src/hooks/useKeepBalanceInfo.js delete mode 100644 solidity-v1/dashboard/src/hooks/useLocalStorage.js delete mode 100644 solidity-v1/dashboard/src/hooks/useModal.js delete mode 100644 solidity-v1/dashboard/src/hooks/useModalWindowForMobileUsers.js delete mode 100644 solidity-v1/dashboard/src/hooks/usePrevious.js delete mode 100644 solidity-v1/dashboard/src/hooks/useReleaseTokens.js delete mode 100644 solidity-v1/dashboard/src/hooks/useSetMaxAmountToken.js delete mode 100644 solidity-v1/dashboard/src/hooks/useShowLegacyDappModal.js delete mode 100644 solidity-v1/dashboard/src/hooks/useSubscribeToConnectorEvents.js delete mode 100644 solidity-v1/dashboard/src/hooks/useSubscribeToContractEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/useSubscribeToExplorerModeContractEvent.js delete mode 100644 solidity-v1/dashboard/src/hooks/useTypeTextToConfirmFormik.js delete mode 100644 solidity-v1/dashboard/src/hooks/useUpdateInitializedDelegations.js delete mode 100644 solidity-v1/dashboard/src/hooks/useUpdatePendingUndelegations.js delete mode 100644 solidity-v1/dashboard/src/hooks/useWalletAddressFromUrl.js delete mode 100644 solidity-v1/dashboard/src/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/__tests__/coverage-pool.test.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/__tests__/exchange-api.test.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/constants/addresses.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/constants/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/constants/oldTokenStaking.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/constants/pre.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/contracts-artifacts/SimplePreApplication.json delete mode 100644 solidity-v1/dashboard/src/lib/keep/contracts/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/coverage-pool/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/exchange-api/base.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/exchange-api/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/exchange-api/uniswap-v2.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/helper/apy-calculator.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/helper/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/index.js delete mode 100644 solidity-v1/dashboard/src/lib/keep/keep-to-t-staking/index.js delete mode 100644 solidity-v1/dashboard/src/lib/web3/__tests__/contract.test.js delete mode 100644 solidity-v1/dashboard/src/lib/web3/__tests__/web3.test.js delete mode 100644 solidity-v1/dashboard/src/lib/web3/contract/contract.js delete mode 100644 solidity-v1/dashboard/src/lib/web3/contract/index.js delete mode 100644 solidity-v1/dashboard/src/lib/web3/index.js delete mode 100644 solidity-v1/dashboard/src/old-contracts-artifacts/TokenStaking.json delete mode 100644 solidity-v1/dashboard/src/pages/CreateTokenGrantPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/OverviewPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/ResourcesPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/applications/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/applications/KeepRandomBeaconApplicationPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/applications/TBTCApplicationPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/applications/ThresholdApplicationPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/applications/index.js delete mode 100644 solidity-v1/dashboard/src/pages/coverage-pools/CoveragePoolPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/coverage-pools/HowItWorksPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/coverage-pools/index.js delete mode 100644 solidity-v1/dashboard/src/pages/delegation/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/delegation/GrantedTokensPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/delegation/WalletTokensPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/delegation/index.js delete mode 100644 solidity-v1/dashboard/src/pages/earnings/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/earnings/RewardsPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/earnings/TBTCRewardsPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/earnings/index.js delete mode 100644 solidity-v1/dashboard/src/pages/grants/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/grants/TokenGrantPreviewPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/grants/TokenGrantsPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/grants/index.js delete mode 100644 solidity-v1/dashboard/src/pages/operations/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/operations/OperatorPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/operations/index.js delete mode 100644 solidity-v1/dashboard/src/pages/rewards/EmptyStatePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/rewards/RandomBeaconRewardsPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/rewards/TBTCRewardsPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/rewards/index.js delete mode 100644 solidity-v1/dashboard/src/pages/threshold/HowItWorksPage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/threshold/ThresholdUpgradePage.jsx delete mode 100644 solidity-v1/dashboard/src/pages/threshold/index.js delete mode 100644 solidity-v1/dashboard/src/reducers/authorization.js delete mode 100644 solidity-v1/dashboard/src/reducers/copy-stake.js delete mode 100644 solidity-v1/dashboard/src/reducers/coverage-pool.js delete mode 100644 solidity-v1/dashboard/src/reducers/index.js delete mode 100644 solidity-v1/dashboard/src/reducers/keep-balance.js delete mode 100644 solidity-v1/dashboard/src/reducers/liquidity-rewards.js delete mode 100644 solidity-v1/dashboard/src/reducers/messages.js delete mode 100644 solidity-v1/dashboard/src/reducers/modal.js delete mode 100644 solidity-v1/dashboard/src/reducers/notifications-data.js delete mode 100644 solidity-v1/dashboard/src/reducers/operator.js delete mode 100644 solidity-v1/dashboard/src/reducers/rewards.js delete mode 100644 solidity-v1/dashboard/src/reducers/staking.js delete mode 100644 solidity-v1/dashboard/src/reducers/threshold-authorization.js delete mode 100644 solidity-v1/dashboard/src/reducers/token-grant.js delete mode 100644 solidity-v1/dashboard/src/reducers/tokens-page.reducer.js delete mode 100644 solidity-v1/dashboard/src/reducers/transactions.js delete mode 100644 solidity-v1/dashboard/src/registerServiceWorker.js delete mode 100644 solidity-v1/dashboard/src/rewards-allocation/rewards.json delete mode 100644 solidity-v1/dashboard/src/sagas/authorization.js delete mode 100644 solidity-v1/dashboard/src/sagas/copy-stake.js delete mode 100644 solidity-v1/dashboard/src/sagas/coverage-pool.js delete mode 100644 solidity-v1/dashboard/src/sagas/effects.js delete mode 100644 solidity-v1/dashboard/src/sagas/index.js delete mode 100644 solidity-v1/dashboard/src/sagas/keep-balance.js delete mode 100644 solidity-v1/dashboard/src/sagas/keep-to-t-staking.js delete mode 100644 solidity-v1/dashboard/src/sagas/messages.js delete mode 100644 solidity-v1/dashboard/src/sagas/operartor.js delete mode 100644 solidity-v1/dashboard/src/sagas/rewards.js delete mode 100644 solidity-v1/dashboard/src/sagas/selectors.js delete mode 100644 solidity-v1/dashboard/src/sagas/staking.js delete mode 100644 solidity-v1/dashboard/src/sagas/subscriptions.js delete mode 100644 solidity-v1/dashboard/src/sagas/token-grant.js delete mode 100644 solidity-v1/dashboard/src/sagas/utils.js delete mode 100644 solidity-v1/dashboard/src/sagas/web3.js delete mode 100644 solidity-v1/dashboard/src/services/beacon-authorization.service.js delete mode 100644 solidity-v1/dashboard/src/services/contracts.service.js delete mode 100644 solidity-v1/dashboard/src/services/keepToken.js delete mode 100644 solidity-v1/dashboard/src/services/rewards.js delete mode 100644 solidity-v1/dashboard/src/services/rewards.service.js delete mode 100644 solidity-v1/dashboard/src/services/slashed-tokens.service.js delete mode 100644 solidity-v1/dashboard/src/services/staking-port-backer.service.js delete mode 100644 solidity-v1/dashboard/src/services/tbtc-authorization.service.js delete mode 100644 solidity-v1/dashboard/src/services/tbtc-rewards.service.js delete mode 100644 solidity-v1/dashboard/src/services/threshold-authorization.service.js delete mode 100644 solidity-v1/dashboard/src/services/token-grants.service.js delete mode 100644 solidity-v1/dashboard/src/services/token-staking-escrow.service.js delete mode 100644 solidity-v1/dashboard/src/services/token-staking.service.js delete mode 100644 solidity-v1/dashboard/src/services/tokens-page.service.js delete mode 100644 solidity-v1/dashboard/src/services/top-ups.service.js delete mode 100644 solidity-v1/dashboard/src/static/svg/Saddle_logomark_blue.png delete mode 100644 solidity-v1/dashboard/src/static/svg/Saddle_logomark_transparent_white.png delete mode 100644 solidity-v1/dashboard/src/static/svg/Saddle_logomark_white.png delete mode 100644 solidity-v1/dashboard/src/static/svg/add.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/alert-fill.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/alert.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/arrow-down.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/arrow-right.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/arrow-top-right.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/arrows-right.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/authorize.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/authorizer-form-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/authorizer.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/balancer-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/beacon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/bell.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/beneficiary-form-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/browser-window.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/calendar.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/car-dashboard-speed.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/chevron-down.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/chevron-right.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/chevron-up.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/cov-pools-how-it-works-diagram.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/coverage-pool.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/dashboard.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/dashed-line.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/decentralize.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/delegation-diagram.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/diamond.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/document-bg-green.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/earn-threshold-tokens.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/eth.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/eth_token.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/explore.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/fees-vector.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/fees.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/filter-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/grant-context-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/grant.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/home.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-green-form-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-green-outline.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-loading-indicator.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-only-pool.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-symbol.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-t-upgrade-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-token.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/keep-tower.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/ledger-device.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/ledger.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/legacy-dapp-modal.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/load.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/mBTC.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/metamask.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/money-wallet-open.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/money.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/more-info.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/network-status-indicator.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/operations.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/operator-form-icon.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/plus.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/question-fill.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/question.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/refresh.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/rewards.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/saddle-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/stakedrop.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/star.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/subtract.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/success.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/swap.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/sword-operations.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/t-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/t-token-symbol.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/tally.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/tbtc.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/tbtc_v2.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/time.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/token-dashboard-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/tokens.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/trezor-device.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/trezor.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/uniswap-logo.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/user-friendly.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/wallet-connect.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/wallet.svg delete mode 100644 solidity-v1/dashboard/src/static/svg/warning.svg delete mode 100644 solidity-v1/dashboard/src/store.js delete mode 100644 solidity-v1/dashboard/src/utils/arithmetics.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/array.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/constants.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/coverage-pools.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/ethereum.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/general.utils.js delete mode 100644 solidity-v1/dashboard/src/utils/minimum-stake-schedule.js delete mode 100644 solidity-v1/dashboard/src/utils/rewardsHelper.js delete mode 100644 solidity-v1/dashboard/src/utils/token.utils.js delete mode 100644 solidity-v1/scripts/withdraw-old-rewards.js delete mode 100644 solidity-v1/test/token_grant/TestManagedGrant.js delete mode 100644 solidity-v1/test/token_grant/TestTokenGrantRevoke.js delete mode 100644 solidity-v1/test/token_grant/TestTokenGrantStake.js delete mode 100644 solidity-v1/test/token_stake/TestMultipleStakingContracts.js delete mode 100644 solidity-v1/test/token_stake/TestStakingGrant.js delete mode 100644 solidity-v1/test/token_stake/TestTokenStakingEscrow.js delete mode 100644 solidity-v1/test/token_stake/TestTopUps.js delete mode 100644 token-stakedrop/.eslintrc delete mode 100644 token-stakedrop/.gitignore delete mode 100644 token-stakedrop/README.adoc delete mode 100644 token-stakedrop/artifacts/KEEP-ETH-UNI-V2-Token.json delete mode 100644 token-stakedrop/artifacts/KEEP-TBTC-UNI-V2-Token.json delete mode 100755 token-stakedrop/bin/inspect-token-ownership.js delete mode 160000 token-stakedrop/merkle-distributor delete mode 100644 token-stakedrop/merkle-generator/generate-merkle-root.ts delete mode 100644 token-stakedrop/merkle-generator/package-lock.json delete mode 100644 token-stakedrop/merkle-generator/package.json delete mode 100644 token-stakedrop/package-lock.json delete mode 100644 token-stakedrop/package.json delete mode 100644 token-stakedrop/src/inspector.js delete mode 100644 token-stakedrop/src/lib/context.js delete mode 100644 token-stakedrop/src/lib/contract-helper.js delete mode 100644 token-stakedrop/src/lib/ethereum-helper.js delete mode 100644 token-stakedrop/src/lib/file-helper.js delete mode 100644 token-stakedrop/src/lib/map-helper.js delete mode 100644 token-stakedrop/src/lib/owner-lookup.js delete mode 100644 token-stakedrop/src/lib/winston.js delete mode 100644 token-stakedrop/src/truth-sources/keep-only-pool.js delete mode 100644 token-stakedrop/src/truth-sources/keep-token.js delete mode 100644 token-stakedrop/src/truth-sources/lp-tokens.js delete mode 100644 token-stakedrop/src/truth-sources/token-grant.js delete mode 100644 token-stakedrop/src/truth-sources/token-staking.js delete mode 100644 token-stakedrop/src/truth-sources/truth-source.js delete mode 100755 token-stakedrop/stakedrop-merkle-generator.sh diff --git a/.github/workflows/client.yml b/.github/workflows/client.yml index f719505eee..7daced9b82 100644 --- a/.github/workflows/client.yml +++ b/.github/workflows/client.yml @@ -13,7 +13,6 @@ on: - "scripts/**" - "solidity/**" - "solidity-v1/**" - - "token-stakedrop/**" pull_request: workflow_dispatch: inputs: @@ -46,7 +45,7 @@ jobs: with: filters: | path-filter: - - './!((docs-v1|docs|infrastructure|scripts|solidity|solidity-v1|token-stakedrop)/**)' + - './!((docs-v1|docs|infrastructure|scripts|solidity|solidity-v1)/**)' electrum-integration-detect-changes: runs-on: ubuntu-latest diff --git a/README.adoc b/README.adoc index b0ad593846..db2a2f672a 100644 --- a/README.adoc +++ b/README.adoc @@ -51,6 +51,8 @@ newest "v2" random beacon contracts can be found in link:solidity/random-beacon/[`solidity/random-beacon`] directory. The full specification of the "v2" random beacon is written in link:/docs/rfc/rfc-19-random-beacon-v2.adoc[`rfc-19-random-beacon-v2.adoc`]. +Retired KEEP-era packages and operational tooling are listed in +link:docs/retired-components.md[`docs/retired-components.md`]. === dApp Developers diff --git a/docs/retired-components.md b/docs/retired-components.md new file mode 100644 index 0000000000..947a027410 --- /dev/null +++ b/docs/retired-components.md @@ -0,0 +1,24 @@ +# Retired Legacy Components + +KEEP-era staking and distribution surfaces have been retired in favor of the +Threshold Network T token and the current contracts under `solidity/`. + +This repository no longer carries the following legacy components: + +- `solidity-v1/contracts/TokenStakingEscrow.sol` +- `token-stakedrop/` +- `solidity-v1/scripts/withdraw-old-rewards.js` +- `solidity-v1/dashboard/` +- KEEP token dashboard Kubernetes manifests under `infrastructure/kube/keep-*` +- `scripts/start_dashboard.sh` + +These components were removed because they are no longer part of supported +operations, were tied to deprecated KEEP-token workflows, and had accumulated +unmaintained security risk. In particular, the old rewards withdrawal helper +contained a committed mainnet private key, and the retired staking escrow had no +remaining ETH, KEEP, or T balance on Ethereum mainnet when checked before +removal. + +Historical documents under `docs-v1/` may still mention these components for +release history and archival context. They should not be used as operational +runbooks for current Threshold Network deployments. diff --git a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-deployment.yaml b/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-deployment.yaml deleted file mode 100644 index a1f2f1d528..0000000000 --- a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-deployment.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: keep-dapp-token-dashboard - labels: - keel.sh/policy: all - app: keep-dapp - type: token-dashboard -spec: - replicas: 1 - selector: - matchLabels: - app: keep-dapp - type: token-dashboard - template: - metadata: - labels: - app: keep-dapp - type: token-dashboard - spec: - containers: - - name: keep-dapp-token-dashboard - image: gcr.io/keep-dev-fe24/keep-dapp-token-dashboard - ports: - - containerPort: 80 diff --git a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-ingress.yaml b/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-ingress.yaml deleted file mode 100644 index 21693d2322..0000000000 --- a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-ingress.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: keep-dapp-token-dashboard - namespace: default - labels: - app: keep-dapp - type: token-dashboard - annotations: - kubernetes.io/ingress.allow-http: "false" -spec: - tls: - - secretName: dashboard-dev-keep-network - backend: - serviceName: keep-dapp-token-dashboard - servicePort: 80 \ No newline at end of file diff --git a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-service.yaml b/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-service.yaml deleted file mode 100644 index 592706bc2f..0000000000 --- a/infrastructure/kube/keep-dev/keep-dapp-token-dashboard-service.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: keep-dapp-token-dashboard - labels: - app: keep-dapp - type: token-dashboard -spec: - type: NodePort - ports: - - port: 80 - targetPort: 80 - name: http-80 - selector: - app: keep-dapp - type: token-dashboard \ No newline at end of file diff --git a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-deployment.yaml b/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-deployment.yaml deleted file mode 100644 index d5ddb5a439..0000000000 --- a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-deployment.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: keep-dapp-token-dashboard - namespace: default - labels: - app: keep-dapp - type: token-dashboard -spec: - replicas: 6 - selector: - matchLabels: - app: keep-dapp - type: token-dashboard - template: - metadata: - labels: - app: keep-dapp - type: token-dashboard - spec: - containers: - - name: keep-dapp-token-dashboard - image: keepnetwork/token-dashboard:v1.19.0 - ports: - - containerPort: 80 diff --git a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-ingress.yaml b/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-ingress.yaml deleted file mode 100644 index 572c511e3f..0000000000 --- a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-ingress.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: keep-dapp-token-dashboard - namespace: default - labels: - app: keep-dapp - type: token-dashboard - annotations: - kubernetes.io/ingress.allow-http: "false" - kubernetes.io/ingress.global-static-ip-name: token-dashboard-ingress -spec: - tls: - - secretName: keep-network-cloudflare-origin-cert - backend: - serviceName: keep-dapp-token-dashboard - servicePort: 80 - diff --git a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-service.yaml b/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-service.yaml deleted file mode 100644 index 9d593e991e..0000000000 --- a/infrastructure/kube/keep-prd/keep-dapp-token-dashboard-service.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: keep-dapp-token-dashboard - labels: - app: keep-dapp - type: token-dashboard -spec: - type: NodePort - ports: - - port: 80 - targetPort: 80 - name: http - selector: - app: keep-dapp - type: token-dashboard - diff --git a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-deployment.yaml b/infrastructure/kube/keep-test/keep-dapp-token-dashboard-deployment.yaml deleted file mode 100644 index f909866ac6..0000000000 --- a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-deployment.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: keep-dapp-token-dashboard - namespace: default - labels: - keel.sh/policy: all - app: keep-dapp - type: token-dashboard -spec: - replicas: 1 - selector: - matchLabels: - app: keep-dapp - type: token-dashboard - template: - metadata: - labels: - app: keep-dapp - type: token-dashboard - spec: - containers: - - name: keep-dapp-token-dashboard - image: gcr.io/keep-test-f3e0/keep-dapp-token-dashboard - ports: - - containerPort: 80 diff --git a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-ingress.yaml b/infrastructure/kube/keep-test/keep-dapp-token-dashboard-ingress.yaml deleted file mode 100644 index 3bd8bb6259..0000000000 --- a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-ingress.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: keep-dapp-token-dashboard - namespace: default - labels: - app: keep-dapp - type: token-dashboard - annotations: - kubernetes.io/ingress.allow-http: "false" -spec: - tls: - - secretName: dashboard-test-keep-network - backend: - serviceName: keep-dapp-token-dashboard - servicePort: 80 \ No newline at end of file diff --git a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-service.yaml b/infrastructure/kube/keep-test/keep-dapp-token-dashboard-service.yaml deleted file mode 100644 index 592706bc2f..0000000000 --- a/infrastructure/kube/keep-test/keep-dapp-token-dashboard-service.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: keep-dapp-token-dashboard - labels: - app: keep-dapp - type: token-dashboard -spec: - type: NodePort - ports: - - port: 80 - targetPort: 80 - name: http-80 - selector: - app: keep-dapp - type: token-dashboard \ No newline at end of file diff --git a/scripts/start_dashboard.sh b/scripts/start_dashboard.sh deleted file mode 100755 index 3981b31407..0000000000 --- a/scripts/start_dashboard.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -set -e - -LOG_START='\n\e[1;36m' # new line + bold + color -LOG_END='\n\e[0m' # new line + reset color - -KEEP_CORE_PATH=$PWD -KEEP_CORE_SOL_PATH="$PWD/solidity-v1" -DASHBOARD_DIR_PATH="$KEEP_CORE_PATH/solidity-v1/dashboard" -KEEP_CORE_ARTIFACTS_PATH="$KEEP_CORE_PATH/solidity-v1/artifacts" - -KEEP_ECDSA_PATH="$PWD/../keep-ecdsa" -KEEP_ECDSA_SOL_PATH="$PWD/../keep-ecdsa/solidity" - -KEEP_ECDSA_DISTRIBUTOR_PATH="$PWD/../keep-ecdsa/staker-rewards/distributor" -MERKLE_DISTRIBUTOR_INPUT_PATH="$KEEP_ECDSA_DISTRIBUTOR_PATH/staker-reward-allocation.json" -MERKLE_DISTRIBUTOR_OUTPUT_PATH="$KEEP_ECDSA_DISTRIBUTOR_PATH/output-merkle-objects.json" - -TBTC_PATH="$PWD/../tbtc" -TBTC_SOL_ARTIFACTS_PATH="$TBTC_PATH/solidity/artifacts" - -COV_POOLS_PATH="$PWD/../coverage-pools" - -THRESHOLD_CONTRACTS_PATH="$PWD/../solidity-contracts" - -printf "${LOG_START}Migrating contracts for keep-core...${LOG_END}" -cd "$KEEP_CORE_PATH" -./scripts/install-v1.sh --network local -cd "$KEEP_CORE_SOL_PATH" -# Link keep-core contracts via `yarn`- the threshold solidity contracts repo -# uses the `yarn` so we need to link keep-core package with `yarn` as well. -yarn link - -printf "${LOG_START}Migrating contracts for keep-ecdsa...${LOG_END}" -cd "$KEEP_ECDSA_PATH" -./scripts/install.sh --network local --contracts-only - -printf "${LOG_START}Migrating contracts for tBTC...${LOG_END}" -cd "$TBTC_PATH" -./scripts/install.sh - -printf "${LOG_START}Initialize contracts for keep-ecdsa...${LOG_END}" -cd $KEEP_ECDSA_SOL_PATH - -# Get network ID. -NETWORK_ID_OUTPUT=$(npx truffle exec ./scripts/get-network-id.js --network local) -NETWORK_ID=$(echo "$NETWORK_ID_OUTPUT" | tail -1) -GET_NETWORK_JSON_QUERY=".networks.\"${NETWORK_ID}\".address" - -# Extract TBTCSystem contract address. -TBTC_SYSTEM_CONTRACT="${TBTC_SOL_ARTIFACTS_PATH}/TBTCSystem.json" -TBTC_SYSTEM_CONTRACT_ADDRESS=$(cat ${TBTC_SYSTEM_CONTRACT} | jq "${GET_NETWORK_JSON_QUERY}" | tr -d '"') - -printf "${LOG_START}TBTCSystem contract address is: ${TBTC_SYSTEM_CONTRACT_ADDRESS}${LOG_END}" - -# Run keep-ecdsa initialization script. -cd $KEEP_ECDSA_PATH -./scripts/initialize.sh --contracts-only --network local --application-address $TBTC_SYSTEM_CONTRACT_ADDRESS - -printf "${LOG_START}KEEP token contract address is: ${KEEP_TOKEN_CONTRACT_ADDRESS}${LOG_END}" - -cd $COV_POOLS_PATH -printf "${LOG_START}Creating links for cvovrage pools...${LOG_END}" -./scripts/install.sh - -# In the Keep Token Dashboard we use `npm` instead of `yarn` so we need to link -# the `keep-network/coverage-pool` package manually via npm. -npm link - -cd "$THRESHOLD_CONTRACTS_PATH" -printf "${LOG_START}Installing Threshold network solidity contracts dependencies...${LOG_START}" -yarn -yarn link @keep-network/keep-core -./scripts/prepare-dependencies.sh -printf "${LOG_START}Deploying contracts for threshold solidity contracts...${LOG_START}" -yarn deploy --network development --reset -yarn hardhat prepare-artifacts --network development -npm link - -printf "${LOG_START}Installing Keep Token Dashboard...${LOG_END}" - -cd $DASHBOARD_DIR_PATH - -# uncomment when version of a dependency in package.json has changed. -printf "${LOG_START}Installing NPM dependencies in dashboard...${LOG_END}" -# rm -rf node_modules/ -# rm package-lock.json -npm install - -cd $DASHBOARD_DIR_PATH -npm link @keep-network/keep-core \ - @keep-network/keep-ecdsa \ - @keep-network/tbtc \ - @keep-network/coverage-pools \ - @threshold-network/solidity-contracts - -# Make sure files below exists in keep-ecdsa repository. Otherwise comment out. -# printf "${LOG_START}Generating mock input data for ecdsa merkle distributor${LOG_END}" -# cd $KEEP_ECDSA_SOL_PATH -# truffle exec ./scripts/generate-staker-rewards-input.js --network local - -# printf "${LOG_START}Generating mock merkle objects${LOG_END}" -# cd $KEEP_ECDSA_DISTRIBUTOR_PATH -# npm i -# npm run generate-merkle-root -- --input="$MERKLE_DISTRIBUTOR_INPUT_PATH" - -# printf "${LOG_START}Copying the mock merkle objects to dashboard${LOG_END}" -# cp $MERKLE_DISTRIBUTOR_OUTPUT_PATH "$DASHBOARD_DIR_PATH/src/rewards-allocation/rewards.json" - -# printf "${LOG_START}Initializing ECDSARewardsDistributor contract${LOG_END}" -# cd $KEEP_ECDSA_SOL_PATH -# truffle exec ./scripts/initialize-ecdsa-rewards-distributor.js --network local - -# printf "${LOG_START}Starting dashboard...${LOG_END}" -# cd $DASHBOARD_DIR_PATH -# npm start diff --git a/solidity-v1/contracts/TokenStaking.sol b/solidity-v1/contracts/TokenStaking.sol index bb88fabbc9..43ffa9613f 100644 --- a/solidity-v1/contracts/TokenStaking.sol +++ b/solidity-v1/contracts/TokenStaking.sol @@ -25,8 +25,6 @@ import "./libraries/staking/TopUps.sol"; import "./utils/PercentUtils.sol"; import "./utils/BytesLib.sol"; import "./Authorizations.sol"; -import "./TokenStakingEscrow.sol"; -import "./TokenSender.sol"; /// @title TokenStaking /// @notice A token staking contract for a specified standard ERC20Burnable token. @@ -71,7 +69,6 @@ contract TokenStaking is Authorizations, StakeDelegatable { ERC20Burnable internal token; TokenGrant internal tokenGrant; - TokenStakingEscrow internal escrow; GrantStaking.Storage internal grantStaking; Locks.Storage internal locks; @@ -87,20 +84,17 @@ contract TokenStaking is Authorizations, StakeDelegatable { /// @notice Creates a token staking contract for a provided Standard ERC20Burnable token. /// @param _token KEEP token contract. /// @param _tokenGrant KEEP token grant contract. - /// @param _escrow Escrow dedicated for this staking contract. /// @param _registry Keep contract registry contract. /// @param _initializationPeriod To avoid certain attacks on work selection, recently created /// operators must wait for a specific period of time before being eligible for work selection. constructor( ERC20Burnable _token, TokenGrant _tokenGrant, - TokenStakingEscrow _escrow, KeepRegistry _registry, uint256 _initializationPeriod ) public Authorizations(_registry) { token = _token; tokenGrant = _tokenGrant; - escrow = _escrow; registry = _registry; initializationPeriod = _initializationPeriod; deployedAt = block.timestamp; @@ -145,7 +139,6 @@ contract TokenStaking is Authorizations, StakeDelegatable { /// - Beneficiary address (20 bytes), ignored for a top-up /// - Operator address (20 bytes) /// - Authorizer address (20 bytes), ignored for a top-up - /// - Grant ID (32 bytes) - required only when called by TokenStakingEscrow function receiveApproval( address _from, uint256 _value, @@ -166,7 +159,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { delegate(_from, _value, operator, _extraData); } else { // If there is an existing delegation, top-up the stake. - topUp(_from, _value, operator, _extraData); + topUp(_from, _value, operator); } } @@ -201,7 +194,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { uint256 amount = operatorParams.getAmount(); operators[_operator].packedParams = operatorParams.setAmount(0); - transferOrDeposit(owner, _operator, amount); + transferOrDeposit(owner, amount); } /// @notice Undelegates staked tokens. You will be able to recover your stake by calling @@ -271,7 +264,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { amount = amount.add(topUps.cancel(_operator)); operators[_operator].packedParams = operatorParams.setAmount(0); - transferOrDeposit(operators[_operator].owner, _operator, amount); + transferOrDeposit(operators[_operator].owner, amount); emit RecoveredStake(_operator); } @@ -584,10 +577,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { grantStaking.tryCapturingDelegationData( tokenGrant, - address(escrow), - _from, - _operator, - _extraData + _operator ); emit StakeDelegated(_from, _operator); @@ -611,19 +601,13 @@ contract TokenStaking is Authorizations, StakeDelegatable { /// @param _value Approved amount for the transfer and top-up to /// an existing stake. /// @param _operator The new operator address. - /// @param _extraData Data for stake delegation as passed to receiveApproval function topUp( address _from, uint256 _value, - address _operator, - bytes memory _extraData + address _operator ) internal { - // Top-up comes from a grant if it's been initiated from TokenGrantStake - // contract or if it's been initiated from TokenStakingEscrow by - // redelegation. - bool isFromGrant = - address(tokenGrant.grantStakes(_operator)) == _from || - address(escrow) == _from; + // Top-up comes from a grant if it's been initiated from TokenGrantStake. + bool isFromGrant = address(tokenGrant.grantStakes(_operator)) == _from; if (grantStaking.hasGrantDelegated(_operator)) { // Operator has grant delegated. We need to see if the top-up @@ -637,10 +621,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { (, uint256 grantId) = grantStaking.tryCapturingDelegationData( tokenGrant, - address(escrow), - _from, - _operator, - _extraData + _operator ); require(grantId == previousGrantId, "Not the same grant"); } else { @@ -657,14 +638,13 @@ contract TokenStaking is Authorizations, StakeDelegatable { operators[_operator].packedParams = topUps.instantComplete( _value, _operator, - operatorParams, - escrow + operatorParams ); } else { // If the stake is initialized, we do NOT add tokens immediately. // We initiate the top-up and will add tokens to the stake only // after the initialization period for a top-up passes. - topUps.initiate(_value, _operator, operatorParams, escrow); + topUps.initiate(_value, _operator, operatorParams); } } @@ -716,24 +696,7 @@ contract TokenStaking is Authorizations, StakeDelegatable { locks.isStakeReleased(_operator, _operatorContract); } - function transferOrDeposit( - address _owner, - address _operator, - uint256 _amount - ) internal { - if (grantStaking.hasGrantDelegated(_operator)) { - // For tokens staked from a grant, transfer them to the escrow. - TokenSender(address(token)).approveAndCall( - address(escrow), - _amount, - abi.encode( - _operator, - grantStaking.getGrantForOperator(_operator) - ) - ); - } else { - // For liquid tokens staked, transfer them straight to the owner. - token.safeTransfer(_owner, _amount); - } + function transferOrDeposit(address _owner, uint256 _amount) internal { + token.safeTransfer(_owner, _amount); } } diff --git a/solidity-v1/contracts/TokenStakingEscrow.sol b/solidity-v1/contracts/TokenStakingEscrow.sol deleted file mode 100644 index e7a1564d2e..0000000000 --- a/solidity-v1/contracts/TokenStakingEscrow.sol +++ /dev/null @@ -1,496 +0,0 @@ -/** -▓▓▌ ▓▓ ▐▓▓ ▓▓▓▓▓▓▓▓▓▓▌▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄ -▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▌▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ - ▓▓▓▓▓▓ ▓▓▓▓▓▓▓▀ ▐▓▓▓▓▓▓ ▐▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓▓▓ ▐▓▓▓▓▓▌ ▐▓▓▓▓▓▓ - ▓▓▓▓▓▓▄▄▓▓▓▓▓▓▓▀ ▐▓▓▓▓▓▓▄▄▄▄ ▓▓▓▓▓▓▄▄▄▄ ▐▓▓▓▓▓▌ ▐▓▓▓▓▓▓ - ▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ▐▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▌ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▀▀▓▓▓▓▓▓▄ ▐▓▓▓▓▓▓▀▀▀▀ ▓▓▓▓▓▓▀▀▀▀ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ - ▓▓▓▓▓▓ ▀▓▓▓▓▓▓▄ ▐▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓▓▓ ▐▓▓▓▓▓▌ -▓▓▓▓▓▓▓▓▓▓ █▓▓▓▓▓▓▓▓▓ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ - - Trust math, not hardware. -*/ - -pragma solidity 0.5.17; - -import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; -import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; -import "openzeppelin-solidity/contracts/math/SafeMath.sol"; - -import "./libraries/grant/UnlockingSchedule.sol"; -import "./utils/BytesLib.sol"; -import "./KeepToken.sol"; -import "./utils/BytesLib.sol"; -import "./TokenGrant.sol"; -import "./ManagedGrant.sol"; -import "./TokenSender.sol"; - -/// @title TokenStakingEscrow -/// @notice Escrow lets the staking contract to deposit undelegated, granted -/// tokens and either withdraw them based on the grant unlocking schedule or -/// re-delegate them to another operator. -/// @dev The owner of TokenStakingEscrow is TokenStaking contract and only owner -/// can deposit. This contract works with an assumption that operator is unique -/// in the scope of `TokenStaking`, that is, no more than one delegation in the -/// `TokenStaking` can be done do the given operator ever. Even if the previous -/// delegation ended, operator address cannot be reused. -contract TokenStakingEscrow is Ownable { - using SafeERC20 for IERC20; - using SafeMath for uint256; - using BytesLib for bytes; - using UnlockingSchedule for uint256; - - event Deposited( - address indexed operator, - uint256 indexed grantId, - uint256 amount - ); - event DepositRedelegated( - address indexed previousOperator, - address indexed newOperator, - uint256 indexed grantId, - uint256 amount - ); - event DepositWithdrawn( - address indexed operator, - address indexed grantee, - uint256 amount - ); - event RevokedDepositWithdrawn( - address indexed operator, - address indexed grantManager, - uint256 amount - ); - event EscrowAuthorized(address indexed grantManager, address escrow); - - IERC20 public keepToken; - TokenGrant public tokenGrant; - - struct Deposit { - uint256 grantId; - uint256 amount; - uint256 withdrawn; - uint256 redelegated; - } - - // operator address -> KEEP deposit - mapping(address => Deposit) internal deposits; - - // Other escrows authorized by grant manager. Grantee may request to migrate - // tokens to another authorized escrow. - // grant manager -> escrow -> authorized? - mapping(address => mapping(address => bool)) internal authorizedEscrows; - - constructor(KeepToken _keepToken, TokenGrant _tokenGrant) public { - keepToken = _keepToken; - tokenGrant = _tokenGrant; - } - - /// @notice receiveApproval accepts deposits from staking contract and - /// stores them in the escrow by the operator address from which they were - /// undelegated. Function expects operator address and grant identifier to - /// be passed as ABI-encoded information in extraData. Grant with the given - /// identifier has to exist. - /// @param from Address depositing tokens - it has to be the address of - /// TokenStaking contract owning TokenStakingEscrow. - /// @param value The amount of KEEP tokens deposited. - /// @param token The address of KEEP token contract. - /// @param extraData ABI-encoded data containing operator address (32 bytes) - /// and grant ID (32 bytes). - function receiveApproval( - address from, - uint256 value, - address token, - bytes memory extraData - ) public { - require(IERC20(token) == keepToken, "Not a KEEP token"); - require(msg.sender == token, "KEEP token is not the sender"); - require(extraData.length == 64, "Unexpected data length"); - - (address operator, uint256 grantId) = - abi.decode(extraData, (address, uint256)); - receiveDeposit(from, value, operator, grantId); - } - - /// @notice Redelegates deposit or part of the deposit to another operator. - /// Uses the same staking contract as the original delegation. - /// @param previousOperator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - /// @dev Only grantee is allowed to call this function. For managed grant, - /// caller has to be the managed grantee. - /// @param amount Amount of tokens to delegate. - /// @param extraData Data for stake delegation. This byte array must have - /// the following values concatenated: - /// - Beneficiary address (20 bytes) - /// - Operator address (20 bytes) - /// - Authorizer address (20 bytes) - function redelegate( - address previousOperator, - uint256 amount, - bytes memory extraData - ) public { - require(extraData.length == 60, "Corrupted delegation data"); - - Deposit memory deposit = deposits[previousOperator]; - - uint256 grantId = deposit.grantId; - address newOperator = extraData.toAddress(20); - require(isGrantee(msg.sender, grantId), "Not authorized"); - require(getAmountRevoked(grantId) == 0, "Grant revoked"); - require( - availableAmount(previousOperator) >= amount, - "Insufficient balance" - ); - require( - !hasDeposit(newOperator), - "Redelegating to previously used operator is not allowed" - ); - - deposits[previousOperator].redelegated = deposit.redelegated.add( - amount - ); - - TokenSender(address(keepToken)).approveAndCall( - owner(), // TokenStaking contract associated with the escrow - amount, - abi.encodePacked(extraData, grantId) - ); - - emit DepositRedelegated(previousOperator, newOperator, grantId, amount); - } - - /// @notice Returns true if there is a deposit for the given operator in - /// the escrow. Otherwise, returns false. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function hasDeposit(address operator) public view returns (bool) { - return depositedAmount(operator) > 0; - } - - /// @notice Returns the currently available amount deposited in the escrow - /// that may or may not be currently withdrawable. The available amount - /// is the amount initially deposited minus the amount withdrawn and - /// redelegated so far from that deposit. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function availableAmount(address operator) public view returns (uint256) { - Deposit memory deposit = deposits[operator]; - return deposit.amount.sub(deposit.withdrawn).sub(deposit.redelegated); - } - - /// @notice Returns the total amount deposited in the escrow after - /// undelegating it from the provided operator. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function depositedAmount(address operator) public view returns (uint256) { - return deposits[operator].amount; - } - - /// @notice Returns grant ID for the amount deposited in the escrow after - /// undelegating it from the provided operator. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function depositGrantId(address operator) public view returns (uint256) { - return deposits[operator].grantId; - } - - /// @notice Returns the amount withdrawn so far from the value deposited - /// in the escrow contract after undelegating it from the provided operator. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function depositWithdrawnAmount(address operator) - public - view - returns (uint256) - { - return deposits[operator].withdrawn; - } - - /// @notice Returns the total amount redelegated so far from the value - /// deposited in the escrow contract after undelegating it from the provided - /// operator. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function depositRedelegatedAmount(address operator) - public - view - returns (uint256) - { - return deposits[operator].redelegated; - } - - /// @notice Returns the currently withdrawable amount that was previously - /// deposited in the escrow after undelegating it from the provided operator. - /// Tokens are unlocked based on their grant unlocking schedule. - /// Function returns 0 for non-existing deposits and revoked grants if they - /// have been revoked before they fully unlocked. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function withdrawable(address operator) public view returns (uint256) { - Deposit memory deposit = deposits[operator]; - - // Staked tokens can be only withdrawn by grantee for non-revoked grant - // assuming that grant has not fully unlocked before it's been - // revoked. - // - // It is not possible for the escrow to determine the number of tokens - // it should return to the grantee of a revoked grant given different - // possible staking contracts and staking policies. - // - // If the entire grant unlocked before it's been reverted, escrow - // lets to withdraw the entire deposited amount. - if (getAmountRevoked(deposit.grantId) == 0) { - (uint256 duration, uint256 start, uint256 cliff) = - getUnlockingSchedule(deposit.grantId); - - uint256 unlocked = - now.getUnlockedAmount(deposit.amount, duration, start, cliff); - - if (deposit.withdrawn.add(deposit.redelegated) < unlocked) { - return unlocked.sub(deposit.withdrawn).sub(deposit.redelegated); - } - } - - return 0; - } - - /// @notice Withdraws currently unlocked tokens deposited in the escrow - /// after undelegating them from the provided operator. Only grantee or - /// operator can call this function. Important: this function can not be - /// called for a `ManagedGrant` grantee. This may lead to locking tokens. - /// For `ManagedGrant`, please use `withdrawToManagedGrantee` instead. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function withdraw(address operator) public { - Deposit memory deposit = deposits[operator]; - address grantee = getGrantee(deposit.grantId); - - // Make sure this function is not called for a managed grant. - // If called for a managed grant, tokens could be locked there. - // Better be safe than sorry. - (bool success, ) = - address(this).call( - abi.encodeWithSignature("getManagedGrantee(address)", grantee) - ); - require(!success, "Can not be called for managed grant"); - - require( - msg.sender == grantee || msg.sender == operator, - "Only grantee or operator can withdraw" - ); - - withdraw(deposit, operator, grantee); - } - - /// @notice Withdraws currently unlocked tokens deposited in the escrow - /// after undelegating them from the provided operator. Only grantee or - /// operator can call this function. This function works only for - /// `ManagedGrant` grantees. For a standard grant, please use `withdraw` - /// instead. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function withdrawToManagedGrantee(address operator) public { - Deposit memory deposit = deposits[operator]; - address managedGrant = getGrantee(deposit.grantId); - address grantee = getManagedGrantee(managedGrant); - - require( - msg.sender == grantee || msg.sender == operator, - "Only grantee or operator can withdraw" - ); - - withdraw(deposit, operator, grantee); - } - - /// @notice Migrates all available tokens to another authorized escrow. - /// Can be requested only by grantee. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - /// @param receivingEscrow Escrow to which tokens should be migrated. - /// @dev The receiving escrow needs to accept deposits from this escrow, at - /// least for the period of migration. - function migrate(address operator, address receivingEscrow) public { - Deposit memory deposit = deposits[operator]; - require(isGrantee(msg.sender, deposit.grantId), "Not authorized"); - - address grantManager = getGrantManager(deposit.grantId); - require( - authorizedEscrows[grantManager][receivingEscrow], - "Escrow not authorized" - ); - - uint256 amountLeft = availableAmount(operator); - deposits[operator].withdrawn = deposit.withdrawn.add(amountLeft); - TokenSender(address(keepToken)).approveAndCall( - receivingEscrow, - amountLeft, - abi.encode(operator, deposit.grantId) - ); - } - - /// @notice Withdraws the entire amount that is still deposited in the - /// escrow in case the grant has been revoked. Anyone can call this function - /// and the entire amount is transferred back to the grant manager. - /// @param operator Address of the operator from the undelegated/canceled - /// delegation from which tokens were deposited. - function withdrawRevoked(address operator) public { - Deposit memory deposit = deposits[operator]; - - require( - getAmountRevoked(deposit.grantId) > 0, - "No revoked tokens to withdraw" - ); - - address grantManager = getGrantManager(deposit.grantId); - withdrawRevoked(deposit, operator, grantManager); - } - - /// @notice Used by grant manager to authorize another escrows for - // funds migration. - function authorizeEscrow(address anotherEscrow) public { - require(anotherEscrow != address(0x0), "Escrow address can't be zero"); - authorizedEscrows[msg.sender][anotherEscrow] = true; - emit EscrowAuthorized(msg.sender, anotherEscrow); - } - - /// @notice Resolves the final grantee of ManagedGrant contract. If the - /// provided address is not a ManagedGrant contract, function reverts. - /// @param managedGrant Address of the managed grant contract. - function getManagedGrantee(address managedGrant) - public - view - returns (address) - { - ManagedGrant grant = ManagedGrant(managedGrant); - return grant.grantee(); - } - - function receiveDeposit( - address from, - uint256 value, - address operator, - uint256 grantId - ) internal { - // This contract works with an assumption that operator is unique. - // This is fine as long as the staking contract works with the same - // assumption so we are limiting deposits to the staking contract only. - require(from == owner(), "Only owner can deposit"); - require( - getAmountGranted(grantId) > 0, - "Grant with this ID does not exist" - ); - - require( - !hasDeposit(operator), - "Stake for the operator already deposited in the escrow" - ); - - keepToken.safeTransferFrom(from, address(this), value); - deposits[operator] = Deposit(grantId, value, 0, 0); - - emit Deposited(operator, grantId, value); - } - - function isGrantee(address maybeGrantee, uint256 grantId) - internal - returns (bool) - { - // Let's check the simplest case first - standard grantee. - // If the given address is set as a grantee for grant with the given ID, - // we return true. - address grantee = getGrantee(grantId); - if (maybeGrantee == grantee) { - return true; - } - - // If the given address is not a standard grantee, there is still - // a chance that address is a managed grantee. We are calling - // getManagedGrantee that will cast the grantee to ManagedGrant and try - // to call getGrantee() function. If this call returns non-zero address, - // it means we are dealing with a ManagedGrant. - (, bytes memory result) = - address(this).call( - abi.encodeWithSignature("getManagedGrantee(address)", grantee) - ); - if (result.length == 0) { - return false; - } - // At this point we know we are dealing with a ManagedGrant, so the last - // thing we need to check is whether the managed grantee of that grant - // is the grantee address passed as a parameter. - address managedGrantee = abi.decode(result, (address)); - return maybeGrantee == managedGrantee; - } - - function withdraw( - Deposit memory deposit, - address operator, - address grantee - ) internal { - uint256 amount = withdrawable(operator); - - deposits[operator].withdrawn = deposit.withdrawn.add(amount); - keepToken.safeTransfer(grantee, amount); - - emit DepositWithdrawn(operator, grantee, amount); - } - - function withdrawRevoked( - Deposit memory deposit, - address operator, - address grantManager - ) internal { - uint256 amount = availableAmount(operator); - deposits[operator].withdrawn = amount; - keepToken.safeTransfer(grantManager, amount); - - emit RevokedDepositWithdrawn(operator, grantManager, amount); - } - - function getAmountGranted(uint256 grantId) - internal - view - returns (uint256 amountGranted) - { - (amountGranted, , , , , ) = tokenGrant.getGrant(grantId); - } - - function getAmountRevoked(uint256 grantId) - internal - view - returns (uint256 amountRevoked) - { - (, , , amountRevoked, , ) = tokenGrant.getGrant(grantId); - } - - function getUnlockingSchedule(uint256 grantId) - internal - view - returns ( - uint256 duration, - uint256 start, - uint256 cliff - ) - { - (, duration, start, cliff, ) = tokenGrant.getGrantUnlockingSchedule( - grantId - ); - } - - function getGrantee(uint256 grantId) - internal - view - returns (address grantee) - { - (, , , , , grantee) = tokenGrant.getGrant(grantId); - } - - function getGrantManager(uint256 grantId) - internal - view - returns (address grantManager) - { - (grantManager, , , , ) = tokenGrant.getGrantUnlockingSchedule(grantId); - } -} diff --git a/solidity-v1/contracts/libraries/staking/GrantStaking.sol b/solidity-v1/contracts/libraries/staking/GrantStaking.sol index 4a5efc00dc..b9aa75a06f 100644 --- a/solidity-v1/contracts/libraries/staking/GrantStaking.sol +++ b/solidity-v1/contracts/libraries/staking/GrantStaking.sol @@ -1,15 +1,12 @@ pragma solidity 0.5.17; import "../../TokenGrant.sol"; -import "../../TokenStakingEscrow.sol"; -import "../..//utils/BytesLib.sol"; import "../RolesLookup.sol"; /// @notice TokenStaking contract library allowing to capture the details of /// delegated grants and offering functions allowing to check grantee /// authentication for stake delegation management. library GrantStaking { - using BytesLib for bytes; using RolesLookup for address payable; /// @dev Grant ID is flagged with the most significant bit set, to @@ -28,39 +25,17 @@ library GrantStaking { } /// @notice Tries to capture delegation data if the pending delegation has - /// been created from a grant. There are only two possibilities and they - /// need to be handled differently: delegation comes from the TokenGrant - /// contract or delegation comes from TokenStakingEscrow. In those two cases - /// grant ID has to be captured in a different way. - /// @dev In case of a delegation from the escrow, it is expected that grant - /// ID is passed in extraData bytes array. When the delegation comes from - /// the TokenGrant contract, delegation data are obtained directly from that - /// contract using `tryCapturingGrantId` function. + /// been created from a grant. + /// @dev Delegation data are obtained directly from the TokenGrant contract + /// using `tryCapturingGrantId` function. /// @param tokenGrant KEEP token grant contract reference. - /// @param escrow TokenStakingEscrow contract address. - /// @param from The owner of the tokens who approved them to transfer. /// @param operator The operator tokens are delegated to. - /// @param extraData Data for stake delegation, as passed to - /// `receiveApproval` of `TokenStaking`. function tryCapturingDelegationData( Storage storage self, TokenGrant tokenGrant, - address escrow, - address from, - address operator, - bytes memory extraData + address operator ) public returns (bool, uint256) { - if (from == escrow) { - require( - extraData.length == 92, - "Corrupted delegation data from escrow" - ); - uint256 grantId = extraData.toUint(60); - setGrantForOperator(self, operator, grantId); - return (true, grantId); - } else { - return tryCapturingGrantId(self, tokenGrant, operator); - } + return tryCapturingGrantId(self, tokenGrant, operator); } /// @notice Checks if the delegation for the given operator has been created diff --git a/solidity-v1/contracts/libraries/staking/TopUps.sol b/solidity-v1/contracts/libraries/staking/TopUps.sol index 034e0f9312..849d6790e6 100644 --- a/solidity-v1/contracts/libraries/staking/TopUps.sol +++ b/solidity-v1/contracts/libraries/staking/TopUps.sol @@ -2,7 +2,6 @@ pragma solidity 0.5.17; import "openzeppelin-solidity/contracts/math/SafeMath.sol"; -import "../../TokenStakingEscrow.sol"; import "../../utils/OperatorParams.sol"; /// @notice TokenStaking contract library allowing to perform two-step stake @@ -36,26 +35,17 @@ library TopUps { /// the tokens should be added to. /// @param operatorParams Parameters of that operator, as stored in the /// staking contract. - /// @param escrow Reference to TokenStakingEscrow contract. /// @return New value of parameters. It should be updated for the operator /// in the staking contract. function instantComplete( - Storage storage self, + Storage storage, uint256 value, address operator, - uint256 operatorParams, - TokenStakingEscrow escrow + uint256 operatorParams ) public returns (uint256 newParams) { // Stake is not yet initialized so we don't need to check if the // operator is not undelegating - initializing and undelegating at the - // same time is not possible. We do however, need to check whether the - // operator has not canceled its previous stake for that operator, - // depositing the stake it in the escrow. We do not want to allow - // resurrecting operators with cancelled stake by top-ups. - require( - !escrow.hasDeposit(operator), - "Stake for the operator already deposited in the escrow" - ); + // same time is not possible. require(value > 0, "Top-up value must be greater than zero"); uint256 newAmount = operatorParams.getAmount().add(value); @@ -78,23 +68,15 @@ library TopUps { /// the tokens should be added to. /// @param operatorParams Parameters of that operator, as stored in the /// staking contract. - /// @param escrow Reference to TokenStakingEscrow contract. function initiate( Storage storage self, uint256 value, address operator, - uint256 operatorParams, - TokenStakingEscrow escrow + uint256 operatorParams ) public { // Stake is initialized, the operator is still active so we need // to check if it's not undelegating. require(!isUndelegating(operatorParams), "Stake undelegated"); - // We also need to check if the stake for the operator is not already - // in the escrow because it's been previously cancelled. - require( - !escrow.hasDeposit(operator), - "Stake for the operator already deposited in the escrow" - ); require(value > 0, "Top-up value must be greater than zero"); TopUp memory awaiting = self.topUps[operator]; diff --git a/solidity-v1/contracts/stubs/ReceivingEscrowStub.sol b/solidity-v1/contracts/stubs/ReceivingEscrowStub.sol deleted file mode 100644 index 5dfb0dc3f3..0000000000 --- a/solidity-v1/contracts/stubs/ReceivingEscrowStub.sol +++ /dev/null @@ -1,31 +0,0 @@ -pragma solidity 0.5.17; - -/// @dev Stub used in TokenStakingEscrow to test migration of tokens between -/// escrows. -contract ReceivingEscrowStub { - struct Received { - uint256 grantId; - uint256 amount; - } - - mapping(address => Received) public received; - - function receiveApproval( - address from, - uint256 value, - address token, - bytes memory extraData - ) public { - (address operator, uint256 grantId) = - abi.decode(extraData, (address, uint256)); - received[operator] = Received(grantId, value); - } - - function depositedAmount(address operator) public view returns (uint256) { - return received[operator].amount; - } - - function depositGrantId(address operator) public view returns (uint256) { - return received[operator].grantId; - } -} diff --git a/solidity-v1/contracts/stubs/TokenStakingSlashingStub.sol b/solidity-v1/contracts/stubs/TokenStakingSlashingStub.sol index d7409d2177..02e527c9d3 100644 --- a/solidity-v1/contracts/stubs/TokenStakingSlashingStub.sol +++ b/solidity-v1/contracts/stubs/TokenStakingSlashingStub.sol @@ -1,7 +1,6 @@ pragma solidity 0.5.17; import "../TokenStaking.sol"; -import "../TokenStakingEscrow.sol"; import "../TokenGrant.sol"; import "../KeepRegistry.sol"; @@ -9,7 +8,6 @@ contract TokenStakingSlashingStub is TokenStaking { constructor( ERC20Burnable _token, TokenGrant _tokenGrant, - TokenStakingEscrow _escrow, KeepRegistry _registry, uint256 _initializationPeriod ) @@ -17,7 +15,6 @@ contract TokenStakingSlashingStub is TokenStaking { TokenStaking( _token, _tokenGrant, - _escrow, _registry, _initializationPeriod ) diff --git a/solidity-v1/contracts/stubs/TokenStakingStub.sol b/solidity-v1/contracts/stubs/TokenStakingStub.sol index e643bc3d27..edc814a028 100644 --- a/solidity-v1/contracts/stubs/TokenStakingStub.sol +++ b/solidity-v1/contracts/stubs/TokenStakingStub.sol @@ -1,7 +1,6 @@ pragma solidity 0.5.17; import "../TokenStaking.sol"; -import "../TokenStakingEscrow.sol"; import "../TokenGrant.sol"; import "../KeepRegistry.sol"; @@ -15,7 +14,6 @@ contract TokenStakingStub is TokenStaking { constructor( ERC20Burnable _token, TokenGrant _tokenGrant, - TokenStakingEscrow _escrow, KeepRegistry _registry, uint256 _initializationPeriod ) @@ -23,7 +21,6 @@ contract TokenStakingStub is TokenStaking { TokenStaking( _token, _tokenGrant, - _escrow, _registry, _initializationPeriod ) diff --git a/solidity-v1/dashboard/.env b/solidity-v1/dashboard/.env deleted file mode 100644 index 935bdbe44e..0000000000 --- a/solidity-v1/dashboard/.env +++ /dev/null @@ -1,2 +0,0 @@ -REACT_APP_VERSION=$npm_package_version -REACT_APP_WALLET_CONNECT_PROJECT_ID=$WALLET_CONNECT_PROJECT_ID diff --git a/solidity-v1/dashboard/.eslintrc b/solidity-v1/dashboard/.eslintrc deleted file mode 100644 index 32ca34a5d4..0000000000 --- a/solidity-v1/dashboard/.eslintrc +++ /dev/null @@ -1,31 +0,0 @@ -{ - "root": true, - "parser": "babel-eslint", - "env": { - "browser": true, - "es6": true - }, - "extends": ["eslint-config-keep", "plugin:react/recommended"], - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 2018, - "sourceType": "module" - }, - "plugins": ["react"], - "rules": { - "react/prop-types": 0, - "react/display-name": 0, - "no-invalid-this": 0 - }, - "settings": { - "react": { - "version": "detect" - } - } -} diff --git a/solidity-v1/dashboard/.gitignore b/solidity-v1/dashboard/.gitignore deleted file mode 100644 index e47e9ddc06..0000000000 --- a/solidity-v1/dashboard/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# dependencies -/node_modules - -# testing -/coverage - -# production -/build - -# generated -/external - -# misc -.DS_Store - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -/src/css/app.css -/src/app.css diff --git a/solidity-v1/dashboard/.prettierignore b/solidity-v1/dashboard/.prettierignore deleted file mode 100644 index 449938d87a..0000000000 --- a/solidity-v1/dashboard/.prettierignore +++ /dev/null @@ -1,6 +0,0 @@ -build/ -external/ -node_modules/ -public/ -# This is an auto-generated file and is not included in repo. -src/css/app.css diff --git a/solidity-v1/dashboard/.prettierrc.js b/solidity-v1/dashboard/.prettierrc.js deleted file mode 100644 index 9a1c2db730..0000000000 --- a/solidity-v1/dashboard/.prettierrc.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - ...require("@keep-network/prettier-config-keep"), - plugins: ["prettier-plugin-sh"], -} diff --git a/solidity-v1/dashboard/Dockerfile b/solidity-v1/dashboard/Dockerfile deleted file mode 100644 index faaf38588a..0000000000 --- a/solidity-v1/dashboard/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -# Build environment -FROM node:11.15.0-alpine as build - -WORKDIR /app - -ENV PATH /app/node_modules/.bin:$PATH - -RUN apk add --update --no-cache \ - git \ - build-base \ - python - -COPY package.json /app/package.json -COPY package-lock.json /app/package-lock.json -COPY .env* /app/ - -# Use `https://` instead of unauthenticated `git://` protocol -RUN git config --global url."https://".insteadOf git:// - -# Install from lockfile. -RUN npm ci --ignore-scripts - -COPY src /app/src -COPY public /app/public - -RUN npm run build - -# Production environment -FROM nginx:1.17-alpine - -COPY --from=build /app/build /usr/share/nginx/html - -RUN rm /etc/nginx/conf.d/default.conf -COPY nginx.conf /etc/nginx/conf.d - -EXPOSE 80 - -## Set `daemon off` so the nginx is run in the foreground. -CMD ["nginx", "-g", "daemon off;"] diff --git a/solidity-v1/dashboard/README.md b/solidity-v1/dashboard/README.md deleted file mode 100644 index 2b7af39c58..0000000000 --- a/solidity-v1/dashboard/README.md +++ /dev/null @@ -1,189 +0,0 @@ -![Token Dashboard / Testnet](https://github.com/keep-network/keep-core/actions/workflows/dashboard-testnet.yml/badge.svg?branch=master&event=push) - -# KEEP Token Dashboard - -A react web app to interact with Keep network staking and token grant contracts. -User has the ability to visualize their token and stake balances, token grant unlocking schedules, stake delegate/undelegate their tokens, grant tokens via new unlocking schedules. - -## Development setup - -### MacOS - -- Install [Ganache](http://truffleframework.com/ganache/) and [Brew](https://brew.sh/) -- Install node.js via brew `brew install node`. If you experience errors during `npm install` please try previous versions of node i.e. `brew install node@11` -- Run Ganache and make sure it is using the correct port (8545): - - - Under settings, change port number to 8545 - -- Deploy contracts demo setup to it: - -``` -cd keep-core/solidity-v1 -npm install -npm run demo -``` - -- Go to the dashboard directory `cd dashboard` and run `npm install` - -- Run `npm start` - -- Open [http://localhost:3000](http://localhost:3000) to view the dashboard. - -- Use metamask with `localhost:8545` to use Ganache test network. Import your first Ganache test account into metamask and you should be able to see the demo data. - -### Windows - -- Install [Ganache](https://github.com/trufflesuite/ganache/releases) -- Install node.js and npm. (https://nodejs.org/en/) -- Run Ganache and make sure it is using the correct port (8545): - - Under settings, change port number to 8545. -- Start powershell as Administrator. - -- Deploy contracts demo setup: - -``` -cd keep-core/solidity-v1 -npm install -``` - -- run package.json demo scripts individually: - -``` -truffle migrate --reset -truffle exec ./scripts/delegate-tokens.js -``` - -- Go to the dashboard directory `cd dashboard` and run `npm install` - -- Run `npm start` - -- Open [http://localhost:3000](http://localhost:3000) to view the dashboard. - -- Use metamask with `localhost:8545` to use Ganache test network. Import your first Ganache test account into metamask and you should be able to see the demo data. - -### Troubleshooting - -The `dashboard` package contains an indirect dependency to -`@summa-tx/relay-sol@2.0.2` package, which downloads one of its sub-dependencies -via unathenticated `git://` protocol. That protocol is no longer supported by -GitHub. This means that in certain situations installation of the package or -update of its dependencies using NPM may result in `The unauthenticated git protocol on port 9418 is no longer supported` error. - -As a workaround, we advise changing Git configuration to use `https://` protocol -instead of `git://` by executing: - -``` -git config --global url."https://".insteadOf git:// -``` - -### Work with contracts deployed locally - -#### Prerequisite - -- clone [keep-ecdsa](https://github.com/keep-network/keep-ecdsa) -- clone [tbtc](https://github.com/keep-network/tbtc) - -#### To quickly install and start working on the Keep Dashboard dApp, run `./scripts/start_dashboard.sh`. This script will: - -- migrate `keep-core`, `tbtc`, `keep-ecdsa` contracts, -- fetch the necessary addresses and replace them in `keep-ecdsa/solidity/migrations/external-contracts/js` -- create symlinks for `keep-core` - -After the steps above, run `npm start` - -When you don’t want to use the local version of `@keep-network/keep-core` anymore, delete the symlink with `npm uninstall --no-save @keep-network/keep-core && npm install`. - -### Internal testnet - -A new version of staking dApp is automatically deployed to `keep-dev` internal testnet after each `main` merge. dApp can be accessed at [https://dashboard.dev.keep.network/](https://dashboard.dev.keep.network/) and requires an initial setup in MetaMask before the first use. All the setup described below has to be done only one time. - -### MetaMask extension setup - -MetaMask is a web browser extension allowing to interact with Ethereum-enabled distributed applications (dApps). MetaMask is available for Chrome, Firefox, and Opera desktop browsers. To install MetaMask, please go through the extension installation process individual for your web browser used. - -Before the MetaMask can be used for the first time, it requires an initial setup when the user creates a new Wallet. It includes setting up a wallet password, accepting terms of use, creating and confirming backup phrase. - -### MetaMask network configuration - -Before MetaMask can be used with `keep-dev` testnet for the first time, it needs to know what `keep-dev` is. This process includes setting up a new network: - -1. Make sure you are connected to `keep-dev` testnet via VPN -2. Expand the list of networks and click on `Custom RPC` -3. Set `Network Name` to `keep-dev` -4. Set `New RPC URL` to `http://eth-tx-node.default.svc.cluster.local:8545` -5. Set `ChainID` to `1101` -6. Click `Save` - -### MetaMask KEEP token owner account import - -On `keep-dev`, account `0x0f0977c4161a371b5e5ee6a8f43eb798cd1ae1db` is the owner of contracts including KEEP ERC20 token contract. This account can be used to create token grants and delegate stake to operators. Grantees of tokens can also stake-delegate their grants. - -To use this account in the dApp, it needs to be imported from [the JSON file](https://github.com/keep-network/keep-core/blob/main/private-testnet/keyfiles/UTC--2019-03-27T19-05-16.429364100Z--0f0977c4161a371b5e5ee6a8f43eb798cd1ae1db) secured by a [password](https://github.com/keep-network/keep-core/blob/main/private-testnet/eth-account-password.txt). - -1. Download the account JSON file -2. Expand the list of accounts and click on `Import Account` -3. Select `JSON file` type -4. Click `Browse` and point MetaMask to the previously downloaded account JSON file -5. Copy-paste the password from the referenced password file -6. Click `Import` - -### Hardware wallets - -## TREZOR EMULATOR - -### Quick setup - -1. [Download and run the trezor bridge](https://github.com/trezor/trezord-go) - -- Navigate to `/trezord-go` directory and run `./trezord-go -e 21324` - -2. [Clone the Trezor repo](https://github.com/trezor/trezor-firmware) - -- Navigate to `/trezor-firmware/core` directory and run `make emu` - -For more config information you can follow these links: - -1. [Trezor Bridge](https://github.com/trezor/trezord-go) -2. [pip3 dependencies](https://github.com/trezor/trezor-firmware/blob/master/docs/core/build/index.md) -3. [Setup and run the emulator](https://github.com/trezor/trezor-firmware/blob/master/docs/core/emulator/index.md) - -## LEDGER - -To test the dapp with the ledger hardware wallet run the following command: -`HTTPS=true npm start` - -## WalletConnect - -To test WalletConnect integration follow these steps: - -1. Clone - [`walletconnect-test-wallet`](https://github.com/WalletConnect/walletconnect-test-wallet) - repo: - 1. Add infura project id in the `src/.env` file - `REACT_APP_INFURA_PROJECT_ID=`, - 2. Add a local network param in the `src/constants/chains.ts` eg. params for - local ganache network: - ```json - { - "name": "Ethereum Ganache", - "short_name": "eth_ganache", - "chain": "ETH", - "network": "local_ganache", - "chain_id": 1337, - "network_id": 1101, - "rpc_url": "http://localhost:8545", - "native_currency": { - "symbol": "ETH", - "name": "Ether", - "decimals": "18", - "contractAddress": "", - "balance": "" - } - } - ``` - 3. Install `walletconnect-test-wallet` dependencies: `npm install` - 4. Run `walletconnect-test-wallet` app: `npm start` -2. In the KEEP token dashboard select the `WalletConnect` option to connect with - the test walletconnect wallet. The modal with QR code will be displayed. Copy - code and past to the `walletconnect-test-wallet`. The dapp should successfully - connect with a wallet. diff --git a/solidity-v1/dashboard/craco.config.js b/solidity-v1/dashboard/craco.config.js deleted file mode 100644 index 45e6d84e31..0000000000 --- a/solidity-v1/dashboard/craco.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - babel: { - plugins: [ - "@babel/plugin-proposal-nullish-coalescing-operator", - "@babel/plugin-proposal-optional-chaining", - ], - }, -} diff --git a/solidity-v1/dashboard/jsconfig.json b/solidity-v1/dashboard/jsconfig.json deleted file mode 100644 index 45c8120508..0000000000 --- a/solidity-v1/dashboard/jsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "typeAcquisition": { - "include": ["jest"] - } -} diff --git a/solidity-v1/dashboard/nginx.conf b/solidity-v1/dashboard/nginx.conf deleted file mode 100644 index 9a8399380c..0000000000 --- a/solidity-v1/dashboard/nginx.conf +++ /dev/null @@ -1,10 +0,0 @@ -server { - - listen 80; - - location / { - root /usr/share/nginx/html; - index index.html index.htm; - try_files $uri $uri/ /index.html; - } -} diff --git a/solidity-v1/dashboard/package-lock.json b/solidity-v1/dashboard/package-lock.json deleted file mode 100644 index 2d4a742a42..0000000000 --- a/solidity-v1/dashboard/package-lock.json +++ /dev/null @@ -1,31408 +0,0 @@ -{ - "name": "dashboard", - "version": "1.21.0-pre", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "dashboard", - "version": "1.21.0-pre", - "license": "MIT", - "dependencies": { - "@0x/subproviders": "^6.0.8", - "@keep-network/coverage-pools": "1.1.0-dev.2", - "@keep-network/keep-core": ">1.8.0-dev <1.8.0-pre", - "@keep-network/keep-ecdsa": ">1.9.0-dev <1.9.0-ropsten", - "@keep-network/tbtc": ">1.1.2-dev <1.1.2-pre", - "@ledgerhq/hw-app-eth": "^5.13.0", - "@ledgerhq/hw-transport-webusb": "^6.24.1", - "@rehooks/local-storage": "^2.4.4", - "@threshold-network/solidity-contracts": ">1.1.0-dev <1.1.0-ropsten", - "@walletconnect/ethereum-provider": "2.9.0", - "@walletconnect/keyvaluestorage": "1.0.2", - "@walletconnect/modal": "2.5.9", - "@walletconnect/web3-subprovider": "^1.3.6", - "axios": "^1.8.2", - "bignumber.js": "9.0.0", - "copy-to-clipboard": "^3.3.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "formik": "^2.1.3", - "less": "^3.9.0", - "less-plugin-clean-css": "^1.5.1", - "less-watch-compiler": "^1.10.0", - "moment": "2.29.4", - "react": "^16.13.1", - "react-accessible-accordion": "^4.0.0", - "react-countup": "^4.3.3", - "react-device-detect": "^2.1.2", - "react-dom": "^16.13.1", - "react-redux": "^7.2.1", - "react-router-dom": "^5.1.2", - "react-scripts": "^3.4.1", - "react-tooltip": "^4.2.21", - "react-transition-group": "^4.3.0", - "recharts": "^1.8.5", - "redux": "^4.0.5", - "redux-devtools-extension": "^2.13.8", - "redux-saga": "^1.1.3", - "trezor-connect": "^8.0.13", - "web3": "1.3.3", - "web3-provider-engine": "15.0.6" - }, - "devDependencies": { - "@craco/craco": "5.8.0", - "@keep-network/prettier-config-keep": "github:keep-network/prettier-config-keep#a1a333e", - "@redux-saga/testing-utils": "^1.1.3", - "@testing-library/react-hooks": "^5.1.2", - "@types/jest": "^26.0.21", - "eslint": "^6.8.0", - "eslint-config-keep": "github:keep-network/eslint-config-keep#0c27ade", - "prettier": "^2.3.2", - "prettier-plugin-sh": "^0.7.1", - "redux-saga-test-plan": "^4.0.1" - } - }, - "node_modules/@0x/assert": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@0x/assert/-/assert-3.0.8.tgz", - "integrity": "sha512-vlJHRexmpUedMPV/Uqb0QFlW1E3ZNC75NwO66Yygvicdl0hQSA/nut/Qsv83mQzEoERpnMuJMammX8fru20utA==", - "dependencies": { - "@0x/json-schemas": "^5.0.8", - "@0x/typescript-typings": "^5.1.0", - "@0x/utils": "^5.5.0", - "lodash": "^4.17.11", - "valid-url": "^1.0.9" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@0x/json-schemas": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@0x/json-schemas/-/json-schemas-5.0.8.tgz", - "integrity": "sha512-G1MHiGdudy9YdkMuukmjw4Afi7GqE4qQUYam5E3MTCd/C+2E+ezJOp4XoSZChKLsTKw+i8rVHOLP9jbGwKwArg==", - "dependencies": { - "@0x/typescript-typings": "^5.1.0", - "@types/node": "*", - "jsonschema": "^1.2.0", - "lodash.values": "^4.3.0" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@0x/subproviders": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@0x/subproviders/-/subproviders-6.1.0.tgz", - "integrity": "sha512-oazHwpMjloe1LQNHyaCPPCtde7Yn/Mi0lATyhk8CSC/djdeS3ZPt+q2O7OiMjkwsQtnwRPBgqnPznM3gJuvF5Q==", - "hasInstallScript": true, - "dependencies": { - "@0x/assert": "^3.0.8", - "@0x/types": "^3.1.3", - "@0x/typescript-typings": "^5.1.0", - "@0x/utils": "^5.5.0", - "@0x/web3-wrapper": "^7.1.0", - "@ledgerhq/hw-app-eth": "^4.3.0", - "@ledgerhq/hw-transport-u2f": "4.24.0", - "@types/hdkey": "^0.7.0", - "@types/web3-provider-engine": "^14.0.0", - "bip39": "^2.5.0", - "bn.js": "^4.11.8", - "ethereum-types": "^3.1.1", - "ethereumjs-tx": "^1.3.5", - "ethereumjs-util": "^5.1.1", - "ganache-core": "^2.10.2", - "hdkey": "^0.7.1", - "json-rpc-error": "2.0.0", - "lodash": "^4.17.11", - "semaphore-async-await": "^1.5.1", - "web3-provider-engine": "14.0.6" - }, - "engines": { - "node": ">=6.12" - }, - "optionalDependencies": { - "@ledgerhq/hw-transport-node-hid": "^4.3.0" - } - }, - "node_modules/@0x/subproviders/node_modules/@ledgerhq/hw-app-eth": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-4.78.0.tgz", - "integrity": "sha512-m4s4Zhy4lwYJjZB3xPeGV/8mxQcnoui+Eu1KDEl6atsquZHUpbtern/0hZl88+OlFUz0XrX34W3I9cqj61Y6KA==", - "dependencies": { - "@ledgerhq/errors": "^4.78.0", - "@ledgerhq/hw-transport": "^4.78.0" - } - }, - "node_modules/@0x/subproviders/node_modules/@ledgerhq/hw-transport-u2f": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-4.24.0.tgz", - "integrity": "sha512-/gFjhkM0sJfZ7iUf8HoIkGufAWgPacrbb1LW0TvWnZwvsATVJ1BZJBtrr90Wo401PKsjVwYtFt3Ce4gOAUv9jQ==", - "deprecated": "@ledgerhq/hw-transport-u2f is deprecated. Please use @ledgerhq/hw-transport-webusb or @ledgerhq/hw-transport-webhid. https://github.com/LedgerHQ/ledgerjs/blob/master/docs/migrate_webusb.md", - "dependencies": { - "@ledgerhq/hw-transport": "^4.24.0", - "u2f-api": "0.2.7" - } - }, - "node_modules/@0x/subproviders/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/@0x/subproviders/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/@0x/subproviders/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/@0x/subproviders/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/@0x/subproviders/node_modules/web3-provider-engine": { - "version": "14.0.6", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-14.0.6.tgz", - "integrity": "sha512-tr5cGSyxfSC/JqiUpBlJtfZpwQf1yAA8L/zy1C6fDFm0ntR974pobJ4v4676atpZne4Ze5VFy3kPPahHe9gQiQ==", - "deprecated": "This package has been deprecated, see the README for details: https://github.com/MetaMask/web3-provider-engine", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.67.0", - "semaphore": "^1.0.3", - "tape": "^4.4.0", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/@0x/types": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@0x/types/-/types-3.1.3.tgz", - "integrity": "sha512-6lHKOlr90zN5P/Rrg/SfdHXUASU4ZDBr5Y4IBwwKrrPo/XetxNFxdZQcDxmVJT8aG13f7r6xnDwwlEyFtvnWEQ==", - "dependencies": { - "@types/node": "*", - "bignumber.js": "~9.0.0", - "ethereum-types": "^3.1.1" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@0x/typescript-typings": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@0x/typescript-typings/-/typescript-typings-5.1.0.tgz", - "integrity": "sha512-djQWgwabVgQ5jH3KFlrzOdLVZhYRpOIwlZtvkeznjToi8Xw2YXBoX0OL6ZJ/PhyNCEgtopO11HsHTR2mcyKyIg==", - "dependencies": { - "@types/bn.js": "^4.11.0", - "@types/react": "*", - "bignumber.js": "~9.0.0", - "ethereum-types": "^3.1.1", - "popper.js": "1.14.3" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@0x/utils": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@0x/utils/-/utils-5.5.0.tgz", - "integrity": "sha512-2rDKKzdbPEjKXv5HSrkB6VzukZrd1EJGXFhJIlLEN/c2Z9svFnWhQiSlPQX0o1bK435gJQbd1I3B6O3I2TkLrQ==", - "dependencies": { - "@0x/types": "^3.1.3", - "@0x/typescript-typings": "^5.1.0", - "@types/node": "*", - "abortcontroller-polyfill": "^1.1.9", - "bignumber.js": "~9.0.0", - "chalk": "^2.3.0", - "detect-node": "2.0.3", - "ethereum-types": "^3.1.1", - "ethereumjs-util": "^5.1.1", - "ethers": "~4.0.4", - "isomorphic-fetch": "2.2.1", - "js-sha3": "^0.7.0", - "lodash": "^4.17.11" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@0x/web3-wrapper": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@0x/web3-wrapper/-/web3-wrapper-7.1.0.tgz", - "integrity": "sha512-RsoicjFtL0tLRIXJKPTRtpjQ7/+/CYb1q7lFfh1Viz3bRv1pqT6MwrRfaUkLAxb649KtX4CWOSOn7WiZjMQFZQ==", - "dependencies": { - "@0x/assert": "^3.0.8", - "@0x/json-schemas": "^5.0.8", - "@0x/typescript-typings": "^5.1.0", - "@0x/utils": "^5.5.0", - "ethereum-types": "^3.1.1", - "ethereumjs-util": "^5.1.1", - "ethers": "~4.0.4", - "lodash": "^4.17.11" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", - "dependencies": { - "@babel/highlight": "^7.10.3" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz", - "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==", - "dependencies": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/compat-data/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", - "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", - "dependencies": { - "@babel/types": "^7.10.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", - "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", - "dependencies": { - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz", - "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.3", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-builder-react-jsx": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.3.tgz", - "integrity": "sha512-vkxmuFvmovtqTZknyMGj9+uQAZzz5Z9mrbnkJnPkaYGfKTaSsYcjQdXP0lgrWLVh8wU6bCjOmXOpx+kqUi+S5Q==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-builder-react-jsx-experimental": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.1.tgz", - "integrity": "sha512-irQJ8kpQUV3JasXPSFQ+LCCtJSc5ceZrPFVj6TElR6XCHssi3jV8ch3odIrNtjJFRZZVbrOEfJMI79TPU/h1pQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-module-imports": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", - "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", - "dependencies": { - "@babel/compat-data": "^7.10.1", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz", - "integrity": "sha512-iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-member-expression-to-functions": "^7.10.3", - "@babel/helper-optimise-call-expression": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", - "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-regex": "^7.10.1", - "regexpu-core": "^4.7.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz", - "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.3", - "@babel/types": "^7.10.3", - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz", - "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==", - "dependencies": { - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", - "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.3", - "@babel/template": "^7.10.3", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", - "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", - "dependencies": { - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz", - "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==", - "dependencies": { - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", - "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", - "dependencies": { - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", - "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", - "dependencies": { - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", - "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", - "dependencies": { - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==" - }, - "node_modules/@babel/helper-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", - "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", - "dependencies": { - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz", - "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", - "dependencies": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dependencies": { - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", - "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==" - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", - "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", - "dependencies": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "node_modules/@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.3", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/@babel/parser": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", - "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz", - "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-remap-async-to-generator": "^7.10.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz", - "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz", - "integrity": "sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-decorators": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", - "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", - "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-json-strings": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", - "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", - "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-numeric-separator": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz", - "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", - "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz", - "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz", - "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", - "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz", - "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz", - "integrity": "sha512-a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.1.tgz", - "integrity": "sha512-b3pWVncLBYoPP60UOTc7NMlbtsHQ6ITim78KQejNHK6WJ2mzV5kCcg4mIWpasAfJEgwVTibwo2e+FU7UEIKQUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.1.tgz", - "integrity": "sha512-+OxyOArpVFXQeXKLO9o+r2I4dIoVoy6+Uu0vKELrlweDM3QJADZj+Z+5ERansZqIZBcLj42vHnDI8Rz9BnRIuQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", - "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", - "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.1.tgz", - "integrity": "sha512-X/d8glkrAtra7CaQGMiGs/OGa6XgUzqPcBXCIGFCpCqnfGlT0Wfbzo/B89xHhnInTaItPK8LALblVXcUOEh95Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", - "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", - "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", - "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", - "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "lodash": "^4.17.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz", - "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-optimise-call-expression": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz", - "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", - "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", - "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", - "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", - "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz", - "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-flow": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", - "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", - "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", - "dependencies": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", - "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", - "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", - "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", - "dependencies": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", - "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", - "dependencies": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", - "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.10.3", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", - "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", - "dependencies": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz", - "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", - "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", - "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", - "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", - "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.1.tgz", - "integrity": "sha512-V4os6bkWt/jbrzfyVcZn2ZpuHZkvj3vyBU0U/dtS8SZuMS7Rfx5oknTrtfyXJ2/QZk8gX7Yls5Z921ItNpE30Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.3.tgz", - "integrity": "sha512-dOV44bnSW5KZ6kYF6xSHBth7TFiHHZReYXH/JH3XnFNV+soEL1F5d8JT7AJ3ZBncd19Qul7SN4YpBnyWOnQ8KA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.3.tgz", - "integrity": "sha512-Y21E3rZmWICRJnvbGVmDLDZ8HfNDIwjGF3DXYHx1le0v0mIHCs0Gv5SavyW5Z/jgAHLaAoJPiwt+Dr7/zZKcOQ==", - "dependencies": { - "@babel/helper-builder-react-jsx": "^7.10.3", - "@babel/helper-builder-react-jsx-experimental": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/plugin-syntax-jsx": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.1.tgz", - "integrity": "sha512-XwDy/FFoCfw9wGFtdn5Z+dHh6HXKHkC6DwKNWpN74VWinUagZfDcEJc3Y8Dn5B3WMVnAllX8Kviaw7MtC5Epwg==", - "dependencies": { - "@babel/helper-builder-react-jsx-experimental": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-jsx": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.1.tgz", - "integrity": "sha512-4p+RBw9d1qV4S749J42ZooeQaBomFPrSxa9JONLHJ1TxCBo3TzJ79vtmG2S2erUT8PDDrPdw4ZbXGr2/1+dILA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-jsx": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.1.tgz", - "integrity": "sha512-neAbaKkoiL+LXYbGDvh6PjPG+YeA67OsZlE78u50xbWh2L1/C81uHiNP5d1fw+uqUIoiNdCC8ZB+G4Zh3hShJA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-jsx": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.3.tgz", - "integrity": "sha512-n/fWYGqvTl7OLZs/QcWaKMFdADPvC3V6jYuEOpPyvz97onsW9TXn196fHnHW1ZgkO20/rxLOgKnEtN1q9jkgqA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz", - "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==", - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator/node_modules/regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", - "dependencies": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", - "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz", - "integrity": "sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw==", - "dependencies": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", - "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", - "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", - "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-regex": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz", - "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", - "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.3.tgz", - "integrity": "sha512-qU9Lu7oQyh3PGMQncNjQm8RWkzw6LqsWZQlZPQMgrGt6s3YiBIaQ+3CQV/FA/icGS5XlSWZGwo/l8ErTyelS0Q==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/plugin-syntax-typescript": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz", - "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", - "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.3.tgz", - "integrity": "sha512-jHaSUgiewTmly88bJtMHbOd1bJf2ocYxb5BWKSDQIP5tmgFuS/n0gl+nhSrYDhT33m0vPxp+rP8oYYgPgMNQlg==", - "dependencies": { - "@babel/compat-data": "^7.10.3", - "@babel/helper-compilation-targets": "^7.10.2", - "@babel/helper-module-imports": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/plugin-proposal-async-generator-functions": "^7.10.3", - "@babel/plugin-proposal-class-properties": "^7.10.1", - "@babel/plugin-proposal-dynamic-import": "^7.10.1", - "@babel/plugin-proposal-json-strings": "^7.10.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", - "@babel/plugin-proposal-numeric-separator": "^7.10.1", - "@babel/plugin-proposal-object-rest-spread": "^7.10.3", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", - "@babel/plugin-proposal-optional-chaining": "^7.10.3", - "@babel/plugin-proposal-private-methods": "^7.10.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.1", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.1", - "@babel/plugin-transform-arrow-functions": "^7.10.1", - "@babel/plugin-transform-async-to-generator": "^7.10.1", - "@babel/plugin-transform-block-scoped-functions": "^7.10.1", - "@babel/plugin-transform-block-scoping": "^7.10.1", - "@babel/plugin-transform-classes": "^7.10.3", - "@babel/plugin-transform-computed-properties": "^7.10.3", - "@babel/plugin-transform-destructuring": "^7.10.1", - "@babel/plugin-transform-dotall-regex": "^7.10.1", - "@babel/plugin-transform-duplicate-keys": "^7.10.1", - "@babel/plugin-transform-exponentiation-operator": "^7.10.1", - "@babel/plugin-transform-for-of": "^7.10.1", - "@babel/plugin-transform-function-name": "^7.10.1", - "@babel/plugin-transform-literals": "^7.10.1", - "@babel/plugin-transform-member-expression-literals": "^7.10.1", - "@babel/plugin-transform-modules-amd": "^7.10.1", - "@babel/plugin-transform-modules-commonjs": "^7.10.1", - "@babel/plugin-transform-modules-systemjs": "^7.10.3", - "@babel/plugin-transform-modules-umd": "^7.10.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.3", - "@babel/plugin-transform-new-target": "^7.10.1", - "@babel/plugin-transform-object-super": "^7.10.1", - "@babel/plugin-transform-parameters": "^7.10.1", - "@babel/plugin-transform-property-literals": "^7.10.1", - "@babel/plugin-transform-regenerator": "^7.10.3", - "@babel/plugin-transform-reserved-words": "^7.10.1", - "@babel/plugin-transform-shorthand-properties": "^7.10.1", - "@babel/plugin-transform-spread": "^7.10.1", - "@babel/plugin-transform-sticky-regex": "^7.10.1", - "@babel/plugin-transform-template-literals": "^7.10.3", - "@babel/plugin-transform-typeof-symbol": "^7.10.1", - "@babel/plugin-transform-unicode-escapes": "^7.10.1", - "@babel/plugin-transform-unicode-regex": "^7.10.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.3", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.10.1.tgz", - "integrity": "sha512-Rw0SxQ7VKhObmFjD/cUcKhPTtzpeviEFX1E6PgP+cYOhQ98icNqtINNFANlsdbQHrmeWnqdxA4Tmnl1jy5tp3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-transform-react-display-name": "^7.10.1", - "@babel/plugin-transform-react-jsx": "^7.10.1", - "@babel/plugin-transform-react-jsx-development": "^7.10.1", - "@babel/plugin-transform-react-jsx-self": "^7.10.1", - "@babel/plugin-transform-react-jsx-source": "^7.10.1", - "@babel/plugin-transform-react-pure-annotations": "^7.10.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz", - "integrity": "sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-typescript": "^7.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.3.tgz", - "integrity": "sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.3.tgz", - "integrity": "sha512-HA7RPj5xvJxQl429r5Cxr2trJwOfPjKiqhCXcdQPSqO2G0RHPZpXu4fkYmBaTKCp2c/jRaMK9GB/lN+7zvvFPw==", - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/runtime-corejs3/node_modules/regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" - }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" - }, - "node_modules/@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dependencies": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - }, - "node_modules/@babel/traverse": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", - "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", - "dependencies": { - "@babel/code-frame": "^7.10.3", - "@babel/generator": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.3", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@babel/types/node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/base/-/base-1.1.0.tgz", - "integrity": "sha512-CKWx0UyeYTGIQLPzcopA6Y0CDcapga0fTHod3ZVYjVlH/HsVQlm2MjSQp8iTMeLu91mPYDo581HcATlCkZ58Rg==" - }, - "node_modules/@celo/connect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/connect/-/connect-1.1.0.tgz", - "integrity": "sha512-XUIKhI6BeYYD6ZA5P09ZspuUdYIa+Cg2rGavrGaWXa03SHXpJVy9iG/NhcGC9VpNrDCeW4TdNFhEveXnnDWsrg==", - "deprecated": "Versions less than 5.1 are deprecated and will no longer be able to submit transactions to celo in a future hardfork", - "dependencies": { - "@celo/utils": "1.1.0", - "@types/debug": "^4.1.5", - "@types/utf8": "^2.1.6", - "bignumber.js": "^9.0.0", - "debug": "^4.1.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.13.0" - }, - "peerDependencies": { - "web3": "1.3.4" - } - }, - "node_modules/@celo/connect/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@celo/connect/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@celo/contractkit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/contractkit/-/contractkit-1.1.0.tgz", - "integrity": "sha512-PgAMR71A08cZGhOICtrNj8EfYMon7PWNMQD+52X38CvfVJkg+/d56vfgbhBTHluQEhRTA/F0Y9MG3qgSUAzvDg==", - "deprecated": "Versions less than 5.1 are deprecated and will no longer be able to submit transactions to celo in a future hardfork", - "dependencies": { - "@celo/base": "1.1.0", - "@celo/connect": "1.1.0", - "@celo/utils": "1.1.0", - "@celo/wallet-local": "1.1.0", - "@types/debug": "^4.1.5", - "bignumber.js": "^9.0.0", - "cross-fetch": "3.0.4", - "debug": "^4.1.1", - "fp-ts": "2.1.1", - "io-ts": "2.0.1", - "moment": "^2.29.0", - "web3": "1.3.4" - }, - "engines": { - "node": ">=8.13.0" - } - }, - "node_modules/@celo/contractkit/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@celo/contractkit/node_modules/cross-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", - "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", - "dependencies": { - "node-fetch": "2.6.0", - "whatwg-fetch": "3.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@celo/contractkit/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/contractkit/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "node_modules/@celo/contractkit/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/contractkit/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/contractkit/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@celo/contractkit/node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/contractkit/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@celo/contractkit/node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/@celo/contractkit/node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/@celo/contractkit/node_modules/swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/@celo/contractkit/node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@celo/contractkit/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@celo/contractkit/node_modules/util": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", - "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/@celo/contractkit/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/@celo/contractkit/node_modules/web3": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.4.tgz", - "integrity": "sha512-D6cMb2EtTMLHgdGbkTPGl/Qi7DAfczR+Lp7iFX3bcu/bsD9V8fZW69hA8v5cRPNGzXUwVQebk3bS17WKR4cD2w==", - "dependencies": { - "web3-bzz": "1.3.4", - "web3-core": "1.3.4", - "web3-eth": "1.3.4", - "web3-eth-personal": "1.3.4", - "web3-net": "1.3.4", - "web3-shh": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-bzz": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.4.tgz", - "integrity": "sha512-DBRVQB8FAgoAtZCpp2GAGPCJjgBgsuwOKEasjV044AAZiONpXcKHbkO6G1SgItIixnrJsRJpoGLGw52Byr6FKw==", - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.4.tgz", - "integrity": "sha512-7OJu46RpCEfTerl+gPvHXANR2RkLqAfW7l2DAvQ7wN0pnCzl9nEfdgW6tMhr31k3TR2fWucwKzCyyxMGzMHeSA==", - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.3.4", - "web3-core-method": "1.3.4", - "web3-core-requestmanager": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core-helpers": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.4.tgz", - "integrity": "sha512-n7BqDalcTa1stncHMmrnFtyTgDhX5Fy+avNaHCf6qcOP2lwTQC8+mdHVBONWRJ6Yddvln+c8oY/TAaB6PzWK0A==", - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core-method": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.4.tgz", - "integrity": "sha512-JxmQrujsAWYRRN77P/RY7XuZDCzxSiiQJrgX/60Lfyf7FF1Y0le4L/UMCi7vUJnuYkbU1Kfl9E0udnqwyPqlvQ==", - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.4", - "web3-core-promievent": "1.3.4", - "web3-core-subscriptions": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core-promievent": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.4.tgz", - "integrity": "sha512-V61dZIeBwogg6hhZZUt0qL9hTp1WDhnsdjP++9fhTDr4vy/Gz8T5vibqT2LLg6lQC8i+Py33yOpMeMNjztaUaw==", - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core-requestmanager": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.4.tgz", - "integrity": "sha512-xriouCrhVnVDYQ04TZXdEREZm0OOJzkSEsoN5bu4JYsA6e/HzROeU+RjDpMUxFMzN4wxmFZ+HWbpPndS3QwMag==", - "dependencies": { - "underscore": "1.9.1", - "util": "^0.12.0", - "web3-core-helpers": "1.3.4", - "web3-providers-http": "1.3.4", - "web3-providers-ipc": "1.3.4", - "web3-providers-ws": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-core-subscriptions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.4.tgz", - "integrity": "sha512-drVHVDxh54hv7xmjIm44g4IXjfGj022fGw4/meB5R2D8UATFI40F73CdiBlyqk3DysP9njDOLTJFSQvEkLFUOg==", - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.4.tgz", - "integrity": "sha512-8OIVMLbvmx+LB5RZ4tDhXuFGWSdNMrCZ4HM0+PywQ08uEcmAcqTMFAn4vdPii+J8gCatZR501r1KdzX3SDLoPw==", - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.3.4", - "web3-core-helpers": "1.3.4", - "web3-core-method": "1.3.4", - "web3-core-subscriptions": "1.3.4", - "web3-eth-abi": "1.3.4", - "web3-eth-accounts": "1.3.4", - "web3-eth-contract": "1.3.4", - "web3-eth-ens": "1.3.4", - "web3-eth-iban": "1.3.4", - "web3-eth-personal": "1.3.4", - "web3-net": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-abi": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.4.tgz", - "integrity": "sha512-PVSLXJ2dzdXsC+R24llIIEOS6S1KhG5qwNznJjJvXZFe3sqgdSe47eNvwUamZtCBjcrdR/HQr+L/FTxqJSf80Q==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.9.1", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-accounts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.4.tgz", - "integrity": "sha512-gz9ReSmQEjqbYAjpmAx+UZF4CVMbyS4pfjSYWGAnNNI+Xz0f0u0kCIYXQ1UEaE+YeLcYiE+ZlZdgg6YoatO5nA==", - "dependencies": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.3.4", - "web3-core-helpers": "1.3.4", - "web3-core-method": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-contract": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.4.tgz", - "integrity": "sha512-Fvy8ZxUksQY2ePt+XynFfOiSqxgQtMn4m2NJs6VXRl2Inl17qyRi/nIJJVKTcENLocm+GmZ/mxq2eOE5u02nPg==", - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.3.4", - "web3-core-helpers": "1.3.4", - "web3-core-method": "1.3.4", - "web3-core-promievent": "1.3.4", - "web3-core-subscriptions": "1.3.4", - "web3-eth-abi": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-ens": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.4.tgz", - "integrity": "sha512-b0580tQyQwpV2wyacwQiBEfQmjCUln5iPhge3IBIMXaI43BUNtH3lsCL9ERFQeOdweB4o+6rYyNYr6xbRcSytg==", - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.3.4", - "web3-core-helpers": "1.3.4", - "web3-core-promievent": "1.3.4", - "web3-eth-abi": "1.3.4", - "web3-eth-contract": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-iban": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.4.tgz", - "integrity": "sha512-Y7/hLjVvIN/OhaAyZ8L/hxbTqVX6AFTl2RwUXR6EEU9oaLydPcMjAx/Fr8mghUvQS3QJSr+UGubP3W4SkyNiYw==", - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-eth-personal": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.4.tgz", - "integrity": "sha512-JiTbaktYVk1j+S2EDooXAhw5j/VsdvZfKRmHtXUe/HizPM9ETXmj1+ne4RT6m+950jQ7DJwUF3XU1FKYNtEDwQ==", - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.3.4", - "web3-core-helpers": "1.3.4", - "web3-core-method": "1.3.4", - "web3-net": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-net": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.4.tgz", - "integrity": "sha512-wVyqgVC3Zt/0uGnBiR3GpnsS8lvOFTDgWZMxAk9C6Guh8aJD9MUc7pbsw5rHrPUVe6S6RUfFJvh/Xq8oMIQgSw==", - "dependencies": { - "web3-core": "1.3.4", - "web3-core-method": "1.3.4", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-providers-http": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.4.tgz", - "integrity": "sha512-aIg/xHXvxpqpFU70sqfp+JC3sGkLfAimRKTUhG4oJZ7U+tTcYTHoxBJj+4A3Id4JAoKiiv0k1/qeyQ8f3rMC3g==", - "dependencies": { - "web3-core-helpers": "1.3.4", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-providers-ipc": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.4.tgz", - "integrity": "sha512-E0CvXEJElr/TIlG1YfJeO3Le5NI/4JZM+1SsEdiPIfBUAJN18oOoum138EBGKv5+YaLKZUtUuJSXWjIIOR/0Ig==", - "dependencies": { - "oboe": "2.1.5", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-providers-ws": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.4.tgz", - "integrity": "sha512-WBd9hk2fUAdrbA3kUyUk94ZeILtE6txLeoVVvIKAw2bPegx+RjkLyxC1Du0oceKgQ/qQWod8CCzl1E/GgTP+MQ==", - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.4", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-shh": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.4.tgz", - "integrity": "sha512-zoeww5mxLh3xKcqbX85irQbtFe5pc5XwrgjvmdMkhkOdZzPASlWOgqzUFtaPykpLwC3yavVx4jG5RqifweXLUA==", - "dependencies": { - "web3-core": "1.3.4", - "web3-core-method": "1.3.4", - "web3-core-subscriptions": "1.3.4", - "web3-net": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-utils": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.4.tgz", - "integrity": "sha512-/vC2v0MaZNpWooJfpRw63u0Y3ag2gNjAWiLtMSL6QQLmCqCy4SQIndMt/vRyx0uMoeGt1YTwSXEcHjUzOhLg0A==", - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@celo/contractkit/node_modules/websocket": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz", - "integrity": "sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@celo/contractkit/node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/@celo/utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/utils/-/utils-1.1.0.tgz", - "integrity": "sha512-FulCMswjXZZjylBV/veKQ8ESCPdfF2CBitPQL6EWinIv8UIJysQJkINjKDNBzegeHd/hDL6acXXFDv2ehmNynQ==", - "dependencies": { - "@celo/base": "1.1.0", - "@types/country-data": "^0.0.0", - "@types/elliptic": "^6.4.9", - "@types/ethereumjs-util": "^5.2.0", - "@types/google-libphonenumber": "^7.4.17", - "@types/lodash": "^4.14.136", - "@types/node": "^10.12.18", - "@types/randombytes": "^2.0.0", - "@umpirsky/country-list": "https://github.com/umpirsky/country-list#05fda51", - "bigi": "^1.1.0", - "bignumber.js": "^9.0.0", - "bip32": "2.0.5", - "bip39": "https://github.com/bitcoinjs/bip39#d8ea080a18b40f301d4e2219a2991cd2417e83c2", - "bls12377js": "https://github.com/celo-org/bls12377js#cb38a4cfb643c778619d79b20ca3e5283a2122a6", - "bn.js": "4.11.8", - "buffer-reverse": "^1.0.1", - "country-data": "^0.0.31", - "crypto-js": "^3.1.9-1", - "elliptic": "^6.5.4", - "ethereumjs-util": "^5.2.0", - "fp-ts": "2.1.1", - "google-libphonenumber": "^3.2.15", - "io-ts": "2.0.1", - "keccak256": "^1.0.0", - "lodash": "^4.17.14", - "numeral": "^2.0.6", - "web3-eth-abi": "1.3.4", - "web3-utils": "1.3.4" - } - }, - "node_modules/@celo/utils/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, - "node_modules/@celo/utils/node_modules/bip39": { - "version": "3.0.3", - "resolved": "git+ssh://git@github.com/bitcoinjs/bip39.git#d8ea080a18b40f301d4e2219a2991cd2417e83c2", - "integrity": "sha512-hhsrUDSdsGf89hROJfKWWEN0L7inaVchkgJPfrbd6Wel3mqOI9t28OV/CsajjG18WopJ7zK0JdSvdd8R4cC71A==", - "license": "ISC", - "dependencies": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" - } - }, - "node_modules/@celo/utils/node_modules/bip39/node_modules/@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" - }, - "node_modules/@celo/utils/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/@celo/utils/node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/@celo/utils/node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@celo/utils/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@celo/utils/node_modules/web3-eth-abi": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.4.tgz", - "integrity": "sha512-PVSLXJ2dzdXsC+R24llIIEOS6S1KhG5qwNznJjJvXZFe3sqgdSe47eNvwUamZtCBjcrdR/HQr+L/FTxqJSf80Q==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.9.1", - "web3-utils": "1.3.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/utils/node_modules/web3-utils": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.4.tgz", - "integrity": "sha512-/vC2v0MaZNpWooJfpRw63u0Y3ag2gNjAWiLtMSL6QQLmCqCy4SQIndMt/vRyx0uMoeGt1YTwSXEcHjUzOhLg0A==", - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@celo/utils/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@celo/wallet-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/wallet-base/-/wallet-base-1.1.0.tgz", - "integrity": "sha512-dYrWWopiBdf9J47Tgb/DvSvh6cs1mh4RytAlQgAOms/kYLJ7aTVtDvTGFQ01fUn3hyk31AmpahS6ebcf81YvRQ==", - "deprecated": "Versions less than 5.1 are deprecated and will no longer be able to submit transactions to celo in a future hardfork", - "dependencies": { - "@celo/base": "1.1.0", - "@celo/connect": "1.1.0", - "@celo/utils": "1.1.0", - "@types/debug": "^4.1.5", - "@types/ethereumjs-util": "^5.2.0", - "bignumber.js": "^9.0.0", - "debug": "^4.1.1", - "eth-lib": "^0.2.8", - "ethereumjs-util": "^5.2.0" - }, - "engines": { - "node": ">=8.13.0" - } - }, - "node_modules/@celo/wallet-base/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@celo/wallet-base/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@celo/wallet-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@celo/wallet-local": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@celo/wallet-local/-/wallet-local-1.1.0.tgz", - "integrity": "sha512-SJUUZTUQTYcQdBvG5rzABRWegpeiMMSzK1aaLEgqdzFLZj8moizrlNpBWvUi5qnoESWzhwWI6os4rABRc0wRVQ==", - "dependencies": { - "@celo/connect": "1.1.0", - "@celo/utils": "1.1.0", - "@celo/wallet-base": "1.1.0", - "@types/ethereumjs-util": "^5.2.0", - "eth-lib": "^0.2.8", - "ethereumjs-util": "^5.2.0" - }, - "engines": { - "node": ">=8.13.0" - } - }, - "node_modules/@celo/wallet-local/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@craco/craco": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-5.8.0.tgz", - "integrity": "sha512-4rhusETLD7rJ195GxOK9VmVdv/VD4jawFxc9hcQ9TrZ3/9ny+qwc0uW+08qu9GYwEF9Eb9meSeSvpWjaqdDr1Q==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "lodash": "^4.17.15", - "webpack-merge": "^4.2.2" - }, - "bin": { - "craco": "bin/craco.js" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "react-scripts": "*" - } - }, - "node_modules/@craco/craco/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@craco/craco/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@craco/craco/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@craco/craco/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@craco/craco/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@csstools/normalize.css": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", - "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz", - "integrity": "sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.11.tgz", - "integrity": "sha512-RKOgPSEYafknA62SrD3OCK42AllHE4YBfKYXyQeM+sBP7Nq3X5FpzeoY4uzC43P4wIhmNoTHCKQuwnX7fBqb6Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.9.tgz", - "integrity": "sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.7.tgz", - "integrity": "sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.13.tgz", - "integrity": "sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.9.tgz", - "integrity": "sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.8.tgz", - "integrity": "sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.10.tgz", - "integrity": "sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.7.tgz", - "integrity": "sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "node_modules/@ethersproject/keccak256/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/@ethersproject/logger": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.8.tgz", - "integrity": "sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.7.tgz", - "integrity": "sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.7.tgz", - "integrity": "sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.7.tgz", - "integrity": "sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.8.tgz", - "integrity": "sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.8.tgz", - "integrity": "sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.9.tgz", - "integrity": "sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.12.tgz", - "integrity": "sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "deprecated": "Moved to 'npm install @sideway/address'" - }, - "node_modules/@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "deprecated": "Switch to 'npm install joi'", - "dependencies": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "node_modules/@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", - "dependencies": { - "@hapi/hoek": "^8.3.0" - } - }, - "node_modules/@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dependencies": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/console/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@jest/core/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/core/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/core/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dependencies": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "dependencies": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/reporters/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/source-map/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "dependencies": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@jest/transform/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@json-rpc-tools/types": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.6.4.tgz", - "integrity": "sha512-DHtnvlIFN8YUun38Sy9SaRdV/BsUMFM5bAABDsb/iPGLfPHOMKoAyuPOwEqQ2vgtc9ayTcQ2546OPTQ92IzJ/g==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0" - } - }, - "node_modules/@json-rpc-tools/utils": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.6.1.tgz", - "integrity": "sha512-cNwP4QapAls+xATU8zLLqPYa9qCbgwEyWEK7vE1oH91b3LfbUYwHtiWZ1+rv0X/mh/9cWNTo2Oi2Sah/QX0WwA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@json-rpc-tools/types": "^1.6.1" - } - }, - "node_modules/@keep-network/coverage-pools": { - "version": "1.1.0-dev.2", - "resolved": "https://registry.npmjs.org/@keep-network/coverage-pools/-/coverage-pools-1.1.0-dev.2.tgz", - "integrity": "sha512-KZ3E6N8dbtQmCpkBiSb0IKZc2D9MkDCZ3kQ15bXNP4WUO7YoS6fcRQOc6SpoLgAr+wVTXNyC/dXkD7zGHbq1Jg==", - "dependencies": { - "@keep-network/keep-core": ">1.8.0-dev <1.8.0-pre", - "@keep-network/tbtc": ">1.1.2-dev <1.1.2-ropsten", - "@openzeppelin/contracts": "^4.3", - "@tenderly/hardhat-tenderly": "^1.0.12", - "@thesis/solidity-contracts": "github:thesis/solidity-contracts#4985bcf", - "@threshold-network/solidity-contracts": "github:threshold-network/solidity-contracts#6664c73" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@keep-network/coverage-pools/node_modules/@openzeppelin/contracts": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.4.2.tgz", - "integrity": "sha512-NyJV7sJgoGYqbtNUWgzzOGW4T6rR19FmX1IJgXGdapGPWsuMelGJn9h03nos0iqfforCbCB0iYIR0MtIuIFLLw==" - }, - "node_modules/@keep-network/coverage-pools/node_modules/@thesis/solidity-contracts": { - "version": "0.0.1", - "resolved": "git+ssh://git@github.com/thesis/solidity-contracts.git#4985bcfc28e36eed9838993b16710e1b500f9e85", - "integrity": "sha512-kE5p/osxbF9SVknSt1en7VVi8WdCc//B4J7BWhhU28PwEujQ9jCWWvbt29WchLT6XCba2siCQhO2OgzHCfVzNw==", - "license": "MIT", - "dependencies": { - "@openzeppelin/contracts": "^4.1.0" - } - }, - "node_modules/@keep-network/coverage-pools/node_modules/@threshold-network/solidity-contracts": { - "name": "@t-network/solidity-contracts", - "version": "0.0.1", - "resolved": "git+ssh://git@github.com/threshold-network/solidity-contracts.git#6664c738660f79de3add7fdff735fcb19d5165ad", - "integrity": "sha512-YFBtIwKim4PEihiSFKlViepGuLG8uRCncQruyGzSDt7oY6WMk/zUCt3sXThpgGMhEs5uOpfG8RbFYaPAZc8Pxg==", - "license": "GPL-3.0-or-later", - "dependencies": { - "@openzeppelin/contracts": "^4.3", - "@thesis/solidity-contracts": "github:thesis/solidity-contracts#507c647" - } - }, - "node_modules/@keep-network/keep-core": { - "version": "1.8.0-dev.5", - "resolved": "https://registry.npmjs.org/@keep-network/keep-core/-/keep-core-1.8.0-dev.5.tgz", - "integrity": "sha512-QVkpO5X28Vczj/xHezV0z2UuMw8QFaR3C8x/d6+3adedsL3nCxgveIGTUcXSuYpBqfx0v4/xT+9bIK7BwLkGPw==", - "dependencies": { - "@openzeppelin/upgrades": "^2.7.2", - "openzeppelin-solidity": "2.4.0" - } - }, - "node_modules/@keep-network/keep-ecdsa": { - "version": "1.9.0-dev.0", - "resolved": "https://registry.npmjs.org/@keep-network/keep-ecdsa/-/keep-ecdsa-1.9.0-dev.0.tgz", - "integrity": "sha512-qkm7pEZYWQmkH5ppQz4azijxwV2jzPeeSQktkHw9Fa2w2GGkgfRuHVl8LYaPimtEYrvx5t2m0LAvmI7zlRQ4Lg==", - "dependencies": { - "@keep-network/keep-core": "1.8.0-dev.5", - "@keep-network/sortition-pools": "1.2.0-dev.1", - "@openzeppelin/upgrades": "^2.7.2", - "openzeppelin-solidity": "2.3.0" - } - }, - "node_modules/@keep-network/keep-ecdsa/node_modules/@keep-network/sortition-pools": { - "version": "1.2.0-dev.1", - "resolved": "https://registry.npmjs.org/@keep-network/sortition-pools/-/sortition-pools-1.2.0-dev.1.tgz", - "integrity": "sha512-CaOsvxNWHgXRFwPThDn3C/LiCwq9pL8ICLXXkysRSLw1Hx69wLnToaXYuwyXeIEy5pGqe5+288DBIqvJ3T4+jA==", - "dependencies": { - "@openzeppelin/contracts": "^2.4.0" - } - }, - "node_modules/@keep-network/keep-ecdsa/node_modules/openzeppelin-solidity": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz", - "integrity": "sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw==" - }, - "node_modules/@keep-network/prettier-config-keep": { - "version": "0.0.1", - "resolved": "git+ssh://git@github.com/keep-network/prettier-config-keep.git#a1a333e7ac49928a0f6ed39421906dd1e46ab0f3", - "integrity": "sha512-g/5alDU1P2hswoPC5S3VJrriNDUX/0SbRF+OROGJyTrRqBBgDHVf8i9Z02DVhV1u5CvAN3d2BlzmDXCDxs2n0w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "prettier": "^2.3.0" - } - }, - "node_modules/@keep-network/tbtc": { - "version": "1.1.2-dev.0", - "resolved": "https://registry.npmjs.org/@keep-network/tbtc/-/tbtc-1.1.2-dev.0.tgz", - "integrity": "sha512-G/JbDht/IgdX8Ety0i0iUl+kB2J2ofiAmNw+HmN/YUN9BYFhhzQqltPtYjS/krBkWzBYmNJmZBFeX/h+q4EJvA==", - "dependencies": { - "@celo/contractkit": "^1.0.2", - "@keep-network/keep-ecdsa": ">1.9.0-dev <1.9.0-ropsten", - "@summa-tx/bitcoin-spv-sol": "^3.1.0", - "@summa-tx/relay-sol": "^2.0.2", - "openzeppelin-solidity": "2.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@keep-network/tbtc/node_modules/openzeppelin-solidity": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz", - "integrity": "sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw==" - }, - "node_modules/@ledgerhq/devices": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-4.78.0.tgz", - "integrity": "sha512-tWKS5WM/UU82czihnVjRwz9SXNTQzWjGJ/7+j/xZ70O86nlnGJ1aaFbs5/WTzfrVKpOKgj1ZoZkAswX67i/JTw==", - "dependencies": { - "@ledgerhq/errors": "^4.78.0", - "@ledgerhq/logs": "^4.72.0", - "rxjs": "^6.5.3" - } - }, - "node_modules/@ledgerhq/errors": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-4.78.0.tgz", - "integrity": "sha512-FX6zHZeiNtegBvXabK6M5dJ+8OV8kQGGaGtuXDeK/Ss5EmG4Ltxc6Lnhe8hiHpm9pCHtktOsnUVL7IFBdHhYUg==" - }, - "node_modules/@ledgerhq/hw-app-eth": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-5.17.0.tgz", - "integrity": "sha512-eal+NLJ7cUKWY4ZNLKzVKIt7M4QbZB6q875NwT97hksRXe+oY9RExpTZ1sePN2Mp3D/tHkL+LWeVaFm0XBcVlg==", - "dependencies": { - "@ledgerhq/errors": "^5.17.0", - "@ledgerhq/hw-transport": "^5.17.0", - "bignumber.js": "^9.0.0" - } - }, - "node_modules/@ledgerhq/hw-app-eth/node_modules/@ledgerhq/devices": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.17.0.tgz", - "integrity": "sha512-GBog+x/vkyt/RB722rm7VW7GMW0nHpOeFSJBad6padjAXkPQZr0LD34yTrIuZjA7y9aGjOB/RK9CjnVDyWODGQ==", - "dependencies": { - "@ledgerhq/errors": "^5.17.0", - "@ledgerhq/logs": "^5.17.0", - "rxjs": "^6.5.5" - } - }, - "node_modules/@ledgerhq/hw-app-eth/node_modules/@ledgerhq/errors": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.17.0.tgz", - "integrity": "sha512-m+es6OwqqhHPFGnSZOxGgn7kucWNS6Ep/khCS/avYx/LNz+SRZVRvHT4GuH9Qy6sB9Lg0W7ZEJpKqEzvLGvNoQ==" - }, - "node_modules/@ledgerhq/hw-app-eth/node_modules/@ledgerhq/hw-transport": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.17.0.tgz", - "integrity": "sha512-Z+9D1WHGBxMv1lwOYS9R4NmdlCFECwbUy/Zwc56uKGnk6r59MBwjS2yuIV2zEw4p602xeP2X76+k9c55JM2o5g==", - "dependencies": { - "@ledgerhq/devices": "^5.17.0", - "@ledgerhq/errors": "^5.17.0", - "events": "^3.1.0" - } - }, - "node_modules/@ledgerhq/hw-app-eth/node_modules/@ledgerhq/logs": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.17.0.tgz", - "integrity": "sha512-cY3aL9hLdQONFJihQDaO3szmyo53nLdMYisVLfjxJ2SBH5SOyoAtg6Utwz4u6Y3Cf464BJ0wZu3/SlVO0kboBQ==" - }, - "node_modules/@ledgerhq/hw-transport": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-4.78.0.tgz", - "integrity": "sha512-xQu16OMPQjFYLjqCysij+8sXtdWv2YLxPrB6FoLvEWGTlQ7yL1nUBRQyzyQtWIYqZd4THQowQmzm1VjxuN6SZw==", - "dependencies": { - "@ledgerhq/devices": "^4.78.0", - "@ledgerhq/errors": "^4.78.0", - "events": "^3.0.0" - } - }, - "node_modules/@ledgerhq/hw-transport-node-hid": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.78.0.tgz", - "integrity": "sha512-OMrY2ecfQ1XjMAuuHqu3n3agMPR06HN1s0ENrKc+Twbb5A17jujpv07WzjxfTN2V1G7vgeZpRqrg2ulhowWbdg==", - "optional": true, - "dependencies": { - "@ledgerhq/devices": "^4.78.0", - "@ledgerhq/errors": "^4.78.0", - "@ledgerhq/hw-transport": "^4.78.0", - "@ledgerhq/hw-transport-node-hid-noevents": "^4.78.0", - "@ledgerhq/logs": "^4.72.0", - "lodash": "^4.17.15", - "node-hid": "^0.7.9", - "usb": "^1.6.0" - } - }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents": { - "version": "4.78.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-4.78.0.tgz", - "integrity": "sha512-CJPVR4wksq+apiXH2GnsttguBxmj9zdM2HjqZ3dHZN8SFW/9Xj3k+baS+pYoUISkECVxDrdfaW3Bd5dWv+jPUg==", - "optional": true, - "dependencies": { - "@ledgerhq/devices": "^4.78.0", - "@ledgerhq/errors": "^4.78.0", - "@ledgerhq/hw-transport": "^4.78.0", - "@ledgerhq/logs": "^4.72.0", - "node-hid": "^0.7.9" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.24.1.tgz", - "integrity": "sha512-+bAkVF/5MbbGIXobtmc5st/gFEjSRqACk+UPJGSxT21Z2SVm+FgG0Bui5wy24H+Ts/tC4IA3Mff8cz4PGbZhPA==", - "dependencies": { - "@ledgerhq/devices": "^6.24.1", - "@ledgerhq/errors": "^6.10.0", - "@ledgerhq/hw-transport": "^6.24.1", - "@ledgerhq/logs": "^6.10.0" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/@ledgerhq/devices": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.24.1.tgz", - "integrity": "sha512-6SNXWXxojUF6WKXMVIbRs15Mveg+9k0RKJK/PKlwZh929Lnr/NcbONWdwPjWKZAp1g82eEPT4jIkG6qc4QXlcA==", - "dependencies": { - "@ledgerhq/errors": "^6.10.0", - "@ledgerhq/logs": "^6.10.0", - "rxjs": "6", - "semver": "^7.3.5" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/@ledgerhq/errors": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.0.tgz", - "integrity": "sha512-fQFnl2VIXh9Yd41lGjReCeK+Q2hwxQJvLZfqHnKqWapTz68NHOv5QcI0OHuZVNEbv0xhgdLhi5b65kgYeQSUVg==" - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/@ledgerhq/hw-transport": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.24.1.tgz", - "integrity": "sha512-cOhxkQJrN7DvPFLLXAS2nqAZ7NIDaFqnbgu9ugTccgbJm2/z7ClRZX/uQoI4FscswZ47MuJQdXqz4nK48phteQ==", - "dependencies": { - "@ledgerhq/devices": "^6.24.1", - "@ledgerhq/errors": "^6.10.0", - "events": "^3.3.0" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/@ledgerhq/logs": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.10.0.tgz", - "integrity": "sha512-lLseUPEhSFUXYTKj6q7s2O3s2vW2ebgA11vMAlKodXGf5AFw4zUoEbTz9CoFOC9jS6xY4Qr8BmRnxP/odT4Uuw==" - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ledgerhq/hw-transport-webusb/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@ledgerhq/logs": { - "version": "4.72.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-4.72.0.tgz", - "integrity": "sha512-o+TYF8vBcyySRsb2kqBDv/KMeme8a2nwWoG+lAWzbDmWfb2/MrVWYCVYDYvjXdSoI/Cujqy1i0gIDrkdxa9chA==" - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.2.tgz", - "integrity": "sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==" - }, - "node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@metamask/safe-event-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" - }, - "node_modules/@motionone/animation": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz", - "integrity": "sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==", - "dependencies": { - "@motionone/easing": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/animation/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/dom": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.17.0.tgz", - "integrity": "sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==", - "dependencies": { - "@motionone/animation": "^10.17.0", - "@motionone/generators": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/dom/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/easing": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.17.0.tgz", - "integrity": "sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==", - "dependencies": { - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/easing/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/generators": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.17.0.tgz", - "integrity": "sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==", - "dependencies": { - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/generators/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/svelte": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.4.tgz", - "integrity": "sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==", - "dependencies": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/svelte/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/types": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.0.tgz", - "integrity": "sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==" - }, - "node_modules/@motionone/utils": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.17.0.tgz", - "integrity": "sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==", - "dependencies": { - "@motionone/types": "^10.17.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/utils/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@motionone/vue": { - "version": "10.16.4", - "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.4.tgz", - "integrity": "sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==", - "deprecated": "Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion", - "dependencies": { - "@motionone/dom": "^10.16.4", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/vue/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@openzeppelin/contracts": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-2.5.1.tgz", - "integrity": "sha512-qIy6tLx8rtybEsIOAlrM4J/85s2q2nPkDqj/Rx46VakBZ0LwtFhXIVub96LXHczQX0vaqmAueDqNPXtbSXSaYQ==" - }, - "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.1.tgz", - "integrity": "sha512-UZf5/VdaBA/0kxF7/gg+2UrC8k+fbgiUM0Qw1apAhwpBWBxULbsHw0ZRMgT53nd6N8hr53XFjhcWNeTRGIiCVw==" - }, - "node_modules/@openzeppelin/upgrades": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades/-/upgrades-2.8.0.tgz", - "integrity": "sha512-LzjTQPeljPsgHDPdZyH9cMCbIHZILgd2cpNcYEkdsC2IylBYRHShlbEDXJV9snnqg9JWfzPiKIqyj3XVliwtqQ==", - "deprecated": "The OpenZeppelin SDK is no longer being developed. For smart contract upgrades check out the OpenZeppelin Upgrades Plugins. https://zpl.in/upgrades-plugins", - "dependencies": { - "@types/cbor": "^2.0.0", - "axios": "^0.18.0", - "bignumber.js": "^7.2.0", - "cbor": "^4.1.5", - "chalk": "^2.4.1", - "ethers": "^4.0.20", - "glob": "^7.1.3", - "lodash": "^4.17.15", - "semver": "^5.5.1", - "spinnies": "^0.4.2", - "truffle-flattener": "^1.4.0", - "web3": "1.2.2", - "web3-eth": "1.2.2", - "web3-eth-contract": "1.2.2", - "web3-utils": "1.2.2" - } - }, - "node_modules/@openzeppelin/upgrades/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@openzeppelin/upgrades/node_modules/axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", - "dependencies": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "node_modules/@openzeppelin/upgrades/node_modules/bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", - "engines": { - "node": "*" - } - }, - "node_modules/@openzeppelin/upgrades/node_modules/web3": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.2.tgz", - "integrity": "sha512-/ChbmB6qZpfGx6eNpczt5YSUBHEA5V2+iUCbn85EVb3Zv6FVxrOo5Tv7Lw0gE2tW7EEjASbCyp3mZeiZaCCngg==", - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.6.1", - "web3-bzz": "1.2.2", - "web3-core": "1.2.2", - "web3-eth": "1.2.2", - "web3-eth-personal": "1.2.2", - "web3-net": "1.2.2", - "web3-shh": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@pedrouid/iso-crypto": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pedrouid/iso-crypto/-/iso-crypto-1.1.0.tgz", - "integrity": "sha512-twi+tW67XT0BSOv4rsegnGo4TQMhfFswS/GY3KhrjFiNw3z9x+cMkfO+itNe1JZghQxsxHuhifvfsnG814g1hQ==", - "dependencies": { - "@pedrouid/iso-random": "^1.1.0", - "aes-js": "^3.1.2", - "enc-utils": "^3.0.0", - "hash.js": "^1.1.7" - } - }, - "node_modules/@pedrouid/iso-crypto/node_modules/aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" - }, - "node_modules/@pedrouid/iso-random": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pedrouid/iso-random/-/iso-random-1.1.0.tgz", - "integrity": "sha512-U8P2qdbvyU5aom0036dkpp0C9c8pgW1SNhAo8+zPDzgmKA58Hl6dc+ZkQXkE9aHrzN6v/0w+409JMjSYwx5tVw==", - "dependencies": { - "enc-utils": "^3.0.0", - "randombytes": "^2.1.0" - } - }, - "node_modules/@redux-saga/core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz", - "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==", - "dependencies": { - "@babel/runtime": "^7.6.3", - "@redux-saga/deferred": "^1.1.2", - "@redux-saga/delay-p": "^1.1.2", - "@redux-saga/is": "^1.1.2", - "@redux-saga/symbols": "^1.1.2", - "@redux-saga/types": "^1.1.0", - "redux": "^4.0.4", - "typescript-tuple": "^2.2.1" - } - }, - "node_modules/@redux-saga/deferred": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz", - "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ==" - }, - "node_modules/@redux-saga/delay-p": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz", - "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==", - "dependencies": { - "@redux-saga/symbols": "^1.1.2" - } - }, - "node_modules/@redux-saga/is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz", - "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==", - "dependencies": { - "@redux-saga/symbols": "^1.1.2", - "@redux-saga/types": "^1.1.0" - } - }, - "node_modules/@redux-saga/symbols": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz", - "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ==" - }, - "node_modules/@redux-saga/testing-utils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@redux-saga/testing-utils/-/testing-utils-1.1.3.tgz", - "integrity": "sha512-MGMcBHgt80CoC8s8i0Mc7svGJPysS9qkJuAINlg+NvudLZcV23myd+H4uaXA4zmiLf16C4M+97b+e6wFoTaGcw==", - "dev": true, - "dependencies": { - "@redux-saga/symbols": "^1.1.2", - "@redux-saga/types": "^1.1.0" - } - }, - "node_modules/@redux-saga/types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz", - "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg==" - }, - "node_modules/@rehooks/local-storage": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@rehooks/local-storage/-/local-storage-2.4.4.tgz", - "integrity": "sha512-zE+kfOkG59n/1UTxdmbwktIosclr67Nlbf2MzUJ9mNtCSypVscNHeD1qT6JCSo5Pjj8DO893IKWNLJqKKzDL/Q==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@resolver-engine/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.2.1.tgz", - "integrity": "sha512-nsLQHmPJ77QuifqsIvqjaF5B9aHnDzJjp73Q1z6apY3e9nqYrx4Dtowhpsf7Jwftg/XzVDEMQC+OzUBNTS+S1A==", - "dependencies": { - "debug": "^3.1.0", - "request": "^2.85.0" - } - }, - "node_modules/@resolver-engine/core/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/core/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/@resolver-engine/fs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.2.1.tgz", - "integrity": "sha512-7kJInM1Qo2LJcKyDhuYzh9ZWd+mal/fynfL9BNjWOiTcOpX+jNfqb/UmGUqros5pceBITlWGqS4lU709yHFUbg==", - "dependencies": { - "@resolver-engine/core": "^0.2.1", - "debug": "^3.1.0" - } - }, - "node_modules/@resolver-engine/fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/fs/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/@resolver-engine/imports": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.2.2.tgz", - "integrity": "sha512-u5/HUkvo8q34AA+hnxxqqXGfby5swnH0Myw91o3Sm2TETJlNKXibFGSKBavAH+wvWdBi4Z5gS2Odu0PowgVOUg==", - "dependencies": { - "@resolver-engine/core": "^0.2.1", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0" - } - }, - "node_modules/@resolver-engine/imports-fs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.2.2.tgz", - "integrity": "sha512-gFCgMvCwyppjwq0UzIjde/WI+yDs3oatJhozG9xdjJdewwtd7LiF0T5i9lrHAUtqrQbqoFE4E+ZMRVHWpWHpKQ==", - "dependencies": { - "@resolver-engine/fs": "^0.2.1", - "@resolver-engine/imports": "^0.2.2", - "debug": "^3.1.0" - } - }, - "node_modules/@resolver-engine/imports-fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/imports-fs/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/@resolver-engine/imports/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/imports/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@solidity-parser/parser": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.8.2.tgz", - "integrity": "sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ==" - }, - "node_modules/@stablelib/aead": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", - "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" - }, - "node_modules/@stablelib/binary": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-0.7.2.tgz", - "integrity": "sha1-GzOSFwyKh0HIuPhD6ilN5xrrLPc=", - "dependencies": { - "@stablelib/int": "^0.5.0" - } - }, - "node_modules/@stablelib/blake2s": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@stablelib/blake2s/-/blake2s-0.10.4.tgz", - "integrity": "sha512-IasdklC7YfXXLmVbnsxqmd66+Ki+Ysbp0BtcrNxAtrGx/HRGjkUZbSTbEa7HxFhBWIstJRcE5ExgY+RCqAiULQ==", - "dependencies": { - "@stablelib/binary": "^0.7.2", - "@stablelib/hash": "^0.5.0", - "@stablelib/wipe": "^0.5.0" - } - }, - "node_modules/@stablelib/blake2xs": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@stablelib/blake2xs/-/blake2xs-0.10.4.tgz", - "integrity": "sha512-1N0S4cruso/StV9TmoujPGj3RU0Cy42wlZneBWLWby7m2ssnY57l/CsYQSm03TshOoYss4hqc5kwSy5pmWAdUA==", - "dependencies": { - "@stablelib/blake2s": "^0.10.4", - "@stablelib/hash": "^0.5.0", - "@stablelib/wipe": "^0.5.0" - } - }, - "node_modules/@stablelib/bytes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", - "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" - }, - "node_modules/@stablelib/chacha": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", - "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/chacha/node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/chacha/node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/chacha/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/chacha20poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", - "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", - "dependencies": { - "@stablelib/aead": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/chacha": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/poly1305": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/chacha20poly1305/node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/chacha20poly1305/node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/chacha20poly1305/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", - "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" - }, - "node_modules/@stablelib/ed25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", - "dependencies": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/ed25519/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/hash": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-0.5.0.tgz", - "integrity": "sha1-if6QQKPUODsZIcfYpglIvDCEYGg=" - }, - "node_modules/@stablelib/hkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", - "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", - "dependencies": { - "@stablelib/hash": "^1.0.1", - "@stablelib/hmac": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/hkdf/node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/hkdf/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/hmac": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", - "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", - "dependencies": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/hmac/node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/hmac/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/int": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-0.5.0.tgz", - "integrity": "sha1-zKkiWVHVXS3khlZ1V4R4hjNmDCs=" - }, - "node_modules/@stablelib/keyagreement": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", - "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", - "dependencies": { - "@stablelib/bytes": "^1.0.1" - } - }, - "node_modules/@stablelib/poly1305": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", - "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", - "dependencies": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/poly1305/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/random/node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/random/node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/random/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/sha256": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", - "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/sha256/node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/sha256/node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/sha256/node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/sha256/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/sha512": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/sha512/node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/sha512/node_modules/@stablelib/hash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" - }, - "node_modules/@stablelib/sha512/node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/sha512/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@stablelib/wipe": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-0.5.0.tgz", - "integrity": "sha1-poLV+USOlQ4JnlN+b3L8lgJ10VE=" - }, - "node_modules/@stablelib/x25519": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", - "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", - "dependencies": { - "@stablelib/keyagreement": "^1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/x25519/node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@summa-tx/bitcoin-spv-sol": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@summa-tx/bitcoin-spv-sol/-/bitcoin-spv-sol-3.1.0.tgz", - "integrity": "sha512-YIwxTNCTIsL+qgzcMhzQk9f0A7yQ6dimlLj4i3gGhWrnqBIg3ljBxJ/aj9JRQyIdNDoCPmqS2s8ZZIdyM+vaGQ==" - }, - "node_modules/@summa-tx/relay-sol": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@summa-tx/relay-sol/-/relay-sol-2.0.2.tgz", - "integrity": "sha512-r5pNimQwpHklxrP+LAvNrhz4jdngVw8ret/98Ls1rLhleVCKKOFHpsRnh9zUzIDqlhIOOQwTZNe5wn7Ex63HNA==", - "dependencies": { - "@celo/contractkit": "^0.3.3", - "@summa-tx/bitcoin-spv-sol": "^3.1.0", - "bn.js": "^5.1.1", - "dotenv": "^8.2.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/@celo/contractkit": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@celo/contractkit/-/contractkit-0.3.8.tgz", - "integrity": "sha512-lEXciI3tYnDKNdyazW6etR/ZFm0wrNlX1OxNgzv5D8HCPJcFSUF3Bi4fYtL/Ocx2oHNpK4k3eDZ6aj+ZbkRC+Q==", - "deprecated": "Versions less than 5.1 are deprecated and will no longer be able to submit transactions to celo in a future hardfork", - "dependencies": { - "@celo/utils": "0.1.11", - "@ledgerhq/hw-app-eth": "^5.11.0", - "@ledgerhq/hw-transport": "^5.11.0", - "@types/debug": "^4.1.5", - "bignumber.js": "^9.0.0", - "cross-fetch": "3.0.4", - "debug": "^4.1.1", - "eth-lib": "^0.2.8", - "ethereumjs-util": "^5.2.0", - "fp-ts": "2.1.1", - "io-ts": "2.0.1", - "web3": "1.2.4", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.13.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/@celo/utils": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@celo/utils/-/utils-0.1.11.tgz", - "integrity": "sha512-i3oK1guBxH89AEBaVA1d5CHnANehL36gPIcSpPBWiYZrKTGGVvbwNmVoaDwaKFXih0N22vXQAf2Rul8w5VzC3w==", - "dependencies": { - "@umpirsky/country-list": "git://github.com/umpirsky/country-list#05fda51", - "bigi": "^1.1.0", - "bignumber.js": "^9.0.0", - "bip32": "2.0.5", - "bip39": "3.0.2", - "bls12377js": "https://github.com/celo-org/bls12377js#400bcaeec9e7620b040bfad833268f5289699cac", - "bn.js": "4.11.8", - "buffer-reverse": "^1.0.1", - "country-data": "^0.0.31", - "crypto-js": "^3.1.9-1", - "elliptic": "^6.4.1", - "ethereumjs-util": "^5.2.0", - "futoin-hkdf": "^1.0.3", - "google-libphonenumber": "^3.2.4", - "keccak256": "^1.0.0", - "lodash": "^4.17.14", - "numeral": "^2.0.6", - "web3-utils": "1.2.4" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/@celo/utils/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/@ledgerhq/devices": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.49.0.tgz", - "integrity": "sha512-14VSO+NeR/O8VSXXnlBsA0DAluzanJVEjHLDJubU5NZjEttXVF9gdQh1j10+MKW0f8H23IkdqwswVQIB9ZPomQ==", - "dependencies": { - "@ledgerhq/errors": "^5.49.0", - "@ledgerhq/logs": "^5.49.0", - "rxjs": "^6.6.7", - "semver": "^7.3.5" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/@ledgerhq/errors": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.49.0.tgz", - "integrity": "sha512-+uhoSsAnzZiZ2CUk/dv4Uo8lrl0jn2izYJATSbC5aZFd0Yl7PWZ1SMHMkvPVEgQvWZcu4iQZ67rlKOtj5tUFWA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/@ledgerhq/hw-transport": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.49.0.tgz", - "integrity": "sha512-mfQNSxZ3cTXo+l6SEM+D92YaW46GkP1IiWo9OkHPnsq8y8IxSD6QJOEiAAZtvpGvV1eRqqrVyanoFRTuHcZjZA==", - "dependencies": { - "@ledgerhq/devices": "^5.49.0", - "@ledgerhq/errors": "^5.49.0", - "events": "^3.3.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/@ledgerhq/logs": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.49.0.tgz", - "integrity": "sha512-Ynl2JzRwh8l9PoXrDNihXEicpVo6Ra2lYZoqSYfVH/v/2/TSa/JB9Qll8P85XFYkS3ouDTTbp1S5KViaTkqD5g==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/bip39": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.2.tgz", - "integrity": "sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==", - "dependencies": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/bls12377js": { - "version": "0.1.0", - "resolved": "git+ssh://git@github.com/celo-org/bls12377js.git#400bcaeec9e7620b040bfad833268f5289699cac", - "integrity": "sha512-3O0S+jmfD6b4QoKeOZF5N3U6Okoh3YXVxvjkO1speOviiwCAdzkCfQwlcOgeznKWMGU9WTtNTNiS5pgeCf4BZQ==", - "license": "MIT", - "dependencies": { - "@stablelib/blake2xs": "0.10.4", - "@types/node": "^12.11.7", - "big-integer": "^1.6.44", - "chai": "^4.2.0", - "mocha": "^6.2.2", - "ts-node": "^8.4.1", - "typescript": "^3.6.4" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/bls12377js/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/cross-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", - "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", - "dependencies": { - "node-fetch": "2.6.0", - "whatwg-fetch": "3.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/ethers": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", - "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", - "dependencies": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.3", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/ethers/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/ethers/node_modules/elliptic": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", - "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/@summa-tx/relay-sol/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/scrypt-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", - "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" - }, - "node_modules/@summa-tx/relay-sol/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.4.tgz", - "integrity": "sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A==", - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.6.1", - "web3-bzz": "1.2.4", - "web3-core": "1.2.4", - "web3-eth": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-shh": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-bzz": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.4.tgz", - "integrity": "sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A==", - "dependencies": { - "@types/node": "^10.12.18", - "got": "9.6.0", - "swarm-js": "0.1.39", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-bzz/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.4.tgz", - "integrity": "sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A==", - "dependencies": { - "@types/bignumber.js": "^5.0.0", - "@types/bn.js": "^4.11.4", - "@types/node": "^12.6.1", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-requestmanager": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core-helpers": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz", - "integrity": "sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw==", - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core-method": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.4.tgz", - "integrity": "sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A==", - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core-promievent": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz", - "integrity": "sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw==", - "dependencies": { - "any-promise": "1.3.0", - "eventemitter3": "3.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core-requestmanager": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz", - "integrity": "sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg==", - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-providers-http": "1.2.4", - "web3-providers-ipc": "1.2.4", - "web3-providers-ws": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core-subscriptions": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz", - "integrity": "sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw==", - "dependencies": { - "eventemitter3": "3.1.2", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.4.tgz", - "integrity": "sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA==", - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-accounts": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-eth-ens": "1.2.4", - "web3-eth-iban": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-abi": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz", - "integrity": "sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg==", - "dependencies": { - "ethers": "4.0.0-beta.3", - "underscore": "1.9.1", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-accounts": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz", - "integrity": "sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw==", - "dependencies": { - "@web3-js/scrypt-shim": "^0.1.0", - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-accounts/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-contract": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz", - "integrity": "sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ==", - "dependencies": { - "@types/bn.js": "^4.11.4", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-ens": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz", - "integrity": "sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw==", - "dependencies": { - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-iban": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz", - "integrity": "sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ==", - "dependencies": { - "bn.js": "4.11.8", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-personal": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz", - "integrity": "sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw==", - "dependencies": { - "@types/node": "^12.6.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-net": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.4.tgz", - "integrity": "sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A==", - "dependencies": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-providers-http": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.4.tgz", - "integrity": "sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw==", - "dependencies": { - "web3-core-helpers": "1.2.4", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-providers-ipc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz", - "integrity": "sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og==", - "dependencies": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-providers-ws": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz", - "integrity": "sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ==", - "dependencies": { - "@web3-js/websocket": "^1.0.29", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-shh": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.4.tgz", - "integrity": "sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ==", - "dependencies": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-net": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-utils": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.4.tgz", - "integrity": "sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ==", - "dependencies": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/@summa-tx/relay-sol/node_modules/web3/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/@summa-tx/relay-sol/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", - "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", - "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", - "dependencies": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", - "dependencies": { - "@babel/types": "^7.4.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", - "dependencies": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", - "dependencies": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/webpack": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.3.tgz", - "integrity": "sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==", - "dependencies": { - "@babel/core": "^7.4.5", - "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/preset-env": "^7.4.5", - "@babel/preset-react": "^7.0.0", - "@svgr/core": "^4.3.3", - "@svgr/plugin-jsx": "^4.3.3", - "@svgr/plugin-svgo": "^4.3.1", - "loader-utils": "^1.2.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@tenderly/hardhat-tenderly": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tenderly/hardhat-tenderly/-/hardhat-tenderly-1.0.12.tgz", - "integrity": "sha512-zx2zVpbBxGWVp+aLgf59sZR5lxdqfq/PjqUhga6+iazukQNu/Y6pLfVnCcF1ggvLsf7gnMjwLe3YEx/GxCAykQ==", - "dependencies": { - "axios": "^0.21.1", - "fs-extra": "^9.0.1", - "js-yaml": "^3.14.0" - }, - "peerDependencies": { - "hardhat": "^2.0.3" - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@tenderly/hardhat-tenderly/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@testing-library/react-hooks": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-5.1.2.tgz", - "integrity": "sha512-jwhtDYZ5gQUIX8cmVCVdtwNvuF5EiCOWjokRlTV+o/V0GdtRZDykUllL1OXq5PS4+J33wGLNQeeWzEHcWrH7tg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@types/react": ">=16.9.0", - "@types/react-dom": ">=16.9.0", - "@types/react-test-renderer": ">=16.9.0", - "filter-console": "^0.1.1", - "react-error-boundary": "^3.1.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0", - "react-test-renderer": ">=16.9.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-test-renderer": { - "optional": true - } - } - }, - "node_modules/@testing-library/react-hooks/node_modules/@babel/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@testing-library/react-hooks/node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true - }, - "node_modules/@threshold-network/solidity-contracts": { - "version": "1.1.0-dev.3", - "resolved": "https://registry.npmjs.org/@threshold-network/solidity-contracts/-/solidity-contracts-1.1.0-dev.3.tgz", - "integrity": "sha512-mDfhC8ZV6cOyVG9UEfzBKgha6326d2cZ35dXWgK2U5i41amfDNdWF9jC19Oq7SydiVQvb0iBz86dne8mK601cA==", - "hasInstallScript": true, - "dependencies": { - "@keep-network/keep-core": ">1.8.0-dev <1.8.0-pre", - "@openzeppelin/contracts": "^4.4", - "@openzeppelin/contracts-upgradeable": "^4.4", - "@thesis/solidity-contracts": "github:thesis/solidity-contracts#4985bcf" - }, - "peerDependencies": { - "@keep-network/keep-core": ">1.8.0-dev <1.8.0-pre" - } - }, - "node_modules/@threshold-network/solidity-contracts/node_modules/@openzeppelin/contracts": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.4.2.tgz", - "integrity": "sha512-NyJV7sJgoGYqbtNUWgzzOGW4T6rR19FmX1IJgXGdapGPWsuMelGJn9h03nos0iqfforCbCB0iYIR0MtIuIFLLw==" - }, - "node_modules/@threshold-network/solidity-contracts/node_modules/@thesis/solidity-contracts": { - "version": "0.0.1", - "resolved": "git+ssh://git@github.com/thesis/solidity-contracts.git#4985bcfc28e36eed9838993b16710e1b500f9e85", - "integrity": "sha512-kE5p/osxbF9SVknSt1en7VVi8WdCc//B4J7BWhhU28PwEujQ9jCWWvbt29WchLT6XCba2siCQhO2OgzHCfVzNw==", - "license": "MIT", - "dependencies": { - "@openzeppelin/contracts": "^4.1.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.12.tgz", - "integrity": "sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA==", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "deprecated": "This is a stub types definition for bignumber.js (https://github.com/MikeMcl/bignumber.js/). bignumber.js provides its own type definitions, so you don't need @types/bignumber.js installed!", - "dependencies": { - "bignumber.js": "*" - } - }, - "node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cbor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/cbor/-/cbor-2.0.0.tgz", - "integrity": "sha1-xievwu4i8j8jN/7LNGKKT5fGr7s=", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "node_modules/@types/country-data": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/@types/country-data/-/country-data-0.0.0.tgz", - "integrity": "sha512-lIxCk6G7AwmUagQ4gIQGxUBnvAq664prFD9nSAz6dgd1XmBXBtZABV/op+QsJsIyaP1GZsf/iXhYKHX3azSRCw==" - }, - "node_modules/@types/debug": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", - "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" - }, - "node_modules/@types/elliptic": { - "version": "6.4.12", - "resolved": "https://registry.npmjs.org/@types/elliptic/-/elliptic-6.4.12.tgz", - "integrity": "sha512-gP1KsqoouLJGH6IJa28x7PXb3cRqh83X8HCLezd2dF+XcAIMKYv53KV+9Zn6QA561E120uOqZBQ+Jy/cl+fviw==", - "dependencies": { - "@types/bn.js": "*" - } - }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - }, - "node_modules/@types/ethereum-protocol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz", - "integrity": "sha512-vxym5Cnkvms5yRwCDzuaavAtesRflY4oqYDULqQSghLmX5snurmDEz+rbUJbq2vDc4TBvji6dV+891N3VHQXhw==", - "dependencies": { - "bignumber.js": "7.2.1" - } - }, - "node_modules/@types/ethereum-protocol/node_modules/bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", - "engines": { - "node": "*" - } - }, - "node_modules/@types/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-qwQgQqXXTRv2h2AlJef+tMEszLFkCB9dWnrJYIdAwqjubERXEc/geB+S3apRw0yQyTVnsBf8r6BhlrE8vx+3WQ==", - "dependencies": { - "@types/bn.js": "*", - "@types/node": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/google-libphonenumber": { - "version": "7.4.20", - "resolved": "https://registry.npmjs.org/@types/google-libphonenumber/-/google-libphonenumber-7.4.20.tgz", - "integrity": "sha512-JhazLvUESaGTx4TkeeHbRaV6wsVGPuoUtOhL8xKlQ2M5BxEW64p8tKVboH6mMqGOEPa1vOVs0dec/MFD88+e+A==" - }, - "node_modules/@types/hdkey": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@types/hdkey/-/hdkey-0.7.1.tgz", - "integrity": "sha512-4Kkr06hq+R8a9EzVNqXGOY2x1xA7dhY6qlp6OvaZ+IJy1BCca1Cv126RD9X7CMJoXoLo8WvAizy8gQHpqW6K0Q==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "26.0.21", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.21.tgz", - "integrity": "sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA==", - "dev": true, - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@types/jest/node_modules/@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/jest/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@types/jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@types/jest/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@types/jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@types/jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==" - }, - "node_modules/@types/lodash": { - "version": "4.14.168", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", - "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==" - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "node_modules/@types/node": { - "version": "14.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", - "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "node_modules/@types/randombytes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/randombytes/-/randombytes-2.0.0.tgz", - "integrity": "sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/react": { - "version": "16.9.41", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.41.tgz", - "integrity": "sha512-6cFei7F7L4wwuM+IND/Q2cV1koQUvJ8iSV+Gwn0c3kvABZ691g7sp3hfEQHOUBJtccl1gPi+EyNjMIl9nGA0ug==", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^2.2.0" - } - }, - "node_modules/@types/react-dom": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.3.tgz", - "integrity": "sha512-4NnJbCeWE+8YBzupn/YrJxZ8VnjcJq5iR1laqQ1vkpQgBiA7bwk0Rp24fxsdNinzJY2U+HHS4dJJDPdoMjdJ7w==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-test-renderer": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz", - "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "node_modules/@types/utf8": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/utf8/-/utf8-2.1.6.tgz", - "integrity": "sha512-pRs2gYF5yoKYrgSaira0DJqVg2tFuF+Qjp838xS7K+mJyY2jJzjsrl6y17GbIa4uMRogMbxs+ghNCvKg6XyNrA==" - }, - "node_modules/@types/web3-provider-engine": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@types/web3-provider-engine/-/web3-provider-engine-14.0.0.tgz", - "integrity": "sha512-yHr8mX2SoX3JNyfqdLXdO1UobsGhfiwSgtekbVxKLQrzD7vtpPkKbkIVsPFOhvekvNbPsCmDyeDCLkpeI9gSmA==", - "dependencies": { - "@types/ethereum-protocol": "*" - } - }, - "node_modules/@types/yargs": { - "version": "13.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz", - "integrity": "sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@umpirsky/country-list": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/umpirsky/country-list.git#05fda51cd97b3294e8175ffed06104c44b3c71d7", - "integrity": "sha512-/mgnEDeGadYJLXxYHz+yIiro0CixefNyB3oJ8jk2JwypUPV8aJ851eHVDNM5JkvmfKmAE+8SeKnaWvKg0BXm9w==", - "license": "MIT" - }, - "node_modules/@walletconnect/client": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.3.6.tgz", - "integrity": "sha512-HmzUpF/cPqPf8huaVg45SXk2hKQ6yxisy/qJ+51SoRGmtZDokJGxpq6+RFOnE8jFtUhTZRaK9UZ/jvsJAxIhEw==", - "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", - "dependencies": { - "@walletconnect/core": "^1.3.6", - "@walletconnect/iso-crypto": "^1.3.6", - "@walletconnect/types": "^1.3.6", - "@walletconnect/utils": "^1.3.6" - } - }, - "node_modules/@walletconnect/core": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.3.6.tgz", - "integrity": "sha512-1HHP2xZI6b88WQgszs3gP5xkkCwwlWgDJz+J6ADGzVXhQP21p1mZhKezUtx27rOtQimMIrPDfgPyAHwQBZkkSw==", - "deprecated": "All published versioned below 1.6.0 are deprecated. Please upgrade to the latest version", - "dependencies": { - "@walletconnect/socket-transport": "^1.3.6", - "@walletconnect/types": "^1.3.6", - "@walletconnect/utils": "^1.3.6" - } - }, - "node_modules/@walletconnect/environment": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", - "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/environment/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/ethereum-provider": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.0.tgz", - "integrity": "sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "^1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.3", - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/sign-client": "2.9.0", - "@walletconnect/types": "2.9.0", - "@walletconnect/universal-provider": "2.9.0", - "@walletconnect/utils": "2.9.0", - "events": "^3.3.0" - }, - "peerDependencies": { - "@walletconnect/modal": ">=2" - }, - "peerDependenciesMeta": { - "@walletconnect/modal": { - "optional": true - } - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/types": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.9.0.tgz", - "integrity": "sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.0.2", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/utils": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.9.0.tgz", - "integrity": "sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==", - "dependencies": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.9.0", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@walletconnect/events": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", - "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/events/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/heartbeat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", - "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/heartbeat/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/iso-crypto": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.3.6.tgz", - "integrity": "sha512-HypXNSmMAuEvNhllXWsCHtCVK4JfFFcZqPijurcXmOtWanjZV+8NuiYnKG11qAllSbYRwqKchb7GTDp33n0g0Q==", - "dependencies": { - "@pedrouid/iso-crypto": "^1.0.0", - "@walletconnect/types": "^1.3.6", - "@walletconnect/utils": "^1.3.6" - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz", - "integrity": "sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.1", - "cross-fetch": "^3.1.4", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/@walletconnect/jsonrpc-provider": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", - "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/safe-json": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-provider/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/jsonrpc-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", - "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-types/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/jsonrpc-utils": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", - "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", - "dependencies": { - "@walletconnect/environment": "^1.0.1", - "@walletconnect/jsonrpc-types": "^1.0.3", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/jsonrpc-utils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/jsonrpc-ws-connection": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.12.tgz", - "integrity": "sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==", - "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.2", - "events": "^3.3.0", - "tslib": "1.14.1", - "ws": "^7.5.1" - } - }, - "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@walletconnect/keyvaluestorage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", - "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", - "dependencies": { - "safe-json-utils": "^1.1.1", - "tslib": "1.14.1" - }, - "peerDependencies": { - "@react-native-async-storage/async-storage": "1.x", - "lokijs": "1.x" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - }, - "lokijs": { - "optional": true - } - } - }, - "node_modules/@walletconnect/keyvaluestorage/node_modules/safe-json-utils": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", - "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" - }, - "node_modules/@walletconnect/keyvaluestorage/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", - "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", - "dependencies": { - "pino": "7.11.0", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/logger/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/mobile-registry": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.3.6.tgz", - "integrity": "sha512-OhOCFJhUWKVbRzU9XcAcYIW9cC6gNb+kFttIAtjbaocRGgN+n5NDoUZsrrd6iurjvS6ToCWkalvlYbXDU5/xtw==", - "deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry" - }, - "node_modules/@walletconnect/modal": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/@walletconnect/modal/-/modal-2.5.9.tgz", - "integrity": "sha512-Zs2RvPwbBNRdBhb50FuJCxi3FJltt1KSpI7odjU/x9GTpTOcSOkmR66PBCy2JvNA0+ztnS1Xs0LVEr3lu7/Jzw==", - "deprecated": "Please follow the migration guide on https://docs.reown.com/appkit/upgrade/wcm", - "dependencies": { - "@walletconnect/modal-core": "2.5.9", - "@walletconnect/modal-ui": "2.5.9" - } - }, - "node_modules/@walletconnect/modal-core": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-core/-/modal-core-2.5.9.tgz", - "integrity": "sha512-isIebwF9hOknGouhS/Ob4YJ9Sa/tqNYG2v6Ua9EkCqIoLimepkG5eC53tslUWW29SLSfQ9qqBNG2+iE7yQXqgw==", - "dependencies": { - "buffer": "6.0.3", - "valtio": "1.10.6" - } - }, - "node_modules/@walletconnect/modal-core/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/@walletconnect/modal-core/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/@walletconnect/modal-ui": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/@walletconnect/modal-ui/-/modal-ui-2.5.9.tgz", - "integrity": "sha512-nfBaAT9Ls7RZTBBgAq+Nt/3AoUcinIJ9bcq5UHXTV3lOPu/qCKmUC/0HY3GvUK8ykabUAsjr0OAGmcqkB91qug==", - "dependencies": { - "@walletconnect/modal-core": "2.5.9", - "lit": "2.7.5", - "motion": "10.16.2", - "qrcode": "1.5.3" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@walletconnect/modal-ui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/@walletconnect/modal-ui/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/@walletconnect/modal-ui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/modal-ui/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/@walletconnect/modal-ui/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@walletconnect/qrcode-modal": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.3.6.tgz", - "integrity": "sha512-fQ7DQViX913EUc36rsglr6Jd76DbOiATUVroFZ8VeVcgbBuH9dTqBeCRuBCQ0MBe8v33IpRBjZDTsIdSOxFiaA==", - "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", - "dependencies": { - "@walletconnect/mobile-registry": "^1.3.6", - "@walletconnect/types": "^1.3.6", - "@walletconnect/utils": "^1.3.6", - "preact": "10.4.1", - "qrcode": "1.4.4" - } - }, - "node_modules/@walletconnect/relay-api": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", - "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", - "dependencies": { - "@walletconnect/jsonrpc-types": "^1.0.2", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/relay-api/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/relay-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", - "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", - "dependencies": { - "@stablelib/ed25519": "^1.0.2", - "@stablelib/random": "^1.0.1", - "@walletconnect/safe-json": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "tslib": "1.14.1", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/@walletconnect/relay-auth/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/safe-json": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", - "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/safe-json/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/sign-client": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.9.0.tgz", - "integrity": "sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "dependencies": { - "@walletconnect/core": "2.9.0", - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.9.0", - "@walletconnect/utils": "2.9.0", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/core": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.9.0.tgz", - "integrity": "sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==", - "dependencies": { - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.12", - "@walletconnect/keyvaluestorage": "^1.0.2", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/relay-auth": "^1.0.4", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.9.0", - "@walletconnect/utils": "2.9.0", - "events": "^3.3.0", - "lodash.isequal": "4.5.0", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/types": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.9.0.tgz", - "integrity": "sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.0.2", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.9.0.tgz", - "integrity": "sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==", - "dependencies": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.9.0", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - }, - "node_modules/@walletconnect/sign-client/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/sign-client/node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@walletconnect/socket-transport": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.3.6.tgz", - "integrity": "sha512-dvO8mRECU4I6FpoQX9GMh9BNzR2/g6vcj9LEIjgApW6Rfx0mCKUgoVBSi2W7NHC94zfdYiJdaH950oismj5gNw==", - "dependencies": { - "@walletconnect/types": "^1.3.6", - "@walletconnect/utils": "^1.3.6", - "ws": "7.3.0" - } - }, - "node_modules/@walletconnect/socket-transport/node_modules/ws": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", - "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@walletconnect/time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", - "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/time/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/types": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.3.6.tgz", - "integrity": "sha512-fNir3Pi1ZpuVlgNr8qtP2LOSsV9rNgJGHmBnHHqKNmpuRpPxG1mhmKFdDHNGyVIP5bM5CWIXmlULDTax63UJbg==", - "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/" - }, - "node_modules/@walletconnect/universal-provider": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.9.0.tgz", - "integrity": "sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "dependencies": { - "@walletconnect/jsonrpc-http-connection": "^1.0.7", - "@walletconnect/jsonrpc-provider": "1.0.13", - "@walletconnect/jsonrpc-types": "^1.0.2", - "@walletconnect/jsonrpc-utils": "^1.0.7", - "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.9.0", - "@walletconnect/types": "2.9.0", - "@walletconnect/utils": "2.9.0", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/types": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.9.0.tgz", - "integrity": "sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==", - "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/heartbeat": "1.2.1", - "@walletconnect/jsonrpc-types": "1.0.3", - "@walletconnect/keyvaluestorage": "^1.0.2", - "@walletconnect/logger": "^2.0.1", - "events": "^3.3.0" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/utils": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.9.0.tgz", - "integrity": "sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==", - "dependencies": { - "@stablelib/chacha20poly1305": "1.0.1", - "@stablelib/hkdf": "1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/sha256": "1.0.1", - "@stablelib/x25519": "^1.0.3", - "@walletconnect/relay-api": "^1.0.9", - "@walletconnect/safe-json": "^1.0.2", - "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.9.0", - "@walletconnect/window-getters": "^1.0.1", - "@walletconnect/window-metadata": "^1.0.1", - "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "^3.1.0" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" - }, - "node_modules/@walletconnect/universal-provider/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@walletconnect/utils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.3.6.tgz", - "integrity": "sha512-nzTO5A3Ltjrsu6u8SR/KqdHTH03848KIj5MQlOCUjwxW1fXOvuri8+kwFKqlMn0bk1Qvlt6rrOptbt14PW8kSA==", - "dependencies": { - "@json-rpc-tools/utils": "1.6.1", - "@walletconnect/types": "^1.3.6", - "bn.js": "4.11.8", - "detect-browser": "5.1.0", - "enc-utils": "3.0.0", - "js-sha3": "0.8.0", - "query-string": "6.13.5", - "safe-json-utils": "1.0.0", - "window-getters": "1.0.0", - "window-metadata": "1.0.0" - } - }, - "node_modules/@walletconnect/utils/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/@walletconnect/utils/node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/@walletconnect/utils/node_modules/query-string": { - "version": "6.13.5", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz", - "integrity": "sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/utils/node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@walletconnect/web3-subprovider": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@walletconnect/web3-subprovider/-/web3-subprovider-1.3.6.tgz", - "integrity": "sha512-jwIuH+FRPNZXLCRw+7qYMSJ/iK773TQgx0Ui56kiXYWSW0HOLny/HZW11kSIEuhEflkc+g5TmAz1sZZp/aLepw==", - "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", - "dependencies": { - "@walletconnect/client": "^1.3.6", - "@walletconnect/qrcode-modal": "^1.3.6", - "@walletconnect/types": "^1.3.6", - "web3-provider-engine": "16.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-block-tracker": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", - "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", - "dependencies": { - "@babel/plugin-transform-runtime": "^7.5.5", - "@babel/runtime": "^7.5.5", - "eth-query": "^2.1.0", - "json-rpc-random-id": "^1.0.1", - "pify": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-filters": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz", - "integrity": "sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==", - "dependencies": { - "@metamask/safe-event-emitter": "^2.0.0", - "async-mutex": "^0.2.6", - "eth-json-rpc-middleware": "^6.0.0", - "eth-query": "^2.1.2", - "json-rpc-engine": "^6.1.0", - "pify": "^5.0.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-filters/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-infura": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz", - "integrity": "sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "eth-json-rpc-middleware": "^6.0.0", - "eth-rpc-errors": "^3.0.0", - "json-rpc-engine": "^5.3.0", - "node-fetch": "^2.6.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-infura/node_modules/json-rpc-engine": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", - "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", - "dependencies": { - "eth-rpc-errors": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-middleware": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz", - "integrity": "sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==", - "dependencies": { - "btoa": "^1.2.1", - "clone": "^2.1.1", - "eth-query": "^2.1.2", - "eth-rpc-errors": "^3.0.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-util": "^5.1.2", - "json-rpc-engine": "^5.3.0", - "json-stable-stringify": "^1.0.1", - "node-fetch": "^2.6.1", - "pify": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/eth-json-rpc-middleware/node_modules/json-rpc-engine": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", - "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", - "dependencies": { - "eth-rpc-errors": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/json-rpc-engine": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", - "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", - "dependencies": { - "@metamask/safe-event-emitter": "^2.0.0", - "eth-rpc-errors": "^4.0.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/json-rpc-engine/node_modules/eth-rpc-errors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz", - "integrity": "sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/@walletconnect/web3-subprovider/node_modules/web3-provider-engine": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-16.0.1.tgz", - "integrity": "sha512-/Eglt2aocXMBiDj7Se/lyZnNDaHBaoJlaUfbP5HkLJQC/HlGbR+3/W+dINirlJDhh7b54DzgykqY7ksaU5QgTg==", - "deprecated": "This package has been deprecated, see the README for details: https://github.com/MetaMask/web3-provider-engine", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^4.4.2", - "eth-json-rpc-filters": "^4.2.1", - "eth-json-rpc-infura": "^5.1.0", - "eth-json-rpc-middleware": "^6.0.0", - "eth-rpc-errors": "^3.0.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/@walletconnect/window-getters": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", - "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/window-getters/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@walletconnect/window-metadata": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", - "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", - "dependencies": { - "@walletconnect/window-getters": "^1.0.1", - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/window-metadata/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@web3-js/scrypt-shim": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz", - "integrity": "sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw==", - "deprecated": "This package is deprecated, for a pure JS implementation please use scrypt-js", - "hasInstallScript": true, - "dependencies": { - "scryptsy": "^2.1.0", - "semver": "^6.3.0" - } - }, - "node_modules/@web3-js/scrypt-shim/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@web3-js/websocket": { - "version": "1.0.30", - "resolved": "https://registry.npmjs.org/@web3-js/websocket/-/websocket-1.0.30.tgz", - "integrity": "sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA==", - "deprecated": "The branch for this fork was merged upstream, please update your package to websocket@1.0.31", - "hasInstallScript": true, - "dependencies": { - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "nan": "^2.14.0", - "typedarray-to-buffer": "^3.1.5", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dependencies": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", - "deprecated": "Use your platform's native atob() and btoa() methods instead" - }, - "node_modules/abortcontroller-polyfill": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.4.0.tgz", - "integrity": "sha512-3ZFfCRfDzx3GFjO6RAkYx81lPGpUS20ISxux9gLxuKnqafNcFQo59+IoZqpO2WvQlyc287B62HDnDdNYRmlvWA==" - }, - "node_modules/abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", - "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", - "dependencies": { - "assert": "1.4.1", - "camelcase": "5.0.0", - "loader-utils": "1.2.3", - "object-path": "0.11.4", - "regex-parser": "2.2.10" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" - }, - "node_modules/aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", - "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", - "dependencies": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" - } - }, - "node_modules/aria-query/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" - }, - "node_modules/array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "node_modules/array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dependencies": { - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "engines": { - "node": "*" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dependencies": { - "async": "^2.4.0" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/async-mutex": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", - "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", - "dependencies": { - "tslib": "^2.0.0" - } - }, - "node_modules/async-mutex/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.4.tgz", - "integrity": "sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A==", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001087", - "colorette": "^1.2.0", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "dependencies": { - "array-filter": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/await-semaphore": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", - "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" - }, - "node_modules/axios": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.14.0.tgz", - "integrity": "sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.11", - "form-data": "^4.0.5", - "proxy-from-env": "^2.1.0" - } - }, - "node_modules/axios/node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "dependencies": { - "babylon": "^6.18.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dependencies": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dependencies": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dependencies": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-jest/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dependencies": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 6.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dependencies": { - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-macros/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-macros/node_modules/parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-macros/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-macros/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz", - "integrity": "sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==", - "peerDependencies": { - "@babel/core": "^7.1.0" - } - }, - "node_modules/babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, - "node_modules/babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "node_modules/babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" - }, - "node_modules/babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dependencies": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dependencies": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dependencies": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dependencies": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dependencies": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dependencies": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "node_modules/babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dependencies": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dependencies": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dependencies": { - "regenerator-transform": "^0.10.0" - } - }, - "node_modules/babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dependencies": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "dependencies": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-react-app": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz", - "integrity": "sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA==", - "dependencies": { - "@babel/core": "7.9.0", - "@babel/plugin-proposal-class-properties": "7.8.3", - "@babel/plugin-proposal-decorators": "7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.8.3", - "@babel/plugin-proposal-numeric-separator": "7.8.3", - "@babel/plugin-proposal-optional-chaining": "7.9.0", - "@babel/plugin-transform-flow-strip-types": "7.9.0", - "@babel/plugin-transform-react-display-name": "7.8.3", - "@babel/plugin-transform-runtime": "7.9.0", - "@babel/preset-env": "7.9.0", - "@babel/preset-react": "7.9.1", - "@babel/preset-typescript": "7.9.0", - "@babel/runtime": "7.9.0", - "babel-plugin-macros": "2.8.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", - "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", - "dependencies": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/preset-react": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.1.tgz", - "integrity": "sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-react-display-name": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.1", - "@babel/plugin-transform-react-jsx-development": "^7.9.0", - "@babel/plugin-transform-react-jsx-self": "^7.9.0", - "@babel/plugin-transform-react-jsx-source": "^7.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-react-app/node_modules/@babel/runtime": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz", - "integrity": "sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/babel-preset-react-app/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/babel-preset-react-app/node_modules/regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" - }, - "node_modules/babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dependencies": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babelify": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", - "dependencies": { - "babel-core": "^6.0.14", - "object-assign": "^4.0.0" - } - }, - "node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "bin": { - "babylon": "bin/babylon.js" - } - }, - "node_modules/backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base-x": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", - "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/bigi": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.2.tgz", - "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" - }, - "node_modules/bignumber.js": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bip32": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.5.tgz", - "integrity": "sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g==", - "dependencies": { - "@types/node": "10.12.18", - "bs58check": "^2.1.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "tiny-secp256k1": "^1.1.3", - "typeforce": "^1.11.5", - "wif": "^2.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/bip32/node_modules/@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" - }, - "node_modules/bip39": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.6.0.tgz", - "integrity": "sha512-RrnQRG2EgEoqO24ea+Q/fftuPUZLmrEM3qNhhGsA3PbaXaCW791LTzPuVyx/VprXQcTbPJ3K3UeTna8ZnVl2sg==", - "dependencies": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "node_modules/bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bl": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", - "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bls12377js": { - "version": "0.1.0", - "resolved": "git+ssh://git@github.com/celo-org/bls12377js.git#cb38a4cfb643c778619d79b20ca3e5283a2122a6", - "integrity": "sha512-AybXryNTmhKbCP5aJUacQYBTcv1Yvk+zoCYoW9I/mUIB67K6m3aNX88ZQF9umQnXc+uRXpMOePfd4fTpS7hh4Q==", - "license": "MIT", - "dependencies": { - "@stablelib/blake2xs": "0.10.4", - "@types/node": "^12.11.7", - "big-integer": "^1.6.44", - "chai": "^4.2.0", - "mocha": "^6.2.2", - "ts-node": "^8.4.1", - "typescript": "^3.6.4" - } - }, - "node_modules/bls12377js/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dependencies": { - "resolve": "1.1.7" - } - }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==" - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dependencies": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - }, - "bin": { - "browserslist": "cli.js" - } - }, - "node_modules/bs58": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz", - "integrity": "sha1-VZCNWPGYKrogCPob7Y+RmYopv40=" - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/bs58check/node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "bin": { - "btoa": "bin/btoa.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "node_modules/buffer-reverse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha1-SSg8jvpvkBvAH6MwTQYCeXGuL2A=" - }, - "node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dependencies": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cacache/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } - }, - "node_modules/camel-case": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", - "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", - "dependencies": { - "pascal-case": "^3.1.1", - "tslib": "^1.10.0" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-api/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001090", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001090.tgz", - "integrity": "sha512-QzPRKDCyp7RhjczTPZaqK3CjPA5Ht2UnXhZhCI4f7QiB5JK6KEuZBxIzyWnB3wO4hgAj4GMRxAhuiacfw0Psjg==" - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "node_modules/cbor": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-4.3.0.tgz", - "integrity": "sha512-CvzaxQlaJVa88sdtTWvLJ++MbdtPHtZOBBNjm7h3YKUHILMs9nQyD4AC6hvFZy7GBVB3I6bRibJcxeHydyT2IQ==", - "dependencies": { - "bignumber.js": "^9.0.0", - "commander": "^3.0.0", - "json-text-sequence": "^0.1", - "nofilter": "^1.0.3" - }, - "bin": { - "cbor2comment": "bin/cbor2comment", - "cbor2diag": "bin/cbor2diag", - "cbor2json": "bin/cbor2json", - "json2cbor": "bin/json2cbor" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "engines": { - "node": "*" - } - }, - "node_modules/checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", - "dependencies": { - "functional-red-black-tree": "^1.0.1" - } - }, - "node_modules/chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.2" - } - }, - "node_modules/chokidar/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/chokidar/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chokidar/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "node_modules/clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "dependencies": { - "commander": "2.8.x", - "source-map": "0.4.x" - }, - "bin": { - "cleancss": "bin/cleancss" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-css/node_modules/commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dependencies": { - "graceful-readlink": ">= 1.0.0" - }, - "engines": { - "node": ">= 0.6.x" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", - "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", - "dependencies": { - "for-own": "^0.1.3", - "is-plain-object": "^2.0.1", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3", - "shallow-clone": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/clone-response/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/coinstring": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-2.3.0.tgz", - "integrity": "sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q=", - "dependencies": { - "bs58": "^2.0.1", - "create-hash": "^1.1.1" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colorette": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz", - "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "dependencies": { - "arity-n": "^1.0.4" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", - "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "optional": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-to-clipboard": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", - "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", - "dependencies": { - "toggle-selection": "^1.0.6" - } - }, - "node_modules/core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, - "node_modules/core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "dependencies": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", - "deprecated": "core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/country-data": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/country-data/-/country-data-0.0.31.tgz", - "integrity": "sha1-gJZrjh0Uf6bWpYnTKTP4eTd0lW0=", - "dependencies": { - "currency-symbol-map": "~2", - "underscore": ">1.4.4" - } - }, - "node_modules/countup.js": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-1.9.3.tgz", - "integrity": "sha1-zj5QzXFgRB5HjwfaMYle3MDxyd0=" - }, - "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-fetch": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.6.tgz", - "integrity": "sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA==", - "dependencies": { - "node-fetch": "^2.6.7", - "whatwg-fetch": "^2.0.4" - } - }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/cross-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/cross-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/cross-fetch/node_modules/whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, - "node_modules/cross-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" - }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-blank-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-has-pseudo/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-loader": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", - "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", - "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.23", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.1.1", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.2", - "schema-utils": "^2.6.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dependencies": { - "css-tree": "1.0.0-alpha.39" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dependencies": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dependencies": { - "cssom": "0.3.x" - } - }, - "node_modules/csstype": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", - "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==" - }, - "node_modules/currency-symbol-map": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-2.2.0.tgz", - "integrity": "sha1-KzwYcv8aws5ZXYJz5Y4f/wJyrqI=" - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" - }, - "node_modules/d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" - }, - "node_modules/d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" - }, - "node_modules/d3-format": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", - "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" - }, - "node_modules/d3-interpolate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", - "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", - "dependencies": { - "d3-color": "1" - } - }, - "node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "node_modules/d3-scale": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", - "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", - "dependencies": { - "d3-array": "^1.2.0", - "d3-collection": "1", - "d3-format": "1", - "d3-interpolate": "1", - "d3-time": "1", - "d3-time-format": "2" - } - }, - "node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", - "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" - }, - "node_modules/d3-time-format": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", - "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", - "dependencies": { - "d3-time": "1" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js-light": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "optional": true, - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/decompress-tar/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/decompress-tar/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/decompress-tar/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "node_modules/deepmerge": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", - "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "node_modules/deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "node_modules/delimit-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", - "integrity": "sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=" - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-browser": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.1.0.tgz", - "integrity": "sha512-WKa9p+/MNwmTiS+V2AS6eGxic+807qvnV3hC+4z2GTY+F42h1n8AynVTMMc4EJBC32qMs6yjOTpeDEQQt/AVqQ==" - }, - "node_modules/detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-node": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=" - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", - "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" - }, - "node_modules/dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dependencies": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dir-glob/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "node_modules/dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-helpers": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz", - "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^2.6.7" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "deprecated": "Use your platform's native DOMException instead", - "dependencies": { - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", - "integrity": "sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==", - "dependencies": { - "no-case": "^3.0.3", - "tslib": "^1.10.0" - } - }, - "node_modules/dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, - "node_modules/drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "dependencies": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.483", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.483.tgz", - "integrity": "sha512-+05RF8S9rk8S0G8eBCqBRBaRq7+UN3lDs2DAvnG8SBSgQO3hjy0+qt4CmRk5eiuGbTcaicgXfPmBi31a+BD3lg==" - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/enc-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/enc-utils/-/enc-utils-3.0.0.tgz", - "integrity": "sha512-e57t/Z2HzWOLwOp7DZcV0VMEY8t7ptWwsxyp6kM2b2zrk6JqIpXxzkruHAMiBsy5wg9jp/183GdiRXCvBtzsYg==", - "dependencies": { - "is-typedarray": "1.0.0", - "typedarray-to-buffer": "3.1.5" - } - }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dependencies": { - "iconv-lite": "~0.4.13" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/enhanced-resolve/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/enhanced-resolve/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-abstract/node_modules/is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", - "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-google": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.13.0.tgz", - "integrity": "sha512-ELgMdOIpn0CFdsQS+FuxO+Ttu4p+aLaXHv9wA9yVnzqlUGV7oN/eRRnJekk7TCur6Cu2FXX0fqfIXRBaM14lpQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-config-keep": { - "version": "0.3.0", - "resolved": "git+ssh://git@github.com/keep-network/eslint-config-keep.git#0c27ade54e725f980e971c3d91ea88bab76b2330", - "integrity": "sha512-nX0xP1SfSn+QdQvbqB3KAy5YSfE/U82FK/3FJi6u2XO5r1qELUEu+YReOfxWIgBglBYqDL1ObdJcN4vjRTxDFg==", - "dev": true, - "dependencies": { - "@keep-network/prettier-config-keep": "github:keep-network/prettier-config-keep", - "eslint-config-google": "^0.13.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-no-only-tests": "^2.3.1", - "eslint-plugin-prettier": "^3.1.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "eslint": ">=6.8.0", - "prettier": ">=1.19.1" - } - }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, - "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=3.14.1" - } - }, - "node_modules/eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "dependencies": { - "confusing-browser-globals": "^1.0.9" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-plugin-flowtype": "3.x || 4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "1.x || 2.x" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", - "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dependencies": { - "fs-extra": "^8.1.0", - "loader-fs-cache": "^1.0.2", - "loader-utils": "^1.2.3", - "object-hash": "^2.0.1", - "schema-utils": "^2.6.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/eslint-loader/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dependencies": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", - "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=6.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", - "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", - "dependencies": { - "array-includes": "^3.0.3", - "array.prototype.flat": "^1.2.1", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.1", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "2.x - 6.x" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", - "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", - "dependencies": { - "@babel/runtime": "^7.4.5", - "aria-query": "^3.0.0", - "array-includes": "^3.0.3", - "ast-types-flow": "^0.0.7", - "axobject-query": "^2.0.2", - "damerau-levenshtein": "^1.0.4", - "emoji-regex": "^7.0.2", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6" - } - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", - "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", - "dependencies": { - "array-includes": "^3.1.1", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.3", - "object.entries": "^1.1.1", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.15.1", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.2", - "xregexp": "^4.3.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", - "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==", - "engines": { - "node": ">=7" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dependencies": { - "estraverse": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eth-block-tracker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", - "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", - "dependencies": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" - } - }, - "node_modules/eth-block-tracker/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/eth-ens-namehash/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/eth-json-rpc-errors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", - "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/eth-json-rpc-filters": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.1.tgz", - "integrity": "sha512-GkXb2h6STznD+AmMzblwXgm1JMvjdK9PTIXG7BvIkTlXQ9g0QOxuU1iQRYHoslF9S30BYBSoLSisAYPdLggW+A==", - "dependencies": { - "await-semaphore": "^0.1.3", - "eth-json-rpc-middleware": "^4.1.4", - "eth-query": "^2.1.2", - "json-rpc-engine": "^5.1.3", - "lodash.flatmap": "^4.5.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/eth-json-rpc-errors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/eth-json-rpc-middleware": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.1.tgz", - "integrity": "sha512-yoSuRgEYYGFdVeZg3poWOwAlRI+MoBIltmOB86MtpoZjvLbou9EB/qWMOWSmH2ryCWLW97VYY6NWsmWm3OAA7A==", - "dependencies": { - "btoa": "^1.2.1", - "clone": "^2.1.1", - "eth-json-rpc-errors": "^1.0.1", - "eth-query": "^2.1.2", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.7", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.6.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^5.1.3", - "json-stable-stringify": "^1.0.1", - "pify": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/json-rpc-engine": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.1.8.tgz", - "integrity": "sha512-vTBSDEPJV1fPAsbm2g5sEuPjsgLdiab2f1CTn2PyRr8nxggUpA996PDlNQDsM0gnrA99F8KIBLq2nIKrOFl1Mg==", - "dependencies": { - "async": "^2.0.1", - "eth-json-rpc-errors": "^2.0.1", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/json-rpc-engine/node_modules/eth-json-rpc-errors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", - "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/eth-json-rpc-filters/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/eth-json-rpc-infura": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", - "integrity": "sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-middleware": "^1.5.0", - "json-rpc-engine": "^3.4.0", - "json-rpc-error": "^2.0.0" - } - }, - "node_modules/eth-json-rpc-middleware": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", - "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", - "dependencies": { - "async": "^2.5.0", - "eth-query": "^2.1.2", - "eth-tx-summary": "^3.1.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.1.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^3.6.0", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "tape": "^4.6.3" - } - }, - "node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/eth-lib/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/eth-lib/node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", - "dependencies": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "node_modules/eth-rpc-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", - "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "node_modules/eth-tx-summary": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz", - "integrity": "sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==", - "dependencies": { - "async": "^2.1.2", - "clone": "^2.0.0", - "concat-stream": "^1.5.1", - "end-of-stream": "^1.1.0", - "eth-query": "^2.0.2", - "ethereumjs-block": "^1.4.1", - "ethereumjs-tx": "^1.1.1", - "ethereumjs-util": "^5.0.1", - "ethereumjs-vm": "^2.6.0", - "through2": "^2.0.3" - } - }, - "node_modules/eth-tx-summary/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz", - "integrity": "sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-bloom-filters/node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "node_modules/ethereum-types": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ethereum-types/-/ethereum-types-3.1.1.tgz", - "integrity": "sha512-4PRpHfzN4v+IhgrEOS4KYugtKliuDESGtWjmhpPmOC2RUilo6wQDYKK2PKaq4rYG+dzHxIfXrPh/AnQpRgSNhw==", - "dependencies": { - "@types/node": "*", - "bignumber.js": "~9.0.0" - }, - "engines": { - "node": ">=6.12" - } - }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#1a27c59c15ab1e95ee8e5c4ed6ad814c49cc439e", - "integrity": "sha512-oCVXhskLJKNPEPN2Zy4Wm9r+Fj19uOIcCns7aVmykqqhtHNQ4TMi7/JuT04+bPq0OmZJ0zKR17RN4LnkXeCLeQ==", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ethereumjs-abi/node_modules/keccak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", - "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, - "node_modules/ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "node_modules/ethereumjs-block/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ethereumjs-block/node_modules/ethereumjs-tx/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "node_modules/ethereumjs-common": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.1.tgz", - "integrity": "sha512-aVUPRLgmXORGXXEVkFYgPhr9TGtpBY2tGhZ9Uh0A3lIUzUDr1x6kQx33SbjPUkLkX3eniPQnIL/2psjkjrOfcQ==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." - }, - "node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ethereumjs-tx/node_modules/keccak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", - "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, - "node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ethereumjs-vm/node_modules/ethereumjs-util/node_modules/keccak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", - "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, - "node_modules/ethers": { - "version": "4.0.47", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.47.tgz", - "integrity": "sha512-hssRYhngV4hiDNeZmVU/k5/E8xmLG8UpcNUzg6mb7lqhgpFPH/t7nuv20RjRrEf0gblzvi2XwR5Te+V3ZFc9pQ==", - "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.5.2", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/ethers/node_modules/elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ethers/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/ethers/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "node_modules/events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz", - "integrity": "sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", - "dependencies": { - "checkpoint-store": "^1.1.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" - }, - "node_modules/faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/fetch-ponyfill": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", - "dependencies": { - "node-fetch": "~1.7.1" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "deprecated": "This module is no longer supported." - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dependencies": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/filesize": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz", - "integrity": "sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filter-console": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/filter-console/-/filter-console-0.1.1.tgz", - "integrity": "sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash." - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/flush-write-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dependencies": { - "debug": "=3.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/follow-redirects/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", - "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", - "dependencies": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^3.3.0", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/formik": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/formik/-/formik-2.1.4.tgz", - "integrity": "sha512-oKz8S+yQBzuQVSEoxkqqJrKQS5XJASWGVn6mrs+oTWrBoHgByVwwI1qHiVc9GKDpZBU9vAxXYAKz2BvujlwunA==", - "dependencies": { - "deepmerge": "^2.1.1", - "hoist-non-react-statics": "^3.3.0", - "lodash": "^4.17.14", - "lodash-es": "^4.17.14", - "react-fast-compare": "^2.0.1", - "scheduler": "^0.18.0", - "tiny-warning": "^1.0.2", - "tslib": "^1.10.0" - }, - "peerDependencies": { - "react": ">=16.3.0" - } - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fp-ts": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.1.1.tgz", - "integrity": "sha512-YcWhMdDCFCja0MmaDroTgNu+NWWrrnUEn92nvDgrtVy9Z71YFnhNVIghoHPt8gs82ijoMzFGeWKvArbyICiJgw==" - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "deprecated": "This package is no longer supported.", - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/fsm-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fsm-iterator/-/fsm-iterator-1.1.0.tgz", - "integrity": "sha1-M33kXeGesgV4jPAuOpVewgZ2Dew=", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "node_modules/futoin-hkdf": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.3.3.tgz", - "integrity": "sha512-oR75fYk3B3X9/B02Y6vusrBKucrpC6VjxhRL+C6B7FwUpuSRHbhBNG3AZbcE/xPyJmEQWsyqUFp3VeNNbA3S7A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ganache-core": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.10.2.tgz", - "integrity": "sha512-4XEO0VsqQ1+OW7Za5fQs9/Kk7o8M0T1sRfFSF8h9NeJ2ABaqMO5waqxf567ZMcSkRKaTjUucBSz83xNfZv1HDg==", - "deprecated": "ganache-core is now ganache; visit https://trfl.io/g7 for details", - "hasShrinkwrap": true, - "dependencies": { - "abstract-leveldown": "3.0.0", - "async": "2.6.2", - "bip39": "2.5.0", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.2.6", - "encoding-down": "5.0.4", - "eth-sig-util": "2.3.0", - "ethereumjs-abi": "0.6.7", - "ethereumjs-account": "3.0.0", - "ethereumjs-block": "2.2.2", - "ethereumjs-common": "1.5.0", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "6.2.0", - "ethereumjs-vm": "4.1.3", - "heap": "0.2.6", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.14", - "merkle-patricia-tree": "2.3.2", - "seedrandom": "3.0.1", - "source-map-support": "0.5.12", - "tmp": "0.1.0", - "web3-provider-engine": "14.2.1", - "websocket": "1.0.29" - }, - "engines": { - "node": ">=8.9.0" - }, - "optionalDependencies": { - "ethereumjs-wallet": "0.6.3", - "web3": "1.2.4" - } - }, - "node_modules/ganache-core/node_modules/abstract-leveldown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz", - "integrity": "sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", - "optional": true - }, - "node_modules/ganache-core/node_modules/async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dependencies": { - "lodash": "^4.17.11" - } - }, - "node_modules/ganache-core/node_modules/bip39": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.5.0.tgz", - "integrity": "sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA==", - "dependencies": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "node_modules/ganache-core/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/ganache-core/node_modules/browserify-sha3": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", - "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", - "dependencies": { - "js-sha3": "^0.6.1", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/ganache-core/node_modules/bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=", - "dependencies": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "node_modules/ganache-core/node_modules/bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=", - "dependencies": { - "typewise-core": "^1.2" - } - }, - "node_modules/ganache-core/node_modules/cachedown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cachedown/-/cachedown-1.0.0.tgz", - "integrity": "sha1-1D8DbkUQaWsxJG19sx6/D3rDLRU=", - "dependencies": { - "abstract-leveldown": "^2.4.1", - "lru-cache": "^3.2.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/ganache-core/node_modules/elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/encoding-down/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-2.3.0.tgz", - "integrity": "sha512-ugD1AvaggvKaZDgnS19W5qOfepjGc7qHrt7TrAaL54gJw9SHvgIXJ3r2xOMW30RWJZNP+1GlTOy5oye7yXA4xA==", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "buffer": "^5.2.1", - "elliptic": "^6.4.0", - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.0", - "tweetnacl-util": "^0.15.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz", - "integrity": "sha1-WmN+8Wq0NHP6cqKa2QhxQFs/UkE=", - "deprecated": "This library has been deprecated and usage is discouraged.", - "dependencies": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^4.3.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", - "dependencies": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "keccakjs": "^0.2.0", - "rlp": "^2.0.0", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethashjs": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.7.tgz", - "integrity": "sha1-ML/kGWcmaQoMWdO4Jy5w1NDDS64=", - "deprecated": "New package name format for new versions: @ethereumjs/ethash. Please update.", - "dependencies": { - "async": "^1.4.2", - "buffer-xor": "^1.0.3", - "ethereumjs-util": "^4.0.1", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/ethereumjs-util": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", - "dependencies": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "keccakjs": "^0.2.0", - "rlp": "^2.0.0", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-abi": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.7.tgz", - "integrity": "sha512-EMLOA8ICO5yAaXDhjVEfYjsJIXYutY8ufTE93eEKwsVtp2usQreKwsDTJ9zvam3omYqNuffr8IONIqb2uUslGQ==", - "deprecated": "This library has been deprecated and usage is discouraged.", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "deprecated": "Please use Util.Account class found on package ethereumjs-util@^7.0.6 https://github.com/ethereumjs/ethereumjs-util/releases/tag/v7.0.6", - "dependencies": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-blockchain": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.3.tgz", - "integrity": "sha512-0nJWbyA+Gu0ZKZr/cywMtB/77aS/4lOVsIKbgUN2sFQYscXO5rPbUfrEe7G2Zhjp86/a0VqLllemDSTHvx3vZA==", - "deprecated": "New package name format for new versions: @ethereumjs/blockchain. Please update.", - "dependencies": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "~6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-blockchain/node_modules/ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-blockchain/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-common": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", - "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update." - }, - "node_modules/ganache-core/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-util/node_modules/keccak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", - "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-util/node_modules/nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-4.1.3.tgz", - "integrity": "sha512-RTrD0y7My4O6Qr1P2ZIsMfD6RzL6kU/RhBZ0a5XrPzAeR61crBS7or66ohDrvxDI/rDBxMi+6SnsELih6fzalw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-wallet": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-0.6.3.tgz", - "integrity": "sha512-qiXPiZOsStem+Dj/CQHbn5qex+FVkuPmGH7SvSnA9F3tdRDt8dLMyvIj3+U05QzVZNPYh4HXEdnzoYI4dZkr9w==", - "deprecated": "New package name format for new versions: @ethereumjs/wallet. Please update.", - "optional": true, - "dependencies": { - "aes-js": "^3.1.1", - "bs58check": "^2.1.2", - "ethereumjs-util": "^6.0.0", - "hdkey": "^1.1.0", - "randombytes": "^2.0.6", - "safe-buffer": "^5.1.2", - "scrypt.js": "^0.3.0", - "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "node_modules/ganache-core/node_modules/flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s=" - }, - "node_modules/ganache-core/node_modules/hdkey": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-1.1.1.tgz", - "integrity": "sha512-DvHZ5OuavsfWs5yfVJZestsnc3wzPvLWNk6c2nRUfo6X+OtxypGt20vDDf7Ba+MJzjL3KS1og2nw2eBbLCOUTA==", - "optional": true, - "dependencies": { - "coinstring": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" - }, - "node_modules/ganache-core/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - }, - "node_modules/ganache-core/node_modules/js-sha3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", - "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" - }, - "node_modules/ganache-core/node_modules/keccakjs": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", - "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", - "dependencies": { - "browserify-sha3": "^0.0.4", - "sha3": "^1.2.2" - } - }, - "node_modules/ganache-core/node_modules/level-codec": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", - "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==", - "deprecated": "Superseded by level-transcoder (https://github.com/Level/community#faq)", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "deprecated": "Superseded by memory-level (https://github.com/Level/community#faq)", - "dependencies": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "deprecated": "Superseded by memory-level (https://github.com/Level/community#faq)", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/ganache-core/node_modules/level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-post": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz", - "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==", - "dependencies": { - "ltgt": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/level-sublevel": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.4.tgz", - "integrity": "sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA==", - "dependencies": { - "bytewise": "~1.1.0", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "level-iterator-stream": "^2.0.3", - "ltgt": "~2.1.1", - "pull-defer": "^0.2.2", - "pull-level": "^2.0.3", - "pull-stream": "^3.6.8", - "typewiselite": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/level-sublevel/node_modules/level-iterator-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz", - "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/level-sublevel/node_modules/ltgt": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz", - "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=" - }, - "node_modules/ganache-core/node_modules/levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup/node_modules/abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup/node_modules/deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup/node_modules/level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" - }, - "node_modules/ganache-core/node_modules/looper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz", - "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=" - }, - "node_modules/ganache-core/node_modules/lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", - "dependencies": { - "pseudomap": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/ganache-core/node_modules/nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" - }, - "node_modules/ganache-core/node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "node_modules/ganache-core/node_modules/pull-cat": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz", - "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=" - }, - "node_modules/ganache-core/node_modules/pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "node_modules/ganache-core/node_modules/pull-level": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz", - "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==", - "dependencies": { - "level-post": "^1.0.7", - "pull-cat": "^1.1.9", - "pull-live": "^1.0.1", - "pull-pushable": "^2.0.0", - "pull-stream": "^3.4.0", - "pull-window": "^2.1.4", - "stream-to-pull-stream": "^1.7.1" - } - }, - "node_modules/ganache-core/node_modules/pull-live": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz", - "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=", - "dependencies": { - "pull-cat": "^1.1.9", - "pull-stream": "^3.4.0" - } - }, - "node_modules/ganache-core/node_modules/pull-pushable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", - "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=" - }, - "node_modules/ganache-core/node_modules/pull-stream": { - "version": "3.6.14", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", - "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" - }, - "node_modules/ganache-core/node_modules/pull-window": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz", - "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=", - "dependencies": { - "looper": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/ganache-core/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/ganache-core/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ganache-core/node_modules/scrypt": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", - "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "nan": "^2.0.8" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ganache-core/node_modules/scrypt-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", - "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=", - "optional": true - }, - "node_modules/ganache-core/node_modules/scrypt.js": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.3.0.tgz", - "integrity": "sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A==", - "optional": true, - "dependencies": { - "scryptsy": "^1.2.1" - }, - "optionalDependencies": { - "scrypt": "^6.0.2" - } - }, - "node_modules/ganache-core/node_modules/scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", - "optional": true, - "dependencies": { - "pbkdf2": "^3.0.3" - } - }, - "node_modules/ganache-core/node_modules/seedrandom": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.1.tgz", - "integrity": "sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg==" - }, - "node_modules/ganache-core/node_modules/sha3": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.6.tgz", - "integrity": "sha512-KgLGmJGrmNB4JWVsAV11Yk6KbvsAiygWJc7t5IebWva/0NukNrjJqhtKhzy3Eiv2AKuGvhZZt7dt1mDo7HkoiQ==", - "hasInstallScript": true, - "dependencies": { - "nan": "2.13.2" - } - }, - "node_modules/ganache-core/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", - "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream/node_modules/looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" - }, - "node_modules/ganache-core/node_modules/tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/tweetnacl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.2.tgz", - "integrity": "sha512-+8aPRjmXgf1VqvyxSlBUzKzeYqVS9Ai8vZ28g+mL7dNQl1jlUTCMDZnvNQdAS1xTywMkIXwJsfipsR/6s2+syw==" - }, - "node_modules/ganache-core/node_modules/tweetnacl-util": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz", - "integrity": "sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU=" - }, - "node_modules/ganache-core/node_modules/typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=", - "dependencies": { - "typewise-core": "^1.2.0" - } - }, - "node_modules/ganache-core/node_modules/typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=" - }, - "node_modules/ganache-core/node_modules/typewiselite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz", - "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=" - }, - "node_modules/ganache-core/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/node_modules/web3": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.4.tgz", - "integrity": "sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "@types/node": "^12.6.1", - "web3-bzz": "1.2.4", - "web3-core": "1.2.4", - "web3-eth": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-shh": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.4.tgz", - "integrity": "sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A==", - "optional": true, - "dependencies": { - "@types/node": "^10.12.18", - "got": "9.6.0", - "swarm-js": "0.1.39", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz/node_modules/@types/node": { - "version": "10.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", - "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-core": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.4.tgz", - "integrity": "sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A==", - "optional": true, - "dependencies": { - "@types/bignumber.js": "^5.0.0", - "@types/bn.js": "^4.11.4", - "@types/node": "^12.6.1", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-requestmanager": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-helpers": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz", - "integrity": "sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-method": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.4.tgz", - "integrity": "sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-promievent": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz", - "integrity": "sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw==", - "optional": true, - "dependencies": { - "any-promise": "1.3.0", - "eventemitter3": "3.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-requestmanager": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz", - "integrity": "sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-providers-http": "1.2.4", - "web3-providers-ipc": "1.2.4", - "web3-providers-ws": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-subscriptions": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz", - "integrity": "sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw==", - "optional": true, - "dependencies": { - "eventemitter3": "3.1.2", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core/node_modules/@types/node": { - "version": "12.12.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.26.tgz", - "integrity": "sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.4.tgz", - "integrity": "sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA==", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-accounts": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-eth-ens": "1.2.4", - "web3-eth-iban": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz", - "integrity": "sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg==", - "optional": true, - "dependencies": { - "ethers": "4.0.0-beta.3", - "underscore": "1.9.1", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/@types/node": { - "version": "10.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", - "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/elliptic": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", - "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", - "optional": true, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/ethers": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", - "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", - "optional": true, - "dependencies": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.3", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth-abi/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz", - "integrity": "sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw==", - "optional": true, - "dependencies": { - "@web3-js/scrypt-shim": "^0.1.0", - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-contract": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz", - "integrity": "sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ==", - "optional": true, - "dependencies": { - "@types/bn.js": "^4.11.4", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-ens": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz", - "integrity": "sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw==", - "optional": true, - "dependencies": { - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-iban": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz", - "integrity": "sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ==", - "optional": true, - "dependencies": { - "bn.js": "4.11.8", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz", - "integrity": "sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw==", - "optional": true, - "dependencies": { - "@types/node": "^12.6.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.12.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.26.tgz", - "integrity": "sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-net": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.4.tgz", - "integrity": "sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A==", - "optional": true, - "dependencies": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-14.2.1.tgz", - "integrity": "sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==", - "deprecated": "This package has been deprecated, see the README for details: https://github.com/MetaMask/web3-provider-engine", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", - "deprecated": "Deprecated in favor of '@metamask/eth-sig-util'", - "dependencies": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#1ce6a1d64235fabe2aaf827fd606def55693508f", - "integrity": "sha512-QQ4PiP43KOkMDqjYRDbluuHOjIHq/57gyjbiiNTDnh2qPMQqwtfKVq+8SMLBVONVzkMUVysGAiGZ6caSxNtowQ==", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx/node_modules/ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util/node_modules/keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", - "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", - "deprecated": "New package name format for new versions: @ethereumjs/vm. Please update.", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "deprecated": "New package name format for new versions: @ethereumjs/block. Please update.", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", - "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^2.0.0", - "rlp": "^2.2.3", - "secp256k1": "^3.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/keccak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", - "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "node_modules/ganache-core/node_modules/web3-providers-http": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.4.tgz", - "integrity": "sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw==", - "optional": true, - "dependencies": { - "web3-core-helpers": "1.2.4", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ipc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz", - "integrity": "sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og==", - "optional": true, - "dependencies": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ws": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz", - "integrity": "sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ==", - "optional": true, - "dependencies": { - "@web3-js/websocket": "^1.0.29", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-shh": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.4.tgz", - "integrity": "sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ==", - "optional": true, - "dependencies": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-net": "1.2.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.4.tgz", - "integrity": "sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ==", - "optional": true, - "dependencies": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3/node_modules/@types/node": { - "version": "12.12.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.26.tgz", - "integrity": "sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA==", - "optional": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "optional": true - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "node_modules/global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "dependencies": { - "min-document": "^2.19.0", - "process": "~0.5.1" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "node_modules/globby/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/google-libphonenumber": { - "version": "3.2.19", - "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.19.tgz", - "integrity": "sha512-zevRvpUuc88wIXa+ijlMprAc8SrldUtYY2vQpfymmxyZ2ksct6gFrGxccpo28+zjvjK51VoSUaDUHS24XYp6dA==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/got/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "node_modules/graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "engines": { - "node": ">=4.x" - } - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gzip-size/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/harmony-reflect": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", - "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "optional": true - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hdkey": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-0.7.1.tgz", - "integrity": "sha1-yu5L6BqneSHpCbjSKN0PKayu5jI=", - "dependencies": { - "coinstring": "^2.0.0", - "secp256k1": "^3.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "node_modules/hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-minifier-terser/node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/html-minifier-terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/html-webpack-plugin": { - "version": "4.0.0-beta.11", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", - "integrity": "sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg==", - "deprecated": "please switch to a stable version", - "dependencies": { - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "node_modules/http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "engines": { - "node": ">=6" - } - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "node_modules/immer": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", - "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" - }, - "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dependencies": { - "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "node_modules/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", - "engines": { - "node": "*" - } - }, - "node_modules/inquirer": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.2.0.tgz", - "integrity": "sha512-E0c4rPwr9ByePfNlTIB8z51kK1s2n6jrHuJeEHENl/sbq2G/S1auvibgEwNR4uSyiU+PiYHqSwsgGiXjG8p5ZQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/inquirer/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", - "dependencies": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/io-ts": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-2.0.1.tgz", - "integrity": "sha512-RezD+WcCfW4VkMkEcQWL/Nmy/nqsWTvTYg7oUmTGzglvSSV2P9h2z1PVeREPFf0GWNzruYleAt1XCMQZSg1xxQ==", - "peerDependencies": { - "fp-ts": "^2.0.0" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "deprecated": "Please upgrade to v0.1.7", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "deprecated": "Please upgrade to v0.1.5", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", - "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", - "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dependencies": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/istanbul-lib-source-maps/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dependencies": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dependencies": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "dependencies": { - "detect-newline": "^2.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dependencies": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-environment-jsdom-fourteen": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-1.0.1.tgz", - "integrity": "sha512-DojMX1sY+at5Ep+O9yME34CdidZnO3/zfPh8UW+918C5fIZET5vCjfkegixmsi7AtdYfkr4bPlIzmWnlvQkP7Q==", - "dependencies": { - "@jest/environment": "^24.3.0", - "@jest/fake-timers": "^24.3.0", - "@jest/types": "^24.3.0", - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0", - "jsdom": "^14.1.0" - } - }, - "node_modules/jest-environment-jsdom-fourteen/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jest-environment-jsdom-fourteen/node_modules/jsdom": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", - "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", - "dependencies": { - "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.1.3", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom-fourteen/node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - }, - "node_modules/jest-environment-jsdom-fourteen/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/jest-environment-jsdom-fourteen/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dependencies": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "dependencies": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "engines": { - "node": ">= 6" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/jest-haste-map/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "dependencies": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-message-util/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "dependencies": { - "@jest/types": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dependencies": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dependencies": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-runner/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dependencies": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-runtime/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-util/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-util/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-util/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "dependencies": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-watch-typeahead": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz", - "integrity": "sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.1", - "jest-regex-util": "^24.9.0", - "jest-watcher": "^24.3.0", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-watch-typeahead/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dependencies": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dependencies": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/js-sha3": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", - "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" - }, - "node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dependencies": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-rpc-engine": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", - "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", - "dependencies": { - "async": "^2.0.1", - "babel-preset-env": "^1.7.0", - "babelify": "^7.3.0", - "json-rpc-error": "^2.0.0", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/json-rpc-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", - "integrity": "sha1-p6+cICg4tekFxyUOVH8a/3cligI=", - "dependencies": { - "inherits": "^2.0.1" - } - }, - "node_modules/json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/json-text-sequence": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", - "integrity": "sha1-py8hfcSvxGKf/1/rME3BvVGi89I=", - "dependencies": { - "delimit-stream": "0.1.0" - } - }, - "node_modules/json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "engines": { - "node": "*" - } - }, - "node_modules/jsonschema": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.6.tgz", - "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==", - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", - "dependencies": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/keccak256": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/keccak256/-/keccak256-1.0.2.tgz", - "integrity": "sha512-f2EncSgmHmmQOkgxZ+/f2VaWTNkFL6f39VIrpoX+p8cEXJVyyCs/3h9GNz/ViHgwchxvv7oG5mjT2Tk4ZqInag==", - "dependencies": { - "bn.js": "^4.11.8", - "keccak": "^3.0.1" - } - }, - "node_modules/keccak256/node_modules/keccak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", - "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/keyvaluestorage-interface": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", - "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kind-of/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "deprecated": "use String.prototype.padStart()" - }, - "node_modules/less": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz", - "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==", - "dependencies": { - "clone": "^2.1.2", - "tslib": "^1.10.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-plugin-clean-css": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz", - "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=", - "dependencies": { - "clean-css": "^3.0.1" - }, - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/less-watch-compiler": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/less-watch-compiler/-/less-watch-compiler-1.14.6.tgz", - "integrity": "sha512-+sSE0+UImOCkjwPrktVSEDNATLHtIMDNUtfl8S/gI8dzOP8mjq6wi9JfLVgFu9Pj1QGBDP99Q9LXwxGaYRaulw==", - "hasInstallScript": true, - "dependencies": { - "amdefine": ">= 0.1.0", - "commander": "^3.0.0", - "extend": ">= 2.0.0", - "global": "^4.3.1", - "less": "^3.8.1", - "opencollective-postinstall": "^2.0.1", - "shelljs": ">= 0.4.0" - }, - "bin": { - "less-watch-compiler": "dist/less-watch-compiler.js" - } - }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==", - "deprecated": "Superseded by level-transcoder (https://github.com/Level/community#faq)" - }, - "node_modules/level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/level-iterator-stream/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/level-iterator-stream/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/level-ws/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/level-ws/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" - }, - "node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/level-ws/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/levelup/node_modules/semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dependencies": { - "leven": "^3.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/lit": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.5.tgz", - "integrity": "sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.7.0" - } - }, - "node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dependencies": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - } - }, - "node_modules/loader-fs-cache/node_modules/find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dependencies": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dependencies": { - "find-up": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "node_modules/lodash.flatmap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", - "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "node_modules/lodash.values": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz", - "integrity": "sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", - "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", - "dependencies": { - "tslib": "^1.10.0" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" - }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" - }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/math-expression-evaluator": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.1.tgz", - "integrity": "sha512-N1Rj0ZfsjPSKDH97ceiDgV1KTD2TsvQJmMzx6JsXIJj20YxLz/W9kdgIFiSc0oiPOheu/TyjD3imeGgCCduO0g==" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dependencies": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", - "deprecated": "Superseded by memory-level (https://github.com/Level/community#faq)", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/memdown/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merge-deep": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", - "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", - "dependencies": { - "arr-union": "^3.1.0", - "clone-deep": "^0.2.4", - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "node_modules/merkle-patricia-tree/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/merkle-patricia-tree/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/merkle-patricia-tree/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dependencies": { - "mime-db": "1.44.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "optional": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/mini-create-react-context": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz", - "integrity": "sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@babel/runtime": "^7.5.5", - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dependencies": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.4.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dependencies": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-object/node_modules/for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "optional": true - }, - "node_modules/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", - "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/mocha/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/mock-fs": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.12.0.tgz", - "integrity": "sha512-/P/HtrlvBxY4o/PzXY9cCNBrdylDNxg7gnrv2sMNxj+UJ2m8jSpl0/A6fuJeNAWr99ZvGWH8XCbE0vmnM5KupQ==" - }, - "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", - "engines": { - "node": "*" - } - }, - "node_modules/motion": { - "version": "10.16.2", - "resolved": "https://registry.npmjs.org/motion/-/motion-10.16.2.tgz", - "integrity": "sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==", - "dependencies": { - "@motionone/animation": "^10.15.1", - "@motionone/dom": "^10.16.2", - "@motionone/svelte": "^10.16.2", - "@motionone/types": "^10.15.1", - "@motionone/utils": "^10.15.1", - "@motionone/vue": "^10.16.2" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "deprecated": "This package is no longer supported.", - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/mvdan-sh": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mvdan-sh/-/mvdan-sh-0.5.0.tgz", - "integrity": "sha512-UWbdl4LHd2fUnaEcOUFVWRdWGLkNoV12cKVIPiirYd8qM5VkCoCTXErlDubevrkEG7kGohvjRxAlTQmOqG80tw==", - "deprecated": "See https://github.com/mvdan/sh/issues/1145", - "dev": true - }, - "node_modules/nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" - }, - "node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "optional": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" - }, - "node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/no-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", - "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", - "dependencies": { - "lower-case": "^2.0.1", - "tslib": "^1.10.0" - } - }, - "node_modules/node-abi": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.18.0.tgz", - "integrity": "sha512-yi05ZoiuNNEbyT/xXfSySZE+yVnQW6fxPZuFbLyS1s6b5Kw3HzV2PHOM4XR+nsjzkHxByK+2Wg+yCQbe35l8dw==", - "optional": true, - "dependencies": { - "semver": "^5.4.1" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node_modules/node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", - "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-hid": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-0.7.9.tgz", - "integrity": "sha512-vJnonTqmq3frCyTumJqG4g2IZcny3ynkfmbfDfQ90P3ZhRzcWYS/Um1ux6HFmAxmkaQnrZqIYHcGpL7kdqY8jA==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.13.2", - "prebuild-install": "^5.3.0" - }, - "bin": { - "hid-showdevices": "src/show-devices.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/node-libs-browser/node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/node-libs-browser/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/node-libs-browser/node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/node-libs-browser/node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==" - }, - "node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "optional": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=", - "engines": { - "node": "*" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz", - "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-path": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", - "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/oboe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", - "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-exit-leak-free": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", - "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/open": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz", - "integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/openzeppelin-solidity": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.4.0.tgz", - "integrity": "sha512-533gc5jkspxW5YT0qJo02Za5q1LHwXK9CJCc48jNj/22ncNM/3M/3JfWLqfpB90uqLwOKOovpl0JfaMQTR+gXQ==" - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", - "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", - "dependencies": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dependencies": { - "p-reduce": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "engines": { - "node": ">=4" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/parallel-transform/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/param-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz", - "integrity": "sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==", - "dependencies": { - "dot-case": "^3.0.3", - "tslib": "^1.10.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dependencies": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" - }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", - "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", - "dependencies": { - "no-case": "^3.0.3", - "tslib": "^1.10.0" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", - "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", - "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" - } - }, - "node_modules/pino-abstract-transport/node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "node_modules/pino-std-serializers": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", - "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/popper.js": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.3.tgz", - "integrity": "sha1-FDj5jQRqz3tNeM1QK/QYrGTU8JU=", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1" - }, - "node_modules/portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz", - "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==", - "dependencies": { - "postcss": "^7" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "browserslist": "^4" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", - "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-colormin/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-colormin/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz", - "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==", - "dependencies": { - "postcss": "^7.0.0" - } - }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-font-variant": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", - "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", - "dependencies": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-params/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-normalize": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", - "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==", - "dependencies": { - "@csstools/normalize.css": "^10.1.0", - "browserslist": "^4.6.2", - "postcss": "^7.0.17", - "postcss-browser-comments": "^3.0.0", - "sanitize.css": "^10.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-initial/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-safe-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", - "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-not": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", - "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-svgo/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "node_modules/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/preact": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", - "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/prebuild-install": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.5.tgz", - "integrity": "sha512-YmMO7dph9CYKi5IR/BzjOJlRzpxGGVo1EsLSUZ0mt/Mq0HWZIHOKHHcHdT69yG54C9m6i45GpItwRHpk0Py7Uw==", - "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp": "^0.5.1", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/prettier-plugin-sh": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/prettier-plugin-sh/-/prettier-plugin-sh-0.7.1.tgz", - "integrity": "sha512-2MWRdGOSz0yf/z2kTKF1AqxDuH9MZD8faoDAz5ySGphxssi9oyM3Ys+jp7AfqsCXvGUDbRA4EJOlKS0yZKAW6w==", - "dev": true, - "dependencies": { - "mvdan-sh": "^0.5.0" - }, - "peerDependencies": { - "prettier": "^2.0.5" - } - }, - "node_modules/pretty-bytes": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", - "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dependencies": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "optional": true, - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "node_modules/promise-to-callback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", - "dependencies": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-compare": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", - "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==" - }, - "node_modules/proxy-from-env": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", - "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qrcode": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", - "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", - "dependencies": { - "buffer": "^5.4.3", - "buffer-alloc": "^1.2.0", - "buffer-from": "^1.1.1", - "dijkstrajs": "^1.0.1", - "isarray": "^2.0.1", - "pngjs": "^3.3.0", - "yargs": "^13.2.4" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qrcode/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-accessible-accordion": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/react-accessible-accordion/-/react-accessible-accordion-4.0.0.tgz", - "integrity": "sha512-MovuWj2Uweo57LSgTIPpB83IYq8BNdZJ44j4NmDKYxaHC/H0JjYiqt8OfNMt+YK+XN8qRON13ERQnLfM73vmqw==", - "peerDependencies": { - "react": "^16.3.2 || ^17.0.0", - "react-dom": "^16.3.3 || ^17.0.0" - } - }, - "node_modules/react-app-polyfill": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz", - "integrity": "sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g==", - "dependencies": { - "core-js": "^3.5.0", - "object-assign": "^4.1.1", - "promise": "^8.0.3", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.3", - "whatwg-fetch": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-app-polyfill/node_modules/core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/react-app-polyfill/node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" - }, - "node_modules/react-countup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/react-countup/-/react-countup-4.3.3.tgz", - "integrity": "sha512-pWnxpwdPNRyJFha/YKKbyc4RLAw8PzmULdgCziGIgw6vxhT1VdccrvQgj38HBSoM2qF/MoLmn4M2klvDWVIdaw==", - "dependencies": { - "countup.js": "^1.9.3", - "prop-types": "^15.7.2", - "warning": "^4.0.3" - }, - "peerDependencies": { - "react": ">= 16.3.0" - } - }, - "node_modules/react-dev-utils": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", - "integrity": "sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ==", - "dependencies": { - "@babel/code-frame": "7.8.3", - "address": "1.1.2", - "browserslist": "4.10.0", - "chalk": "2.4.2", - "cross-spawn": "7.0.1", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.0.1", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "3.1.1", - "global-modules": "2.0.0", - "globby": "8.0.2", - "gzip-size": "5.1.1", - "immer": "1.10.0", - "inquirer": "7.0.4", - "is-root": "2.1.0", - "loader-utils": "1.2.3", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "react-error-overlay": "^6.0.7", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "engines": { - "node": ">=8.10" - } - }, - "node_modules/react-dev-utils/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dependencies": { - "@babel/highlight": "^7.8.3" - } - }, - "node_modules/react-dev-utils/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/browserslist": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", - "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", - "dependencies": { - "caniuse-lite": "^1.0.30001035", - "electron-to-chromium": "^1.3.378", - "node-releases": "^1.1.52", - "pkg-up": "^3.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/react-dev-utils/node_modules/cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/react-dev-utils/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/react-dev-utils/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/react-device-detect": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.1.2.tgz", - "integrity": "sha512-N42xttwez3ECgu4KpOL2ICesdfoz8NCBfmc1rH9FRYSjH7NmMyANPSrQ3EvAtJyj/6TzJNhrANSO38iXjCB2Ug==", - "dependencies": { - "ua-parser-js": "^0.7.30" - }, - "peerDependencies": { - "react": ">= 0.14.0 < 18.0.0", - "react-dom": ">= 0.14.0 < 18.0.0" - } - }, - "node_modules/react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - }, - "peerDependencies": { - "react": "^16.13.1" - } - }, - "node_modules/react-dom/node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/react-error-boundary": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.1.tgz", - "integrity": "sha512-W3xCd9zXnanqrTUeViceufD3mIW8Ut29BUD+S2f0eO2XCOU8b6UrJfY46RDGe5lxCJzfe4j0yvIfh0RbTZhKJw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - }, - "peerDependencies": { - "react": ">=16.13.1" - } - }, - "node_modules/react-error-boundary/node_modules/@babel/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/react-error-boundary/node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true - }, - "node_modules/react-error-overlay": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", - "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==" - }, - "node_modules/react-fast-compare": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", - "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-redux": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.1.tgz", - "integrity": "sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "hoist-non-react-statics": "^3.3.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^16.9.0" - }, - "peerDependencies": { - "react": "^16.8.3", - "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/react-resize-detector": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-2.3.0.tgz", - "integrity": "sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ==", - "dependencies": { - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "prop-types": "^15.6.0", - "resize-observer-polyfill": "^1.5.0" - }, - "peerDependencies": { - "react": "^0.14.7 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/react-scripts": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.1.tgz", - "integrity": "sha512-JpTdi/0Sfd31mZA6Ukx+lq5j1JoKItX7qqEK4OiACjVQletM1P38g49d9/D0yTxp9FrSF+xpJFStkGgKEIRjlQ==", - "dependencies": { - "@babel/core": "7.9.0", - "@svgr/webpack": "4.3.3", - "@typescript-eslint/eslint-plugin": "^2.10.0", - "@typescript-eslint/parser": "^2.10.0", - "babel-eslint": "10.1.0", - "babel-jest": "^24.9.0", - "babel-loader": "8.1.0", - "babel-plugin-named-asset-import": "^0.3.6", - "babel-preset-react-app": "^9.1.2", - "camelcase": "^5.3.1", - "case-sensitive-paths-webpack-plugin": "2.3.0", - "css-loader": "3.4.2", - "dotenv": "8.2.0", - "dotenv-expand": "5.1.0", - "eslint": "^6.6.0", - "eslint-config-react-app": "^5.2.1", - "eslint-loader": "3.0.3", - "eslint-plugin-flowtype": "4.6.0", - "eslint-plugin-import": "2.20.1", - "eslint-plugin-jsx-a11y": "6.2.3", - "eslint-plugin-react": "7.19.0", - "eslint-plugin-react-hooks": "^1.6.1", - "file-loader": "4.3.0", - "fs-extra": "^8.1.0", - "html-webpack-plugin": "4.0.0-beta.11", - "identity-obj-proxy": "3.0.0", - "jest": "24.9.0", - "jest-environment-jsdom-fourteen": "1.0.1", - "jest-resolve": "24.9.0", - "jest-watch-typeahead": "0.4.2", - "mini-css-extract-plugin": "0.9.0", - "optimize-css-assets-webpack-plugin": "5.0.3", - "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "4.1.0", - "postcss-loader": "3.0.0", - "postcss-normalize": "8.0.1", - "postcss-preset-env": "6.7.0", - "postcss-safe-parser": "4.0.1", - "react-app-polyfill": "^1.0.6", - "react-dev-utils": "^10.2.1", - "resolve": "1.15.0", - "resolve-url-loader": "3.1.1", - "sass-loader": "8.0.2", - "semver": "6.3.0", - "style-loader": "0.23.1", - "terser-webpack-plugin": "2.3.5", - "ts-pnp": "1.1.6", - "url-loader": "2.3.0", - "webpack": "4.42.0", - "webpack-dev-server": "3.10.3", - "webpack-manifest-plugin": "2.2.0", - "workbox-webpack-plugin": "4.3.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": ">=8.10" - }, - "optionalDependencies": { - "fsevents": "2.1.2" - }, - "peerDependencies": { - "typescript": "^3.2.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-scripts/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/react-scripts/node_modules/resolve": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", - "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/react-scripts/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/react-smooth": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-1.0.5.tgz", - "integrity": "sha512-eW057HT0lFgCKh8ilr0y2JaH2YbNcuEdFpxyg7Gf/qDKk9hqGMyXryZJ8iMGJEuKH0+wxS0ccSsBBB3W8yCn8w==", - "dependencies": { - "lodash": "~4.17.4", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-transition-group": "^2.5.0" - }, - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0", - "react-dom": "^15.0.0 || ^16.0.0" - } - }, - "node_modules/react-smooth/node_modules/dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "dependencies": { - "@babel/runtime": "^7.1.2" - } - }, - "node_modules/react-smooth/node_modules/react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", - "dependencies": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - }, - "peerDependencies": { - "react": ">=15.0.0", - "react-dom": ">=15.0.0" - } - }, - "node_modules/react-tooltip": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.21.tgz", - "integrity": "sha512-zSLprMymBDowknr0KVDiJ05IjZn9mQhhg4PRsqln0OZtURAJ1snt1xi5daZfagsh6vfsziZrc9pErPTDY1ACig==", - "dependencies": { - "prop-types": "^15.7.2", - "uuid": "^7.0.3" - }, - "engines": { - "npm": ">=6.13" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/react-tooltip/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", - "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/real-require": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", - "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dependencies": { - "util.promisify": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/recharts": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-1.8.5.tgz", - "integrity": "sha512-tM9mprJbXVEBxjM7zHsIy6Cc41oO/pVYqyAsOHLxlJrbNBuLs0PHB3iys2M+RqCF0//k8nJtZF6X6swSkWY3tg==", - "dependencies": { - "classnames": "^2.2.5", - "core-js": "^2.6.10", - "d3-interpolate": "^1.3.0", - "d3-scale": "^2.1.0", - "d3-shape": "^1.2.0", - "lodash": "^4.17.5", - "prop-types": "^15.6.0", - "react-resize-detector": "^2.3.0", - "react-smooth": "^1.0.5", - "recharts-scale": "^0.4.2", - "reduce-css-calc": "^1.3.0" - }, - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0", - "react-dom": "^15.0.0 || ^16.0.0" - } - }, - "node_modules/recharts-scale": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.3.tgz", - "integrity": "sha512-t8p5sccG9Blm7c1JQK/ak9O8o95WGhNXD7TXg/BW5bYbVlr6eCeRBNpgyigD4p6pSSMehC5nSvBUPj6F68rbFA==", - "dependencies": { - "decimal.js-light": "^2.4.1" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dependencies": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - } - }, - "node_modules/reduce-css-calc/node_modules/balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - }, - "node_modules/reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", - "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", - "dependencies": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" - } - }, - "node_modules/redux-devtools-extension": { - "version": "2.13.8", - "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz", - "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==", - "deprecated": "Package moved to @redux-devtools/extension.", - "peerDependencies": { - "redux": "^3.1.0 || ^4.0.0" - } - }, - "node_modules/redux-saga": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz", - "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==", - "dependencies": { - "@redux-saga/core": "^1.1.3" - } - }, - "node_modules/redux-saga-test-plan": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/redux-saga-test-plan/-/redux-saga-test-plan-4.0.1.tgz", - "integrity": "sha512-UBtb6l8ETKfE/sHZisTIa60t/CdDH7o8epobW6JEFkOqp9hXNgicBdMxWl97i1144eZun8OudbMsL2nvrdnoWA==", - "dev": true, - "dependencies": { - "core-js": "^2.4.1", - "fsm-iterator": "^1.1.0", - "lodash.isequal": "^4.5.0", - "lodash.ismatch": "^4.4.0", - "object-assign": "^4.1.0", - "util-inspect": "^0.1.8" - }, - "peerDependencies": { - "redux-saga": "^1.0.1" - } - }, - "node_modules/regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dependencies": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dependencies": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "node_modules/regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "node_modules/regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "node_modules/renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dependencies": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/renderkid/node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "engines": { - "node": "*" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dependencies": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/resolve-url-loader": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz", - "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==", - "dependencies": { - "adjust-sourcemap-loader": "2.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve-url-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-url-loader/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "dependencies": { - "through": "~2.3.4" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dependencies": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - } - }, - "node_modules/rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" - }, - "node_modules/rework/node_modules/convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.5.tgz", - "integrity": "sha512-y1QxTQOp0OZnjn19FxBmped4p+BSKPHwGndaqrESseyd2xXZtcgR3yuTIosh8CaMaOii9SKIYerBXnV/CpJ3qw==", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "node_modules/rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-event-emitter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", - "deprecated": "Renamed to @metamask/safe-event-emitter", - "dependencies": { - "events": "^3.0.0" - } - }, - "node_modules/safe-json-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.0.0.tgz", - "integrity": "sha512-n0hJm6BgX8wk3G+AS8MOQnfcA8dfE6ZMUfwkHUNx69YxPlU3HDaZTHXWto35Z+C4mOjK1odlT95WutkGC+0Idw==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sanitize.css": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", - "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" - }, - "node_modules/sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", - "dependencies": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0", - "sass": "^1.3.0", - "webpack": "^4.36.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/sass-loader/node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-loader/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sass-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/sass-loader/node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/scheduler": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", - "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" - }, - "node_modules/scrypt-shim": { - "name": "@web3-js/scrypt-shim", - "version": "0.1.0", - "resolved": "git+ssh://git@github.com/web3-js/scrypt-shim.git#aafdadda13e660e25e1c525d1f5b2443f5eb1ebb", - "integrity": "sha512-Gys+2zcO/GWLg2QJ8WRikqwEWMNLpKn57ZcRwg/kGtgqkqdESQrRNxDhgXFo37ud9v7fApFD1JdA2Cri3VldJg==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "scryptsy": "^2.1.0", - "semver": "^6.3.0" - } - }, - "node_modules/scrypt-shim/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/scryptsy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", - "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" - }, - "node_modules/secp256k1": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", - "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.5.2", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "node_modules/selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dependencies": { - "node-forge": "0.9.0" - } - }, - "node_modules/semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", - "engines": { - "node": ">=4.1" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^2.0.1", - "lazy-cache": "^0.2.3", - "mixin-object": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shallow-clone/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dependencies": { - "is-buffer": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shallow-clone/node_modules/lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - }, - "node_modules/side-channel": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", - "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", - "dependencies": { - "es-abstract": "^1.17.0-next.1", - "object-inspect": "^1.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" - }, - "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "optional": true, - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "deprecated": "Please upgrade to v1.0.1", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dependencies": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "node_modules/sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dependencies": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sockjs-client/node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/sockjs-client/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/sockjs/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/sonic-boom": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", - "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/spdy-transport/node_modules/detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" - }, - "node_modules/spdy-transport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/spdy/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/spdy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/spinnies": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/spinnies/-/spinnies-0.4.3.tgz", - "integrity": "sha512-TTA2vWXrXJpfThWAl2t2hchBnCMI1JM5Wmb2uyI7Zkefdw/xO98LDy6/SBYwQPiYXL3swx3Eb44ZxgoS8X5wpA==", - "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^3.0.0", - "strip-ansi": "^5.2.0" - } - }, - "node_modules/spinnies/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/spinnies/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dependencies": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ssri/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz", - "integrity": "sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stringify-object/node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "dependencies": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dependencies": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/style-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/browserslist": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", - "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", - "dependencies": { - "caniuse-lite": "^1.0.30001088", - "electron-to-chromium": "^1.3.483", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/swarm-js": { - "version": "0.1.39", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", - "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "decompress": "^4.0.0", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/swarm-js/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/swarm-js/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "dependencies": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "bin": { - "tape": "bin/tape" - } - }, - "node_modules/tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/tar-fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz", - "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.0.0" - } - }, - "node_modules/tar-stream": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", - "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", - "optional": true, - "dependencies": { - "bl": "^4.0.1", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", - "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", - "dependencies": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.2.0", - "jest-worker": "^25.1.0", - "p-limit": "^2.2.2", - "schema-utils": "^2.6.4", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.4.3", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/terser-webpack-plugin/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/terser-webpack-plugin/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/test-exclude/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/test-exclude/node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude/node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/test-exclude/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/thread-stream": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", - "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", - "dependencies": { - "real-require": "^0.1.0" - } - }, - "node_modules/throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "node_modules/tiny-secp256k1": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz", - "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.3.0", - "bn.js": "^4.11.8", - "create-hmac": "^1.1.7", - "elliptic": "^6.4.0", - "nan": "^2.13.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/trezor-connect": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-8.1.7.tgz", - "integrity": "sha512-nK4rt17FT3Gsfdq4m0QR10ZnWzTNCsLB0Qp7LoPkaWrft0+fUyv5ryMRHdTnL3x//8s+Vl80nIw/Wlkvn3jvlw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@babel/runtime": "^7.10.2", - "events": "^3.1.0", - "whatwg-fetch": "^3.0.0" - } - }, - "node_modules/trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/truffle-flattener": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/truffle-flattener/-/truffle-flattener-1.5.0.tgz", - "integrity": "sha512-vmzWG/L5OXoNruMV6u2l2IaheI091e+t+fFCOR9sl46EE3epkSRIwGCmIP/EYDtPsFBIG7e6exttC9/GlfmxEQ==", - "dependencies": { - "@resolver-engine/imports-fs": "^0.2.2", - "@solidity-parser/parser": "^0.8.0", - "find-up": "^2.1.0", - "mkdirp": "^1.0.4", - "tsort": "0.0.1" - }, - "bin": { - "truffle-flattener": "index.js" - } - }, - "node_modules/truffle-flattener/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/ts-node/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ts-node/node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/ts-pnp": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.6.tgz", - "integrity": "sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ==", - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, - "node_modules/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" - }, - "node_modules/tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typeforce": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" - }, - "node_modules/typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typescript-compare": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", - "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==", - "dependencies": { - "typescript-logic": "^0.0.0" - } - }, - "node_modules/typescript-logic": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz", - "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==" - }, - "node_modules/typescript-tuple": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz", - "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==", - "dependencies": { - "typescript-compare": "^0.0.2" - } - }, - "node_modules/u2f-api": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz", - "integrity": "sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg==" - }, - "node_modules/ua-parser-js": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", - "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", - "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", - "dependencies": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/usb": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/usb/-/usb-1.6.3.tgz", - "integrity": "sha512-23KYMjaWydACd8wgGKMQ4MNwFspAT6Xeim4/9Onqe5Rz/nMb4TM/WHL+qPT0KNFxzNKzAs63n1xQWGEtgaQ2uw==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.4.0", - "nan": "2.13.2", - "prebuild-install": "^5.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/usb/node_modules/nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "optional": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/utf-8-validate": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", - "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util-inspect": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/util-inspect/-/util-inspect-0.1.8.tgz", - "integrity": "sha1-KznbzS2SHy2EMJI8r/QPS1zqXbE=", - "dev": true, - "dependencies": { - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "foreach": "2.0.4", - "indexof": "0.0.1", - "isarray": "0.0.1", - "json3": "3.3.0", - "object-keys": "0.5.0" - } - }, - "node_modules/util-inspect/node_modules/foreach": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.4.tgz", - "integrity": "sha1-zF0NiuHUbMmlVcJoL5EJd4WZNd8=", - "dev": true - }, - "node_modules/util-inspect/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/util-inspect/node_modules/json3": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.0.tgz", - "integrity": "sha1-Dp5/bF0nC3WJKa9Nb+/chL1m4lk=", - "deprecated": "Please use the native JSON object instead of JSON 3", - "dev": true - }, - "node_modules/util-inspect/node_modules/object-keys": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.5.0.tgz", - "integrity": "sha1-CeIR8+ADGK/E9ZLjbnzcENmtcpM=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details." - }, - "node_modules/v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==" - }, - "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/valtio": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.10.6.tgz", - "integrity": "sha512-SxN1bHUmdhW6V8qsQTpCgJEwp7uHbntuH0S9cdLQtiohuevwBksbpXjwj5uDMA7bLwg1WKyq9sEpZrx3TIMrkA==", - "dependencies": { - "proxy-compare": "2.5.1", - "use-sync-external-store": "1.2.0" - }, - "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "react": ">=16.8" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - }, - "engines": { - "node": "<8.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web3": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.3.3.tgz", - "integrity": "sha512-fI/g0yC1FC0m4envv8FsPh7tbBoe/eXbEho+iY/hahs7YGgGt3nYNrAFTkR9pLhQaVMpOilhwgFxXEp+O7My/g==", - "dependencies": { - "web3-bzz": "1.3.3", - "web3-core": "1.3.3", - "web3-eth": "1.3.3", - "web3-eth-personal": "1.3.3", - "web3-net": "1.3.3", - "web3-shh": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.2.tgz", - "integrity": "sha512-b1O2ObsqUN1lJxmFSjvnEC4TsaCbmh7Owj3IAIWTKqL9qhVgx7Qsu5O9cD13pBiSPNZJ68uJPaKq380QB4NWeA==", - "dependencies": { - "@types/node": "^10.12.18", - "got": "9.6.0", - "swarm-js": "0.1.39", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, - "node_modules/web3-core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.2.tgz", - "integrity": "sha512-miHAX3qUgxV+KYfaOY93Hlc3kLW2j5fH8FJy6kSxAv+d4d5aH0wwrU2IIoJylQdT+FeenQ38sgsCnFu9iZ1hCQ==", - "dependencies": { - "@types/bn.js": "^4.11.4", - "@types/node": "^12.6.1", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-requestmanager": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.2.tgz", - "integrity": "sha512-HJrRsIGgZa1jGUIhvGz4S5Yh6wtOIo/TMIsSLe+Xay+KVnbseJpPprDI5W3s7H2ODhMQTbogmmUFquZweW2ImQ==", - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.2.tgz", - "integrity": "sha512-szR4fDSBxNHaF1DFqE+j6sFR/afv9Aa36OW93saHZnrh+iXSrYeUUDfugeNcRlugEKeUCkd4CZylfgbK2SKYJA==", - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.2.tgz", - "integrity": "sha512-tKvYeT8bkUfKABcQswK6/X79blKTKYGk949urZKcLvLDEaWrM3uuzDwdQT3BNKzQ3vIvTggFPX9BwYh0F1WwqQ==", - "dependencies": { - "any-promise": "1.3.0", - "eventemitter3": "3.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-requestmanager": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.2.tgz", - "integrity": "sha512-a+gSbiBRHtHvkp78U2bsntMGYGF2eCb6219aMufuZWeAZGXJ63Wc2321PCbA8hF9cQrZI4EoZ4kVLRI4OF15Hw==", - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "web3-providers-http": "1.2.2", - "web3-providers-ipc": "1.2.2", - "web3-providers-ws": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.2.tgz", - "integrity": "sha512-QbTgigNuT4eicAWWr7ahVpJyM8GbICsR1Ys9mJqzBEwpqS+RXTRVSkwZ2IsxO+iqv6liMNwGregbJLq4urMFcQ==", - "dependencies": { - "eventemitter3": "3.1.2", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/web3-eth": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.2.tgz", - "integrity": "sha512-UXpC74mBQvZzd4b+baD4Ocp7g+BlwxhBHumy9seyE/LMIcMlePXwCKzxve9yReNpjaU16Mmyya6ZYlyiKKV8UA==", - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-eth-accounts": "1.2.2", - "web3-eth-contract": "1.2.2", - "web3-eth-ens": "1.2.2", - "web3-eth-iban": "1.2.2", - "web3-eth-personal": "1.2.2", - "web3-net": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.2.tgz", - "integrity": "sha512-Yn/ZMgoOLxhTVxIYtPJ0eS6pnAnkTAaJgUJh1JhZS4ekzgswMfEYXOwpMaD5eiqPJLpuxmZFnXnBZlnQ1JMXsw==", - "dependencies": { - "ethers": "4.0.0-beta.3", - "underscore": "1.9.1", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, - "node_modules/web3-eth-abi/node_modules/elliptic": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", - "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/web3-eth-abi/node_modules/ethers": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", - "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", - "dependencies": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.3", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/web3-eth-abi/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web3-eth-abi/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/web3-eth-abi/node_modules/scrypt-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", - "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" - }, - "node_modules/web3-eth-accounts": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.2.tgz", - "integrity": "sha512-KzHOEyXOEZ13ZOkWN3skZKqSo5f4Z1ogPFNn9uZbKCz+kSp+gCAEKxyfbOsB/JMAp5h7o7pb6eYsPCUBJmFFiA==", - "dependencies": { - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-shim": "github:web3-js/scrypt-shim", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.2.tgz", - "integrity": "sha512-EKT2yVFws3FEdotDQoNsXTYL798+ogJqR2//CaGwx3p0/RvQIgfzEwp8nbgA6dMxCsn9KOQi7OtklzpnJMkjtA==", - "dependencies": { - "@types/bn.js": "^4.11.4", - "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.2.tgz", - "integrity": "sha512-CFjkr2HnuyMoMFBoNUWojyguD4Ef+NkyovcnUc/iAb9GP4LHohKrODG4pl76R5u61TkJGobC2ij6TyibtsyVYg==", - "dependencies": { - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-promievent": "1.2.2", - "web3-eth-abi": "1.2.2", - "web3-eth-contract": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.2.tgz", - "integrity": "sha512-gxKXBoUhaTFHr0vJB/5sd4i8ejF/7gIsbM/VvemHT3tF5smnmY6hcwSMmn7sl5Gs+83XVb/BngnnGkf+I/rsrQ==", - "dependencies": { - "bn.js": "4.11.8", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/web3-eth-personal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.2.tgz", - "integrity": "sha512-4w+GLvTlFqW3+q4xDUXvCEMU7kRZ+xm/iJC8gm1Li1nXxwwFbs+Y+KBK6ZYtoN1qqAnHR+plYpIoVo27ixI5Rg==", - "dependencies": { - "@types/node": "^12.6.1", - "web3-core": "1.2.2", - "web3-core-helpers": "1.2.2", - "web3-core-method": "1.2.2", - "web3-net": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==" - }, - "node_modules/web3-net": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.2.tgz", - "integrity": "sha512-K07j2DXq0x4UOJgae65rWZKraOznhk8v5EGSTdFqASTx7vWE/m+NqBijBYGEsQY1lSMlVaAY9UEQlcXK5HzXTw==", - "dependencies": { - "web3-core": "1.2.2", - "web3-core-method": "1.2.2", - "web3-utils": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-provider-engine": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-15.0.6.tgz", - "integrity": "sha512-KdIHmRmB7VG6HeSu4hlB+Iypsbv/dAbNV/UWBDxsTwLJuuTSobmtowOq5BEsegXtjWhSSzSi9O0Ci/DVG0kB1g==", - "deprecated": "This package has been deprecated, see the README for details: https://github.com/MetaMask/web3-provider-engine", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^4.4.2", - "eth-json-rpc-errors": "^2.0.2", - "eth-json-rpc-filters": "^4.1.1", - "eth-json-rpc-infura": "^4.0.1", - "eth-json-rpc-middleware": "^4.1.5", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/web3-provider-engine/node_modules/eth-block-tracker": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", - "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", - "dependencies": { - "@babel/plugin-transform-runtime": "^7.5.5", - "@babel/runtime": "^7.5.5", - "eth-query": "^2.1.0", - "json-rpc-random-id": "^1.0.1", - "pify": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/web3-provider-engine/node_modules/eth-json-rpc-infura": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.2.tgz", - "integrity": "sha512-dvgOrci9lZqpjpp0hoC3Zfedhg3aIpLFVDH0TdlKxRlkhR75hTrKTwxghDrQwE0bn3eKrC8RsN1m/JdnIWltpw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-errors": "^1.0.1", - "eth-json-rpc-middleware": "^4.1.4", - "json-rpc-engine": "^5.1.3" - } - }, - "node_modules/web3-provider-engine/node_modules/eth-json-rpc-infura/node_modules/eth-json-rpc-errors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/web3-provider-engine/node_modules/eth-json-rpc-middleware": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.1.tgz", - "integrity": "sha512-yoSuRgEYYGFdVeZg3poWOwAlRI+MoBIltmOB86MtpoZjvLbou9EB/qWMOWSmH2ryCWLW97VYY6NWsmWm3OAA7A==", - "dependencies": { - "btoa": "^1.2.1", - "clone": "^2.1.1", - "eth-json-rpc-errors": "^1.0.1", - "eth-query": "^2.1.2", - "eth-sig-util": "^1.4.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.7", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.6.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^5.1.3", - "json-stable-stringify": "^1.0.1", - "pify": "^3.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/web3-provider-engine/node_modules/eth-json-rpc-middleware/node_modules/eth-json-rpc-errors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", - "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", - "deprecated": "Package renamed: https://www.npmjs.com/package/eth-rpc-errors", - "dependencies": { - "fast-safe-stringify": "^2.0.6" - } - }, - "node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/web3-provider-engine/node_modules/json-rpc-engine": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.1.8.tgz", - "integrity": "sha512-vTBSDEPJV1fPAsbm2g5sEuPjsgLdiab2f1CTn2PyRr8nxggUpA996PDlNQDsM0gnrA99F8KIBLq2nIKrOFl1Mg==", - "dependencies": { - "async": "^2.0.1", - "eth-json-rpc-errors": "^2.0.1", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/web3-provider-engine/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/web3-provider-engine/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/web3-provider-engine/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/web3-provider-engine/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.2.tgz", - "integrity": "sha512-BNZ7Hguy3eBszsarH5gqr9SIZNvqk9eKwqwmGH1LQS1FL3NdoOn7tgPPdddrXec4fL94CwgNk4rCU+OjjZRNDg==", - "dependencies": { - "web3-core-helpers": "1.2.2", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.2.tgz", - "integrity": "sha512-t97w3zi5Kn/LEWGA6D9qxoO0LBOG+lK2FjlEdCwDQatffB/+vYrzZ/CLYVQSoyFZAlsDoBasVoYSWZK1n39aHA==", - "dependencies": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.2.tgz", - "integrity": "sha512-Wb1mrWTGMTXOpJkL0yGvL/WYLt8fUIXx8k/l52QB2IiKzvyd42dTWn4+j8IKXGSYYzOm7NMqv6nhA5VDk12VfA==", - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.2", - "websocket": "github:web3-js/WebSocket-Node#polyfill/globalThis" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-shh": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.2.tgz", - "integrity": "sha512-og258NPhlBn8yYrDWjoWBBb6zo1OlBgoWGT+LL5/LPqRbjPe09hlOYHgscAAr9zZGtohTOty7RrxYw6Z6oDWCg==", - "dependencies": { - "web3-core": "1.2.2", - "web3-core-method": "1.2.2", - "web3-core-subscriptions": "1.2.2", - "web3-net": "1.2.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.2.tgz", - "integrity": "sha512-joF+s3243TY5cL7Z7y4h1JsJpUCf/kmFmj+eJar7Y2yNIGVcW961VyrAms75tjUysSuHaUQ3eQXjBEUJueT52A==", - "dependencies": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils/node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3/node_modules/@types/node": { - "version": "12.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", - "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" - }, - "node_modules/web3/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/web3/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" - }, - "node_modules/web3/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/web3/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/web3/node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/web3/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/web3/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/web3/node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/web3/node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/web3/node_modules/swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/web3/node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/web3/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/web3/node_modules/util": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", - "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/web3/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3/node_modules/web3-bzz": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.3.3.tgz", - "integrity": "sha512-lFERlqnr/upJhADT6US7BGUkM5cy6idw86/GvWKo9h/uyrbV14gk+bUqcQdBBSopa1Mvvy5ZaO6rKtRe8PTsQw==", - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.3.3.tgz", - "integrity": "sha512-hCDWj/3PBHhSJSSBi+nV7MiW9Djf/pRuUXcVO2jWroAXqAbTSXLHpju0AWTzXnlsqs1QHK0Yk8nF9jojGUQVYg==", - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.3.3", - "web3-core-method": "1.3.3", - "web3-core-requestmanager": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-helpers": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.3.3.tgz", - "integrity": "sha512-rUTC9sgn1Wvw2KGBtc9/bsQKUd+yjzIm14mlaqqiO0vpFueTmmagwiGRE2CWzEfYg+r2jnYIIgh9qnsCykgVkQ==", - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-method": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.3.3.tgz", - "integrity": "sha512-d3AA1lyw0dvLs53X17pHpD5QpxJdkfolbN31UQymRF5Y+swFweqRiCuJoNTplE95ZX2uUtsLhEIbaszj7dQgFg==", - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.3", - "web3-core-promievent": "1.3.3", - "web3-core-subscriptions": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-promievent": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.3.3.tgz", - "integrity": "sha512-ARgO+BWUCxK8U/977SdJ8oyJo51mDYUzlZFoa2NFjUH+QYrFoKA7l9Hhw/vxhy13jE2LaVUM31JBLzVb+GM9dQ==", - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-requestmanager": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.3.3.tgz", - "integrity": "sha512-4/J23wK5IXRw/1kqda7FXtvySKjX7Phcevqjx0EkcBtrxAfLedcqf8k2PlDh5LtCXfPW66u4V3fDgHdLZMrVgQ==", - "dependencies": { - "underscore": "1.9.1", - "util": "^0.12.0", - "web3-core-helpers": "1.3.3", - "web3-providers-http": "1.3.3", - "web3-providers-ipc": "1.3.3", - "web3-providers-ws": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-subscriptions": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.3.3.tgz", - "integrity": "sha512-VvcPuNYcGLb6HfgMrNN6Q/1CwSk2uIqUjhrVTQ67JIxIddsEdV1f6SsQH9MX1cmwi39ffGsYtssOT1pht4Zc8g==", - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.3.3.tgz", - "integrity": "sha512-NvbkCaN26o7f9EogsRsA/lbwF+8dXimJWsaGpZK3ANa+AZrYkWj3NuaxfPO/S/RLsC9ptJdt7id72qxT40r5QQ==", - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.3.3", - "web3-core-helpers": "1.3.3", - "web3-core-method": "1.3.3", - "web3-core-subscriptions": "1.3.3", - "web3-eth-abi": "1.3.3", - "web3-eth-accounts": "1.3.3", - "web3-eth-contract": "1.3.3", - "web3-eth-ens": "1.3.3", - "web3-eth-iban": "1.3.3", - "web3-eth-personal": "1.3.3", - "web3-net": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-abi": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.3.tgz", - "integrity": "sha512-9GQ7YTALt1uxGwdMBpBHlagCj4yn0fPUT2wDDAGoyJFVJMsUt3arF855zsVpJL3zfhHmUgRNoVrAkobRR2YYLw==", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "underscore": "1.9.1", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-accounts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.3.3.tgz", - "integrity": "sha512-Jn9nguNsCLnY7Po6lv7Mg5JDaYuKdvL0Ezv1V2LTLy+EhcVt5i19h+/3M92Xynpe5Tx+WY/ELfeA2jLTeP5jRg==", - "dependencies": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.3.3", - "web3-core-helpers": "1.3.3", - "web3-core-method": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3/node_modules/web3-eth-contract": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.3.3.tgz", - "integrity": "sha512-TKGs1qvc/v7TriyGKtnTqVrB3J/mWSeqLkWtLY60lGqY8KopZ9k7dZ/g5Cvfiox57VHWkpOk0xDwUQjlIe4Ikg==", - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.3.3", - "web3-core-helpers": "1.3.3", - "web3-core-method": "1.3.3", - "web3-core-promievent": "1.3.3", - "web3-core-subscriptions": "1.3.3", - "web3-eth-abi": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-ens": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.3.3.tgz", - "integrity": "sha512-tresrI1CM6RbxsUCM6kfG1W10LDMqWJnU+lNhfaD5mt5IzJ4GcfDAHO9WzoYl8Esh+Epj/jD+vI30clI4j90Vg==", - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.3.3", - "web3-core-helpers": "1.3.3", - "web3-core-promievent": "1.3.3", - "web3-eth-abi": "1.3.3", - "web3-eth-contract": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-iban": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.3.3.tgz", - "integrity": "sha512-+9a+bZHAKQ4oBcRxiGbC1MC8S2cOgDlXo8qcw0XpMhLJZ3c/brZM7ZbPdiuU8Z7AMYf3PknaGFQyVmedZhrauA==", - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-personal": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.3.3.tgz", - "integrity": "sha512-S/TSGTm7x9oHRXUHXi8f+y187RKpn5aqYJRlSoyTmB3B4EMrv9NcZZQmHaiXwM48wkFdRhTMECW1Ar8E5zZLFw==", - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.3.3", - "web3-core-helpers": "1.3.3", - "web3-core-method": "1.3.3", - "web3-net": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-net": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.3.3.tgz", - "integrity": "sha512-GcPj2lyAC5CP6FOCwoURCRMFsh0khWBi6sGqiKtUPMa7dKnLw8CLCAFcwX//d3ucnn1E7I78Va6k8liKjj87sA==", - "dependencies": { - "web3-core": "1.3.3", - "web3-core-method": "1.3.3", - "web3-utils": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-http": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.3.3.tgz", - "integrity": "sha512-V2x27IFXQqsaZrAbA4GJurKuyrNXapmmpSJ7jxPDOxewOy9dEURlKIg5W1bb4QXGh2YSCksuH9fKquvTfPfc/A==", - "dependencies": { - "web3-core-helpers": "1.3.3", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-ipc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.3.3.tgz", - "integrity": "sha512-XMQo/YsH/2lBaRlkYa5d/Q+2EJ2RTzVjio1i2G9TESESfHCj0l2AWLb3zet+f/QRVxfvXGmGlZuf99diof2a1g==", - "dependencies": { - "oboe": "2.1.5", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-ws": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.3.3.tgz", - "integrity": "sha512-yuzqB3jST9JS19oOR1FRaARM7JBeP6cbKffM8HoWp4Y98/OowjW1mbDQVS47YTSHBP2QiLzSrwBxjIEPm8f48Q==", - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.3.3", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-shh": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.3.3.tgz", - "integrity": "sha512-byp2+sHnc8UAj6sNcVFacF3pmRzIaMATsI4ARfU+0S8EpaQ3trojww2QBYPnZ4r0QOMH+I6+bVl8qTu0Zz4eoA==", - "dependencies": { - "web3-core": "1.3.3", - "web3-core-method": "1.3.3", - "web3-core-subscriptions": "1.3.3", - "web3-net": "1.3.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-utils": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.3.tgz", - "integrity": "sha512-ZwpdqEcBBzqRgXUbCj+kyu1jFnsDauURSQ79yVqgnTKSI4C3s0Qjpp4WLThV+LKhCKR5GZtBTkgGHeiq0FT88A==", - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3/node_modules/websocket": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz", - "integrity": "sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", - "dependencies": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.6", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dependencies": { - "invert-kv": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/webpack-dev-server/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dependencies": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/webpack-dev-server/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dependencies": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/webpack-manifest-plugin": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", - "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", - "dependencies": { - "fs-extra": "^7.0.0", - "lodash": ">=3.5 <5", - "object.entries": "^1.1.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "2 || 3 || 4" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack/node_modules/serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "node_modules/websocket": { - "version": "1.0.29", - "resolved": "git+ssh://git@github.com/web3-js/WebSocket-Node.git#ef5ea2f41daf4a2113b80c9223df884b4d56c400", - "integrity": "sha512-aJA5dyH9Id9wCuvvy1VVtG6OPLqK6ne9TxiSlWwQzTYkv+zqTMCPRk8kL59052SmNdWtPPF8SQc8sQOqN4CI0w==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "nan": "^2.14.0", - "typedarray-to-buffer": "^3.1.5", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "optional": true - }, - "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wif": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", - "integrity": "sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=", - "dependencies": { - "bs58check": "<3.0.0" - } - }, - "node_modules/window-getters": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/window-getters/-/window-getters-1.0.0.tgz", - "integrity": "sha512-xyvEFq3x+7dCA7NFhqOmTMk0fPmmAzCUYL2svkw2LGBaXXQLRP0lFnfXHzysri9WZNMkzp/FD1u0w2Qc7Co+JA==" - }, - "node_modules/window-metadata": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/window-metadata/-/window-metadata-1.0.0.tgz", - "integrity": "sha512-eYoXsZ9X4J+6xZgbHhNAatSR5bCtT409q8B+2Ol9ySx7qsdtgVZcNfox4qszFmKlGsFtT2b1Tcmcy69bRMObcg==", - "dependencies": { - "window-getters": "^1.0.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-background-sync": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", - "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", - "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-build": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", - "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", - "dependencies": { - "@babel/runtime": "^7.3.4", - "@hapi/joi": "^15.0.0", - "common-tags": "^1.8.0", - "fs-extra": "^4.0.2", - "glob": "^7.1.3", - "lodash.template": "^4.4.0", - "pretty-bytes": "^5.1.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "workbox-background-sync": "^4.3.1", - "workbox-broadcast-update": "^4.3.1", - "workbox-cacheable-response": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-expiration": "^4.3.1", - "workbox-google-analytics": "^4.3.1", - "workbox-navigation-preload": "^4.3.1", - "workbox-precaching": "^4.3.1", - "workbox-range-requests": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1", - "workbox-streams": "^4.3.1", - "workbox-sw": "^4.3.1", - "workbox-window": "^4.3.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", - "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-core": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", - "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" - }, - "node_modules/workbox-expiration": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", - "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-google-analytics": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", - "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", - "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", - "dependencies": { - "workbox-background-sync": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", - "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-precaching": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", - "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-range-requests": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", - "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-routing": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", - "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-strategies": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", - "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-streams": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", - "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/workbox-sw": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", - "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", - "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", - "dependencies": { - "@babel/runtime": "^7.0.0", - "json-stable-stringify": "^1.0.1", - "workbox-build": "^4.3.1" - }, - "engines": { - "node": ">=4.0.0" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/workbox-window": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", - "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", - "dependencies": { - "workbox-core": "^4.3.1" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dependencies": { - "microevent.ts": "~0.1.1" - } - }, - "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "dependencies": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/xhr-request/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/xhr-request/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/xhr-request/node_modules/simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dependencies": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - } - } -} diff --git a/solidity-v1/dashboard/package.json b/solidity-v1/dashboard/package.json deleted file mode 100644 index 78d22906be..0000000000 --- a/solidity-v1/dashboard/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "name": "dashboard", - "version": "1.21.0-pre", - "private": true, - "license": "MIT", - "dependencies": { - "@0x/subproviders": "^6.0.8", - "@keep-network/coverage-pools": "1.1.0-dev.2", - "@keep-network/keep-core": ">1.8.0-dev <1.8.0-pre", - "@keep-network/keep-ecdsa": ">1.9.0-dev <1.9.0-ropsten", - "@keep-network/tbtc": ">1.1.2-dev <1.1.2-pre", - "@ledgerhq/hw-app-eth": "^5.13.0", - "@ledgerhq/hw-transport-webusb": "^6.24.1", - "@rehooks/local-storage": "^2.4.4", - "@threshold-network/solidity-contracts": ">1.1.0-dev <1.1.0-ropsten", - "@walletconnect/ethereum-provider": "2.9.0", - "@walletconnect/keyvaluestorage": "1.0.2", - "@walletconnect/modal": "2.5.9", - "@walletconnect/web3-subprovider": "^1.3.6", - "axios": "^1.8.2", - "bignumber.js": "9.0.0", - "copy-to-clipboard": "^3.3.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "formik": "^2.1.3", - "less": "^3.9.0", - "less-plugin-clean-css": "^1.5.1", - "less-watch-compiler": "^1.10.0", - "moment": "2.29.4", - "react": "^16.13.1", - "react-accessible-accordion": "^4.0.0", - "react-countup": "^4.3.3", - "react-device-detect": "^2.1.2", - "react-dom": "^16.13.1", - "react-redux": "^7.2.1", - "react-router-dom": "^5.1.2", - "react-scripts": "^3.4.1", - "react-tooltip": "^4.2.21", - "react-transition-group": "^4.3.0", - "recharts": "^1.8.5", - "redux": "^4.0.5", - "redux-devtools-extension": "^2.13.8", - "redux-saga": "^1.1.3", - "trezor-connect": "^8.0.13", - "web3": "1.3.3", - "web3-provider-engine": "15.0.6" - }, - "scripts": { - "build-css": "lessc --clean-css src/css/app.less src/css/app.css", - "watch-css": "npm run build-css && less-watch-compiler src/css src/css app.less", - "start-js": "craco start", - "setup": "./scripts/copy-contracts.sh ../build/contracts", - "start": "npm run watch-css & npm run start-js", - "build": "npm run build-css && craco build", - "test": "craco test --env=jsdom", - "eject": "craco eject", - "lint": "eslint --ext .jsx --ext .js .", - "lint:fix": "eslint --fix --ext .jsx --ext .js .", - "format": "npm run lint && prettier --check .", - "format:fix": "npm run lint:fix && prettier --write ." - }, - "devDependencies": { - "@craco/craco": "5.8.0", - "@keep-network/prettier-config-keep": "github:keep-network/prettier-config-keep#a1a333e", - "@redux-saga/testing-utils": "^1.1.3", - "@testing-library/react-hooks": "^5.1.2", - "@types/jest": "^26.0.21", - "eslint": "^6.8.0", - "eslint-config-keep": "github:keep-network/eslint-config-keep#0c27ade", - "prettier": "^2.3.2", - "prettier-plugin-sh": "^0.7.1", - "redux-saga-test-plan": "^4.0.1" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ], - "overrides": { - "http-cache-semantics": "^4.1.1", - "get-func-name": "^2.0.2", - "terser": "^4.8.1", - "decompress": "^4.2.1" - } -} diff --git a/solidity-v1/dashboard/public/apple-touch-icon-114x114.png b/solidity-v1/dashboard/public/apple-touch-icon-114x114.png deleted file mode 100755 index 66fe99b24a904068aca2ff2af19ebde743bb653c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11226 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 Ef--I`=Kufz diff --git a/solidity-v1/dashboard/public/apple-touch-icon-120x120.png b/solidity-v1/dashboard/public/apple-touch-icon-120x120.png deleted file mode 100755 index 8d53b73c51a15b224e93e779ff796cf78b8124d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8342 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 diff --git a/solidity-v1/dashboard/public/apple-touch-icon-57x57.png b/solidity-v1/dashboard/public/apple-touch-icon-57x57.png deleted file mode 100755 index 94041f481a22e13ef98ea893856a41fcfd1be11d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3134 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 Y3zXcIawGtqKtp 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 KMNUMnLSTZhPB+>B diff --git a/solidity-v1/dashboard/public/apple-touch-icon-76x76.png b/solidity-v1/dashboard/public/apple-touch-icon-76x76.png deleted file mode 100755 index 1bcf6dc4722be3d1d574253a3f1d35716f338230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5351 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 FV1ilcZ@K^g diff --git a/solidity-v1/dashboard/public/favicon-128.png b/solidity-v1/dashboard/public/favicon-128.png deleted file mode 100755 index e00f703002cac10d4ed9a646bf4ea0db2ba63d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3262 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 U_u749{7V2+Lra5dJ-3+u0IVr9;Q#;t diff --git a/solidity-v1/dashboard/public/favicon-16x16.png b/solidity-v1/dashboard/public/favicon-16x16.png deleted file mode 100755 index 037c4c3c990a192bdd19462e1d475c49bc0cc622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567 zcmV-70?7S|P)F}yhlvDpB29PAlra2u^ zp=w&Zlhkz`{e+IHDwyUWPNxGQ1gfHTh54TaOw$BF)wH-cI{NHPf~A|c@p?R@GZ};; zFnm5Dp>P+l{NO%s->rA15VoUZl}aU?P6q+MpTzVupHnH)nM}97li#6KD)p?=14yPe zdA;@qfM&DF%F7poLm>cmi@RLEbBknZvj;HHc|}oJTYbe?AV8&B;qLN1ihFzi^x67o zJNsd`+W}~`T38LMZ{I+GWm#Ogwm@!c3zzQV>EkDic)h~`QvbDp?d(G*H%0l>$1O0vHPlar5(L5+`{05pgq4j85_>TYp002ovPDHLk FV1km|4X*$I diff --git a/solidity-v1/dashboard/public/favicon-196x196.png b/solidity-v1/dashboard/public/favicon-196x196.png deleted file mode 100755 index f9e908e25bd760aa153f9ea988bd403f3c7f385c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28933 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 diff --git a/solidity-v1/dashboard/public/favicon-32x32.png b/solidity-v1/dashboard/public/favicon-32x32.png deleted file mode 100755 index 09f520f32b3fbad9f6d7c44eaceb435cabaf1496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 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 LNkvXXu0mjfSwfQ= diff --git a/solidity-v1/dashboard/public/favicon.ico b/solidity-v1/dashboard/public/favicon.ico deleted file mode 100755 index f0b14862d3d609a30b62b511ed8ebff0a77b4635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 CTe_wI diff --git a/solidity-v1/dashboard/public/index.html b/solidity-v1/dashboard/public/index.html deleted file mode 100644 index 59d1856c2b..0000000000 --- a/solidity-v1/dashboard/public/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP Token Dashboard - - -
- - - diff --git a/solidity-v1/dashboard/public/manifest.json b/solidity-v1/dashboard/public/manifest.json deleted file mode 100644 index 57d0ef7ef2..0000000000 --- a/solidity-v1/dashboard/public/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "short_name": "KEEP Token Dashboard", - "name": "KEEP Token Dashboard", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - } - ], - "start_url": "./index.html", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/solidity-v1/dashboard/public/mstile-144x144.png b/solidity-v1/dashboard/public/mstile-144x144.png deleted file mode 100755 index 1ab78759f443ec640ec652131ece3d6d24342536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15019 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

O2o`6ZSMDwy5hXL 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 diff --git a/solidity-v1/dashboard/public/mstile-310x310.png b/solidity-v1/dashboard/public/mstile-310x310.png deleted file mode 100755 index acca0db5040514090d7f6ff3b34679cbb0498785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37632 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 amyFz#FT*MrI58mLpOQRGE?>sb|Nj8)q{?jo diff --git a/solidity-v1/dashboard/public/mstile-70x70.png b/solidity-v1/dashboard/public/mstile-70x70.png deleted file mode 100755 index e00f703002cac10d4ed9a646bf4ea0db2ba63d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3262 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 U_u749{7V2+Lra5dJ-3+u0IVr9;Q#;t diff --git a/solidity-v1/dashboard/src/App.js b/solidity-v1/dashboard/src/App.js deleted file mode 100644 index 76750070cb..0000000000 --- a/solidity-v1/dashboard/src/App.js +++ /dev/null @@ -1,120 +0,0 @@ -import React from "react" -import { Provider } from "react-redux" -import { BrowserRouter as Router } from "react-router-dom" -import store from "./store" -import Web3ContextProvider from "./components/Web3ContextProvider" -import Routing from "./components/Routing" -import { Messages } from "./components/Message" -import { SideMenu } from "./components/SideMenu" -import * as Icons from "./components/Icons" -import Footer from "./components/Footer" -import useSubscribeToConnectorEvents from "./hooks/useSubscribeToConnectorEvents" -import useAutoConnect from "./hooks/useAutoConnect" -import useAutoWalletAddressInjectIntoUrl from "./hooks/useAutoWalletAddressInjectIntoUrl" -import useModalWindowForMobileUsers from "./hooks/useModalWindowForMobileUsers" -import { ModalRoot } from "./components/modal" -import NavLink from "./components/NavLink" -import { useShowLegacyDappModal } from "./hooks/useShowLegacyDappModal" -import { - useSubscribeToCopyStakeEvents, - useSubscribeToCovPoolsAuctionClosedEvent, - useSubscribeToCovPoolsAuctionCreatedEvent, - useSubscribeToCovPoolsWithdrawalCompletedEvent, - useSubscribeToCovPoolsWithdrawalInitiatedEvent, - useSubscribeToDepositWithdrawEvent, - useSubscribeToDepositedEvent, - useSubscribeToECDSARewardsClaimedEvent, - useSubscribeToERC20TransferEvent, - useSubscribeToOperatorUndelegatedEvent, - useSubscribeToRecoveredStakeEvent, - useSubscribeToStakedEvents, - useSubscribeToTokenGrantWithdrawnEvent, - useSubscribeToTopUpCompletedEvent, - useSubscribeToTopUpInitiatedEvent, - useSubscribeToUndelegatedEvents, -} from "./hooks/subscribtions" -import { useSubscribeToThresholdStakeKeepEvent } from "./hooks/subscribtions/useSubscribeToThresholdStakeKeepEvent" - -const App = () => ( - - - - - - - - - - -) - -const AppLayout = () => { - useAutoConnect() - useAutoWalletAddressInjectIntoUrl() - useSubscribeToConnectorEvents() - useModalWindowForMobileUsers() - useShowLegacyDappModal() - - useSubscribeToERC20TransferEvent() - useSubscribeToStakedEvents() - useSubscribeToUndelegatedEvents() - useSubscribeToRecoveredStakeEvent() - useSubscribeToTokenGrantWithdrawnEvent() - useSubscribeToDepositWithdrawEvent() - useSubscribeToDepositedEvent() - useSubscribeToTopUpInitiatedEvent() - useSubscribeToTopUpCompletedEvent() - useSubscribeToECDSARewardsClaimedEvent() - useSubscribeToOperatorUndelegatedEvent() - useSubscribeToCovPoolsWithdrawalInitiatedEvent() - useSubscribeToCovPoolsWithdrawalCompletedEvent() - useSubscribeToCovPoolsAuctionCreatedEvent() - useSubscribeToCovPoolsAuctionClosedEvent() - useSubscribeToThresholdStakeKeepEvent() - useSubscribeToCopyStakeEvents() - - return ( - <> - -

-
- This is a legacy dashboard. Only a small part of the features are - still supported. -
- -
- - ) -} - -const styles = { - legacyBadge: { - wrapper: { - marginTop: "1.5rem", - padding: "0 2.75rem", - borderRadius: "4px", - }, - text: { - fontWeight: 600, - }, - }, -} - -const AppHeader = () => { - return ( -
-
-
LEGACY
-
- - - - -
-
- ) -} -export default App diff --git a/solidity-v1/dashboard/src/__tests__/forms/commonValidators.test.js b/solidity-v1/dashboard/src/__tests__/forms/commonValidators.test.js deleted file mode 100644 index 0988f0be70..0000000000 --- a/solidity-v1/dashboard/src/__tests__/forms/commonValidators.test.js +++ /dev/null @@ -1,18 +0,0 @@ -import { isNumeric } from "../../forms/common-validators" - -describe("Test isNumeric function", () => { - it("should return proper values", () => { - expect(isNumeric(2)).toBe(true) - expect(isNumeric("2")).toBe(true) - expect(isNumeric(2.254)).toBe(true) - expect(isNumeric(2.12345678901234567890123456789)).toBe(true) - expect(isNumeric("2,432,432")).toBe(false) - expect(isNumeric("123.123.12")).toBe(false) - expect(isNumeric(".23")).toBe(true) - expect(isNumeric(-1)).toBe(true) - expect(isNumeric(0)).toBe(true) - expect(isNumeric(" ")).toBe(false) - expect(isNumeric("\t\t")).toBe(false) - expect(isNumeric("\n\r")).toBe(false) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/general/removeSubstringBetweenCharacter.test.js b/solidity-v1/dashboard/src/__tests__/general/removeSubstringBetweenCharacter.test.js deleted file mode 100644 index 9a59b3273d..0000000000 --- a/solidity-v1/dashboard/src/__tests__/general/removeSubstringBetweenCharacter.test.js +++ /dev/null @@ -1,45 +0,0 @@ -import { removeSubstringBetweenCharacter } from "../../utils/general.utils" - -describe("Test removeSubstringBetweenCharacter function", () => { - it("should return proper values", () => { - expect( - removeSubstringBetweenCharacter( - "0x1E47B39F8909Edcb5cC71ec7Bd0117c48B88cd26/dashboard", - "/", - 0 - ) - ).toBe("dashboard") - expect( - removeSubstringBetweenCharacter( - "/0x1E47B39F8909Edcb5cC71ec7Bd0117c48B88cd26/dashboard", - "/", - 0 - ) - ).toBe("/dashboard") - expect( - removeSubstringBetweenCharacter("test1/test2/test3/test4", "/", 2) - ).toBe("test1/test2/test4") - expect( - removeSubstringBetweenCharacter("/test1/test2/test3/test4", "/", 2) - ).toBe("/test1/test2/test4") - expect( - removeSubstringBetweenCharacter(" /test1/test2/test3/test4", "/", 2) - ).toBe(" /test1/test3/test4") - }) - - it("should return same input if the character is not in the input", () => { - expect( - removeSubstringBetweenCharacter("test1/test2/test3/test4", "!", 2) - ).toBe("test1/test2/test3/test4") - }) - - it("should return same input if there is no word in a give occurrenceIndex", () => { - expect( - removeSubstringBetweenCharacter("test1/test2/test3/test4", "/", -10) - ).toBe("test1/test2/test3/test4") - - expect( - removeSubstringBetweenCharacter("test1/test2/test3/test4", "/", 10) - ).toBe("test1/test2/test3/test4") - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/general/scaleInputForNumberRange.test.js b/solidity-v1/dashboard/src/__tests__/general/scaleInputForNumberRange.test.js deleted file mode 100644 index 17b56cff9f..0000000000 --- a/solidity-v1/dashboard/src/__tests__/general/scaleInputForNumberRange.test.js +++ /dev/null @@ -1,40 +0,0 @@ -import { scaleInputForNumberRange } from "../../utils/general.utils" -import BigNumber from "bignumber.js" - -describe("Test scaleInputForNumberRange function", () => { - it("should return proper values", () => { - expect(scaleInputForNumberRange(2, 1, 3, 1, 5).toNumber()).toBe(3) - expect(scaleInputForNumberRange(2, 1, 3, 1, 10).toNumber()).toBe(5.5) - expect(scaleInputForNumberRange(1, 1, 50, 24, 90).toNumber()).toBe(24) - expect(scaleInputForNumberRange(3, 1, 2, 5, 10).toNumber()).toBe(15) - expect(scaleInputForNumberRange(5, 10, 15, 6, 9).toNumber()).toBe(3) - }) - - it("should work for numbers", () => { - expect(scaleInputForNumberRange(2, 1, 3, 1, 5).toNumber()).toBe(3) - }) - - it("should work for strings", () => { - expect(scaleInputForNumberRange("2", "1", "3", "1", "5").toNumber()).toBe(3) - }) - - it("should work for BigNumbers", () => { - expect( - scaleInputForNumberRange( - new BigNumber(2), - new BigNumber(1), - new BigNumber(3), - new BigNumber(1), - new BigNumber(5) - ).toNumber() - ).toBe(3) - }) - - it("should return BigNumber", () => { - expect(scaleInputForNumberRange(2, 1, 3, 1, 5)).toBeInstanceOf(BigNumber) - }) - - it("should return NaN from function call without all arguments passed", () => { - expect(isNaN(scaleInputForNumberRange(2, 2))).toBe(true) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/hooks/useAutoConnect.test.js b/solidity-v1/dashboard/src/__tests__/hooks/useAutoConnect.test.js deleted file mode 100644 index 8eb6782c21..0000000000 --- a/solidity-v1/dashboard/src/__tests__/hooks/useAutoConnect.test.js +++ /dev/null @@ -1,43 +0,0 @@ -import { renderHook } from "@testing-library/react-hooks" -import useAutoWalletAddressInjectIntoUrl from "../../hooks/useAutoWalletAddressInjectIntoUrl" - -const mockCurrentUrl = "/dashboard" -const mockHistoryPush = jest.fn() -const mockAddress = "0x857173e7c7d76e051e80d30FCc3EA6A9C2b53756" - -jest.mock("react-router-dom", () => ({ - ...jest.requireActual("react-router-dom"), - useLocation: jest.fn(() => ({ - pathname: mockCurrentUrl, - })), - useHistory: jest.fn(() => ({ - pathname: mockCurrentUrl, - push: mockHistoryPush, - })), -})) - -jest.mock("../../hooks/useWalletAddressFromUrl", () => - jest.fn(() => { - return "" - }) -) - -jest.mock("../../components/WithWeb3Context", () => ({ - useWeb3Context: jest.fn(() => ({ - yourAddress: mockAddress, - connector: { - name: "EXPLORER_MODE", - }, - connectAppWithWallet: jest.fn(), - })), -})) - -describe("Current url without wallet address", () => { - it("change url when connecting to explorer mode", () => { - renderHook(() => useAutoWalletAddressInjectIntoUrl()) - - expect(mockHistoryPush).toHaveBeenCalledWith({ - pathname: `/${mockAddress}/dashboard`, - }) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/hooks/useWalletAddressFromUrl.test.js b/solidity-v1/dashboard/src/__tests__/hooks/useWalletAddressFromUrl.test.js deleted file mode 100644 index b0f5dff315..0000000000 --- a/solidity-v1/dashboard/src/__tests__/hooks/useWalletAddressFromUrl.test.js +++ /dev/null @@ -1,69 +0,0 @@ -import { renderHook } from "@testing-library/react-hooks" -import useWalletAddressFromUrl from "../../hooks/useWalletAddressFromUrl" - -const mockCurrentUrl = "/0x857173e7c7d76e051e80d30FCc3EA6A9C2b53756/dashboard" -const mockAddress = "0x857173e7c7d76e051e80d30FCc3EA6A9C2b53756" - -jest.mock("react-router-dom", () => ({ - ...jest.requireActual("react-router-dom"), - useRouteMatch: jest - .fn(() => ({ - url: `/${mockAddress}/overview`, - params: { - address: mockAddress, - actualPath: "overview", - }, - })) - .mockImplementationOnce(() => ({ - url: `/${mockAddress}/rewards/tbtc`, - params: { - address: mockAddress, - actualPath: "rewards", - }, - })) - .mockImplementationOnce(() => ({ - url: `/234234/rewards/tbtc`, - params: { - address: "234234", - actualPath: "rewards", - }, - })), - useLocation: jest.fn(() => ({ - pathname: mockCurrentUrl, - })), -})) - -jest.mock("../../components/Routing", () => ({ - pages: [ - { - route: { - path: "/overview", - }, - }, - { - route: { - path: "/liquidity", - }, - }, - ], -})) - -describe("Test useWalletAddressFromUrl hook", () => { - it("returns empty string if path does not exist", () => { - const result = renderHook(() => useWalletAddressFromUrl()) - - expect(result.result.current).toBe("") - }) - - it("returns empty string if wallet address is not a proper eth address", () => { - const result = renderHook(() => useWalletAddressFromUrl()) - - expect(result.result.current).toBe("") - }) - - it("returns wallet address from url properly", () => { - const result = renderHook(() => useWalletAddressFromUrl()) - - expect(result.result.current).toBe(mockAddress) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/saga/authorization.test.js b/solidity-v1/dashboard/src/__tests__/saga/authorization.test.js deleted file mode 100644 index 2bc4e612ea..0000000000 --- a/solidity-v1/dashboard/src/__tests__/saga/authorization.test.js +++ /dev/null @@ -1,123 +0,0 @@ -import { expectSaga } from "redux-saga-test-plan" -import { throwError } from "redux-saga-test-plan/providers" -import { call } from "redux-saga/effects" -import { watchFetchKeepRandomBeaconAuthData } from "../../sagas/authorization" -import authorizationReducer from "../../reducers/authorization" -import { beaconAuthorizationService } from "../../services/beacon-authorization.service" -import { - FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_REQUEST, - FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_START, - FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_SUCCESS, - FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_FAILURE, - KEEP_RANDOM_BEACON_AUTHORIZED, -} from "../../actions" - -describe("Authorization saga test", () => { - const mockedAddress = "0x0" - describe("Keep Random Beacon watchers", () => { - const contractName = "Keep Random Beacon Operator Contract" - const operatorAddress = 0x1 - const mockedRandomBeaconAuthData = [ - { - operatorAddress, - stakeAmount: 100, - contracts: [ - { - contractName, - operatorContractAddress: "0x2", - isAuthorized: false, - }, - ], - }, - ] - - it("should fetch Keep Random Beacon authorization data correctly", () => { - return expectSaga(watchFetchKeepRandomBeaconAuthData) - .withReducer(authorizationReducer) - .provide([ - [ - call( - beaconAuthorizationService.fetchRandomBeaconAuthorizationData, - mockedAddress - ), - mockedRandomBeaconAuthData, - ], - ]) - .dispatch({ - type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_REQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_START }) - .put({ - type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_SUCCESS, - payload: mockedRandomBeaconAuthData, - }) - .hasFinalState({ - authData: mockedRandomBeaconAuthData, - isFetching: false, - error: null, - }) - .run() - }) - - it("should log error if the beacon auth service has failed", () => { - const error = new Error("Beacon auth error") - return expectSaga(watchFetchKeepRandomBeaconAuthData) - .withReducer(authorizationReducer) - .provide([ - [ - call( - beaconAuthorizationService.fetchRandomBeaconAuthorizationData, - mockedAddress - ), - throwError(error), - ], - ]) - .dispatch({ - type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_REQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_START }) - .put({ - type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_FAILURE, - payload: { error: error.message }, - }) - .hasFinalState({ - authData: [], - isFetching: false, - error: error.message, - }) - .run() - }) - - it("should update the authorized contract correctly", () => { - const expectedAuthData = [...mockedRandomBeaconAuthData] - expectedAuthData[0].contracts[0].isAuthorized = true - return expectSaga(watchFetchKeepRandomBeaconAuthData) - .withReducer(authorizationReducer) - .provide([ - [ - call( - beaconAuthorizationService.fetchRandomBeaconAuthorizationData, - mockedAddress - ), - mockedRandomBeaconAuthData, - ], - ]) - .dispatch({ - type: FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_REQUEST, - payload: { address: mockedAddress }, - }) - .dispatch({ - type: KEEP_RANDOM_BEACON_AUTHORIZED, - payload: { contractName, operatorAddress }, - }) - .hasFinalState({ - authData: expectedAuthData, - isFetching: false, - error: null, - }) - .run() - }) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/saga/coverage-pool.test.js b/solidity-v1/dashboard/src/__tests__/saga/coverage-pool.test.js deleted file mode 100644 index f565148e25..0000000000 --- a/solidity-v1/dashboard/src/__tests__/saga/coverage-pool.test.js +++ /dev/null @@ -1,1120 +0,0 @@ -import { expectSaga } from "redux-saga-test-plan" -import { throwError } from "redux-saga-test-plan/providers" -import { call } from "redux-saga/effects" -import BigNumber from "bignumber.js" -import { - watchFetchTvl, - watchFetchAPY, - watchFetchCovPoolData, - subscribeToAuctionCreatedEvent, - subscribeToAuctionClosedEvent, - subscribeToAssetPoolDepositedEvent, - subscribeToWithdrawalInitiatedEvent, - subscribeToWithdrawalCompletedEvent, -} from "../../sagas/coverage-pool" - -import coveragePoolReducer, { - coveragePoolInitialData, -} from "../../reducers/coverage-pool" -import { KEEP, Token } from "../../utils/token.utils" -import { - fetchTvlRequest, - fetchTvlStart, - fetchTvlSuccess, - COVERAGE_POOL_FETCH_TVL_ERROR, - fetchAPYRequest, - fetchAPYStart, - fetchAPYSuccess, - COVERAGE_POOL_FETCH_APY_ERROR, - fetchCovPoolDataRequest, - fetchCovPoolDataStart, - fetchCovPoolDataSuccess, - COVERAGE_POOL_FETCH_COV_POOL_DATA_ERROR, - covTokenUpdated, - RISK_MANAGER_AUCTION_CREATED_EVENT_EMITTED, - RISK_MANAGER_AUCTION_CLOSED_EVENT_EMITTED, - COVERAGE_POOL_ASSET_POOL_DEPOSITED_EVENT_EMITTED, - COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED, -} from "../../actions/coverage-pool" -import { Keep } from "../../contracts" -import * as matchers from "redux-saga-test-plan/matchers" -import { add, sub } from "../../utils/arithmetics.utils" -import { select } from "redux-saga-test-plan/matchers" -import selectors from "../../sagas/selectors" -import { OPEN_MODAL } from "../../actions/modal" -import { modalComponentType } from "../../components/Modal" - -// TODO: Mock globally -// Mock TrezorConnector due to `This version of trezor-connect is not suitable -// to work without browser. Use trezor-connect@extended package instead` error. -jest.mock("../../connectors/trezor", () => ({ - ...jest.requireActual("../../components/Modal"), - TrezorConnector: Object, -})) - -describe("Coverage pool saga test", () => { - describe("Fetch tvl watcher", () => { - const tvl = KEEP.fromTokenUnit(100000) - const keepInUSD = new BigNumber(0.5) - const totalAllocatedRewards = KEEP.fromTokenUnit(200000) - const tvlInUSD = keepInUSD.multipliedBy(KEEP.toTokenUnit(tvl)).toFormat(2) - const totalCoverageClaimed = KEEP.fromTokenUnit(50000) - - it("should fetch tvl data correctly", () => { - return expectSaga(watchFetchTvl) - .withReducer(coveragePoolReducer) - .provide([ - [call(Keep.coveragePoolV1.totalValueLocked), tvl], - [call(Keep.exchangeService.getKeepTokenPriceInUSD), keepInUSD], - [ - call(Keep.coveragePoolV1.totalAllocatedRewards), - totalAllocatedRewards, - ], - [ - call(Keep.coveragePoolV1.totalCoverageClaimed), - totalCoverageClaimed, - ], - ]) - .dispatch(fetchTvlRequest()) - .put(fetchTvlStart()) - .put( - fetchTvlSuccess({ - tvl, - tvlInUSD, - totalAllocatedRewards, - totalCoverageClaimed, - }) - ) - .hasFinalState({ - ...coveragePoolInitialData, - totalValueLocked: tvl, - totalValueLockedInUSD: tvlInUSD, - totalCoverageClaimed: totalCoverageClaimed, - isTotalValueLockedFetching: false, - tvlError: null, - totalAllocatedRewards, - }) - .run() - }) - - it("should log error if an any Keep lib function has failed", () => { - const mockedError = new Error("Fake error") - return expectSaga(watchFetchTvl) - .withReducer(coveragePoolReducer) - .provide([ - [call(Keep.coveragePoolV1.totalValueLocked), throwError(mockedError)], - [call(Keep.exchangeService.getKeepTokenPriceInUSD), keepInUSD], - [ - call(Keep.coveragePoolV1.totalAllocatedRewards), - totalAllocatedRewards, - ], - ]) - .dispatch(fetchTvlRequest()) - .put(fetchTvlStart()) - .put({ - type: COVERAGE_POOL_FETCH_TVL_ERROR, - payload: { error: mockedError.message }, - }) - .hasFinalState({ - ...coveragePoolInitialData, - tvlError: mockedError.message, - }) - .run() - }) - }) - - describe("Fetch apy watcher", () => { - const apy = 0.25 - - it("should fetch apy data correctly", () => { - return expectSaga(watchFetchAPY) - .withReducer(coveragePoolReducer) - .provide([[call(Keep.coveragePoolV1.apy), apy]]) - .dispatch(fetchAPYRequest()) - .put(fetchAPYStart()) - .put(fetchAPYSuccess(apy)) - .hasFinalState({ - ...coveragePoolInitialData, - apy, - }) - .run() - }) - - it("should log error if function has failed", () => { - const mockedError = new Error("Fake error") - return expectSaga(watchFetchAPY) - .withReducer(coveragePoolReducer) - .provide([[call(Keep.coveragePoolV1.apy), throwError(mockedError)]]) - .dispatch(fetchAPYRequest()) - .put(fetchAPYStart()) - .put({ - type: COVERAGE_POOL_FETCH_APY_ERROR, - payload: { error: mockedError.message }, - }) - .hasFinalState({ - ...coveragePoolInitialData, - apyError: mockedError.message, - }) - .run() - }) - }) - - describe("Fetch cov pool data watcher", () => { - const balanceOf = Token.fromTokenUnit("100").toString() - const totalSupply = Token.fromTokenUnit("1000").toString() - const shareOfPool = 0.5 - const estimatedKeepBalance = Token.fromTokenUnit("50").toString() - const estimatedRewards = Token.fromTokenUnit("10").toString() - const address = "0x086813525A7dC7dafFf015Cdf03896Fd276eab60" - const withdrawalDelays = { - withdrawalDelay: 1, - withdrawalTimeout: 2, - } - const pendingWithdrawal = 0 - const withdrawalInitiatedTimestamp = 0 - const hasOpenAuctions = true - - it("should fetch apy data correctly", () => { - return expectSaga(watchFetchCovPoolData) - .withReducer(coveragePoolReducer) - .provide([ - [call(Keep.coveragePoolV1.covBalanceOf, address), balanceOf], - [call(Keep.coveragePoolV1.covTotalSupply), totalSupply], - [call(Keep.coveragePoolV1.withdrawalDelays), withdrawalDelays], - [ - call(Keep.coveragePoolV1.pendingWithdrawal, address), - pendingWithdrawal, - ], - [ - call(Keep.coveragePoolV1.withdrawalInitiatedTimestamp, address), - withdrawalInitiatedTimestamp, - ], - [ - call(Keep.coveragePoolV1.shareOfPool, totalSupply, balanceOf), - shareOfPool, - ], - [ - call( - Keep.coveragePoolV1.estimatedCollateralTokenBalance, - shareOfPool - ), - estimatedKeepBalance, - ], - [ - call(Keep.coveragePoolV1.estimatedRewards, address, shareOfPool), - estimatedRewards, - ], - [ - call(Keep.coveragePoolV1.hasRiskManagerOpenAuctions), - hasOpenAuctions, - ], - ]) - .dispatch(fetchCovPoolDataRequest(address)) - .put(fetchCovPoolDataStart()) - .put( - fetchCovPoolDataSuccess({ - shareOfPool, - covBalance: balanceOf, - covTokensAvailableToWithdraw: balanceOf, - covTotalSupply: totalSupply, - estimatedRewards, - estimatedKeepBalance, - withdrawalDelay: withdrawalDelays.withdrawalDelay, - withdrawalTimeout: withdrawalDelays.withdrawalTimeout, - pendingWithdrawal, - withdrawalInitiatedTimestamp, - hasRiskManagerOpenAuctions: hasOpenAuctions, - }) - ) - .hasFinalState({ - ...coveragePoolInitialData, - shareOfPool, - covBalance: balanceOf, - covTokensAvailableToWithdraw: balanceOf, - covTotalSupply: totalSupply, - estimatedRewards, - estimatedKeepBalance, - withdrawalDelay: withdrawalDelays.withdrawalDelay, - withdrawalTimeout: withdrawalDelays.withdrawalTimeout, - pendingWithdrawal, - withdrawalInitiatedTimestamp, - hasRiskManagerOpenAuctions: hasOpenAuctions, - }) - .run() - }) - - it("should log error if function has failed", () => { - const mockedError = new Error("Fake error") - - return expectSaga(watchFetchCovPoolData) - .withReducer(coveragePoolReducer) - .provide([ - [ - call(Keep.coveragePoolV1.covBalanceOf, address), - throwError(mockedError), - ], - ]) - .dispatch(fetchCovPoolDataRequest(address)) - .put(fetchCovPoolDataStart()) - .put({ - type: COVERAGE_POOL_FETCH_COV_POOL_DATA_ERROR, - payload: { error: mockedError.message }, - }) - .hasFinalState({ - ...coveragePoolInitialData, - error: mockedError.message, - }) - .run() - }) - }) - - describe("Subscribe to Asset Pool's Deposit event", () => { - const address = "0x086813525A7dC7dafFf015Cdf03896Fd276eab60" - const initialCovTotalSupply = Token.fromTokenUnit(100).toString() - const initialCovBalance = Token.fromTokenUnit(30).toString() - const initialCovTokensAvailableToWithdraw = - Token.fromTokenUnit(30).toString() - - const depositEventData = { - underwriter: address, - covAmount: KEEP.fromTokenUnit("300").toString(), - amount: KEEP.fromTokenUnit("350").toString(), - } - - const initialState = { - ...coveragePoolInitialData, - covTotalSupply: initialCovTotalSupply, - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - } - const updatedShareOfPool = 0.8 - const estimatedKeepBalance = KEEP.fromTokenUnit(350).toString() - const estimatedRewards = KEEP.fromTokenUnit(35).toString() - const updatedTvl = KEEP.fromTokenUnit(10000).toString() - const keepInUSD = new BigNumber(0.25) - const updatedAPY = 0.5 - const tvlInUSD = new BigNumber(keepInUSD) - .multipliedBy(KEEP.toTokenUnit(updatedTvl)) - .toFormat(2) - - it("should update data correctly if the `Deposit` event has been emitted by current logged user", () => { - const mockedEvent = { - returnValues: { ...depositEventData }, - } - - const updatedCovBalance = add( - initialCovBalance, - depositEventData.covAmount - ).toString() - const updatedCovTotalSupply = add( - initialCovTotalSupply, - depositEventData.covAmount - ).toString() - const updatedCovTokensAvailableToWithdraw = add( - initialCovTokensAvailableToWithdraw, - depositEventData.covAmount - ).toString() - - return expectSaga(subscribeToAssetPoolDepositedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_ASSET_POOL_DEPOSITED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put( - covTokenUpdated({ - covBalance: updatedCovBalance, - covTokensAvailableToWithdraw: updatedCovTokensAvailableToWithdraw, - covTotalSupply: updatedCovTotalSupply, - shareOfPool: updatedShareOfPool, - estimatedKeepBalance, - estimatedRewards, - totalValueLocked: updatedTvl, - totalValueLockedInUSD: tvlInUSD, - apy: updatedAPY, - }) - ) - .hasFinalState({ - ...initialState, - covBalance: updatedCovBalance, - covTokensAvailableToWithdraw: updatedCovTokensAvailableToWithdraw, - covTotalSupply: updatedCovTotalSupply, - shareOfPool: updatedShareOfPool, - estimatedKeepBalance, - estimatedRewards, - totalValueLocked: updatedTvl, - totalValueLockedInUSD: tvlInUSD, - apy: updatedAPY, - }) - .run() - }) - - it("should update data correctly for current user if the `Deposit` event has been emitted by another user", () => { - const mockedEvent = { - returnValues: { - ...depositEventData, - underwriter: "0x065993c332b02ab8674Ac033CaCDBccBe7bc9047", - }, - } - - const updatedCovTotalSupply = add( - initialCovTotalSupply, - depositEventData.covAmount - ).toString() - - return expectSaga(subscribeToAssetPoolDepositedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_ASSET_POOL_DEPOSITED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put( - covTokenUpdated({ - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - covTotalSupply: updatedCovTotalSupply, - shareOfPool: updatedShareOfPool, - estimatedKeepBalance, - estimatedRewards, - totalValueLocked: updatedTvl, - totalValueLockedInUSD: tvlInUSD, - apy: updatedAPY, - }) - ) - .hasFinalState({ - ...initialState, - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - covTotalSupply: updatedCovTotalSupply, - shareOfPool: updatedShareOfPool, - estimatedKeepBalance, - estimatedRewards, - totalValueLocked: updatedTvl, - totalValueLockedInUSD: tvlInUSD, - apy: updatedAPY, - }) - .run() - }) - - it("should show correct success modal window, when depositing KEEPs in Coverage Pool", () => { - const transactionHash = "0x123453525A7454et543tr5Cdf03896Fd276avg45" - const mockedEvent = { - returnValues: { ...depositEventData }, - transactionHash, - } - - const expectedModalType = - modalComponentType.COV_POOLS.KEEP_DEPOSITED_SUCCESS - const expectedTitle = "Deposit" - - return expectSaga(subscribeToAssetPoolDepositedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_ASSET_POOL_DEPOSITED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put.like({ - action: { - type: OPEN_MODAL, - payload: { - modalComponentType: expectedModalType, - modalProps: { - title: expectedTitle, - }, - componentProps: { - transactionFinished: true, - transactionHash: mockedEvent.transactionHash, - amount: mockedEvent.returnValues.amount, - }, - }, - }, - }) - .run() - }) - }) - - describe("Subscribe to WithdrawalInitiated event", () => { - const address = "0x086813525A7dC7dafFf015Cdf03896Fd276eab60" - const transactionHash = "0x123453525A7454et543tr5Cdf03896Fd276avg45" - const initialCovTotalSupply = Token.fromTokenUnit(100).toString() - const initialCovBalance = Token.fromTokenUnit(30).toString() - const initialCovTokensAvailableToWithdraw = - Token.fromTokenUnit(30).toString() - - const initialState = { - ...coveragePoolInitialData, - covTotalSupply: initialCovTotalSupply, - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - } - - it("should update data correctly if the `WithdrawalInitiated` event has been emitted by current logged user", () => { - const underwriterAddress = address - const withdrawalInitiatedEventData = { - underwriter: underwriterAddress, - covAmount: KEEP.fromTokenUnit("20").toString(), - timestamp: 1631857610, - } - const mockedEvent = { - returnValues: withdrawalInitiatedEventData, - } - - const mockedModalData = { - componentProps: { - pendingWithdrawalBalance: KEEP.fromTokenUnit("200").toString(), - amount: KEEP.fromTokenUnit("20").toString(), - }, - } - - const updatedCovTokensAvailableToWithdraw = sub( - initialCovTokensAvailableToWithdraw, - withdrawalInitiatedEventData.covAmount - ).toString() - - return expectSaga(subscribeToWithdrawalInitiatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put( - covTokenUpdated({ - pendingWithdrawal: withdrawalInitiatedEventData.covAmount, - withdrawalInitiatedTimestamp: - withdrawalInitiatedEventData.timestamp, - covTokensAvailableToWithdraw: updatedCovTokensAvailableToWithdraw, - }) - ) - .hasFinalState({ - ...initialState, - pendingWithdrawal: withdrawalInitiatedEventData.covAmount, - withdrawalInitiatedTimestamp: withdrawalInitiatedEventData.timestamp, - covTokensAvailableToWithdraw: updatedCovTokensAvailableToWithdraw, - }) - .run() - }) - - it("should update data correctly for current user if the `WithdrawalInitiated` event has been emitted by another user", () => { - const underwriterAddress = "0x065993c332b02ab8674Ac033CaCDBccBe7bc9047" - const withdrawalInitiatedEventData = { - underwriter: underwriterAddress, - covAmount: KEEP.fromTokenUnit("20").toString(), - timestamp: 1631857610, - } - const mockedEvent = { - returnValues: withdrawalInitiatedEventData, - } - - const mockedModalData = { - componentProps: { - pendingWithdrawalBalance: KEEP.fromTokenUnit("200").toString(), - amount: KEEP.fromTokenUnit("20").toString(), - }, - } - - return expectSaga(subscribeToWithdrawalInitiatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .hasFinalState({ - ...initialState, - }) - .run() - }) - - it("should show correct success modal window, when initiating a withdrawal", () => { - const underwriterAddress = address - const transactionHash = "0x123453525A7454et543tr5Cdf03896Fd276avg45" - const withdrawalInitiatedEventData = { - underwriter: underwriterAddress, - covAmount: KEEP.fromTokenUnit("20").toString(), - timestamp: 1631857610, - } - const mockedEvent = { - returnValues: withdrawalInitiatedEventData, - transactionHash, - } - - const mockedModalData = { - componentProps: { - amount: KEEP.fromTokenUnit("20").toString(), - }, - } - - const expectedModalType = modalComponentType.COV_POOLS.INITIATE_WITHDRAWAL - const expectedTitle = "Withdraw" - - return expectSaga(subscribeToWithdrawalInitiatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put.like({ - action: { - type: OPEN_MODAL, - payload: { - modalComponentType: expectedModalType, - modalProps: { - title: expectedTitle, - }, - }, - }, - }) - .run() - }) - - it("should show correct success modal window, when re-initiating a withdrawal", () => { - const underwriterAddress = address - const withdrawalInitiatedEventData = { - underwriter: underwriterAddress, - covAmount: KEEP.fromTokenUnit("20").toString(), - timestamp: 1631857610, - } - const mockedEvent = { - returnValues: withdrawalInitiatedEventData, - transactionHash, - } - - const mockedModalData = { - componentProps: { - pendingWithdrawalBalance: Token.fromTokenUnit(20).toString(), - amount: KEEP.fromTokenUnit("0").toString(), - }, - } - - const expectedModalType = - modalComponentType.COV_POOLS.RE_INITIATE_WITHDRAWAL - const expectedTitle = "Re-initiate withdrawal" - - return expectSaga(subscribeToWithdrawalInitiatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put.like({ - action: { - type: OPEN_MODAL, - payload: { - modalComponentType: expectedModalType, - modalProps: { - title: expectedTitle, - }, - }, - }, - }) - .run() - }) - - it("should show correct success modal window, when increasing value of a pending withdrawal", () => { - const underwriterAddress = address - const transactionHash = "0x123453525A7454et543tr5Cdf03896Fd276avg45" - const withdrawalInitiatedEventData = { - underwriter: underwriterAddress, - covAmount: KEEP.fromTokenUnit("20").toString(), - timestamp: 1631857610, - } - const mockedEvent = { - returnValues: withdrawalInitiatedEventData, - transactionHash, - } - - const mockedModalData = { - componentProps: { - pendingWithdrawalBalance: Token.fromTokenUnit(20).toString(), - amount: KEEP.fromTokenUnit("10").toString(), - }, - } - - const expectedModalType = modalComponentType.COV_POOLS.INCREASE_WITHDRAWAL - const expectedTitle = "Re-initiate withdrawal" - - return expectSaga(subscribeToWithdrawalInitiatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put.like({ - action: { - type: OPEN_MODAL, - payload: { - modalComponentType: expectedModalType, - modalProps: { - title: expectedTitle, - }, - }, - }, - }) - .run() - }) - }) - - describe("Subscribe to WithdrawalCompleted event", () => { - const address = "0x086813525A7dC7dafFf015Cdf03896Fd276eab60" - const transactionHash = "0x123453525A7454et543tr5Cdf03896Fd276avg45" - const initialCovTotalSupply = Token.fromTokenUnit("1000").toString() - const initialCovBalance = Token.fromTokenUnit("400").toString() - - const withdrawalCompletedEventData = { - underwriter: address, - amount: KEEP.fromTokenUnit("320").toString(), - covAmount: KEEP.fromTokenUnit("300").toString(), - } - const initialCovTokensAvailableToWithdraw = sub( - initialCovBalance, - withdrawalCompletedEventData.covAmount - ).toString() - - const mockedEvent = { - returnValues: withdrawalCompletedEventData, - transactionHash, - } - - const mockedModalData = { - componentProps: { - pendingWithdrawalBalance: KEEP.fromTokenUnit("0").toString(), - amount: KEEP.fromTokenUnit("0").toString(), - }, - } - - const initialState = { - ...coveragePoolInitialData, - covTotalSupply: initialCovTotalSupply, - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - } - - const updatedShareOfPool = 0.8 - const estimatedKeepBalance = KEEP.fromTokenUnit(350).toString() - const estimatedRewards = KEEP.fromTokenUnit(35).toString() - const updatedTvl = KEEP.fromTokenUnit(10000).toString() - const keepInUSD = new BigNumber(0.25) - const updatedAPY = 0.5 - const tvlInUSD = new BigNumber(keepInUSD) - .multipliedBy(KEEP.toTokenUnit(updatedTvl)) - .toFormat(2) - - it("should update data correctly if the `WithdrawalCompleted` event has been emitted by current logged user", () => { - const updatedCovBalance = sub( - initialCovBalance, - withdrawalCompletedEventData.covAmount - ).toString() - const updatedCovTotalSupply = sub( - initialCovTotalSupply, - withdrawalCompletedEventData.covAmount - ).toString() - - return expectSaga(subscribeToWithdrawalCompletedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put( - covTokenUpdated({ - shareOfPool: updatedShareOfPool, - covBalance: updatedCovBalance, - covTotalSupply: updatedCovTotalSupply, - estimatedRewards, - estimatedKeepBalance, - totalValueLockedInUSD: tvlInUSD, - totalValueLocked: updatedTvl, - apy: updatedAPY, - pendingWithdrawal: "0", - withdrawalInitiatedTimestamp: "0", - }) - ) - .hasFinalState({ - ...initialState, - shareOfPool: updatedShareOfPool, - covBalance: updatedCovBalance, - covTotalSupply: updatedCovTotalSupply, - estimatedRewards, - estimatedKeepBalance, - totalValueLockedInUSD: tvlInUSD, - totalValueLocked: updatedTvl, - apy: updatedAPY, - pendingWithdrawal: "0", - withdrawalInitiatedTimestamp: "0", - }) - .run() - }) - - it("should update data correctly for current user if the `WithdrawalCompleted` event has been emitted by another user", () => { - const underwriterAddress = "0x065993c332b02ab8674Ac033CaCDBccBe7bc9047" - - const withdrawalCompletedEventData = { - underwriter: underwriterAddress, - amount: KEEP.fromTokenUnit("320").toString(), - covAmount: KEEP.fromTokenUnit("300").toString(), - } - const initialCovTokensAvailableToWithdraw = sub( - initialCovBalance, - withdrawalCompletedEventData.covAmount - ).toString() - - const mockedEvent = { - returnValues: withdrawalCompletedEventData, - } - - const initialState = { - ...coveragePoolInitialData, - covTotalSupply: initialCovTotalSupply, - covBalance: initialCovBalance, - covTokensAvailableToWithdraw: initialCovTokensAvailableToWithdraw, - pendingWithdrawal: "300", - withdrawalInitiatedTimestamp: "1631857111", - } - - const updatedCovTotalSupply = sub( - initialCovTotalSupply, - withdrawalCompletedEventData.covAmount - ).toString() - - return expectSaga(subscribeToWithdrawalCompletedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [select(selectors.getModalData), mockedModalData], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put( - covTokenUpdated({ - shareOfPool: updatedShareOfPool, - covBalance: initialCovBalance, - covTotalSupply: updatedCovTotalSupply, - estimatedRewards, - estimatedKeepBalance, - totalValueLockedInUSD: tvlInUSD, - totalValueLocked: updatedTvl, - apy: updatedAPY, - }) - ) - .hasFinalState({ - ...initialState, - shareOfPool: updatedShareOfPool, - covBalance: initialCovBalance, - covTotalSupply: updatedCovTotalSupply, - estimatedRewards, - estimatedKeepBalance, - totalValueLockedInUSD: tvlInUSD, - totalValueLocked: updatedTvl, - apy: updatedAPY, - }) - .run() - }) - - it("should show correct success modal window, when claiming tokens from a pending withdrawal", () => { - const expectedModalType = - modalComponentType.COV_POOLS.WITHDRAWAL_COMPLETED - const expectedTitle = "Claim tokens" - - return expectSaga(subscribeToWithdrawalCompletedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [select(selectors.getCoveragePool), initialState], - [select(selectors.getUserAddress), address], - [ - matchers.call.fn(Keep.coveragePoolV1.shareOfPool), - updatedShareOfPool, - ], - [ - matchers.call.fn( - Keep.coveragePoolV1.estimatedCollateralTokenBalance - ), - estimatedKeepBalance, - ], - [ - matchers.call.fn(Keep.coveragePoolV1.estimatedRewards), - estimatedRewards, - ], - [matchers.call.fn(Keep.coveragePoolV1.totalValueLocked), updatedTvl], - [ - matchers.call.fn( - Keep.coveragePoolV1.exchangeService.getKeepTokenPriceInUSD - ), - keepInUSD, - ], - [matchers.call.fn(Keep.coveragePoolV1.apy), updatedAPY], - ]) - .dispatch({ - type: COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED, - payload: { event: mockedEvent }, - }) - .put.like({ - action: { - type: OPEN_MODAL, - payload: { - modalComponentType: expectedModalType, - modalProps: { - title: expectedTitle, - }, - }, - }, - }) - .run() - }) - }) - - describe("Subscribe to AuctionCreated event", () => { - it("should update data correctly if `AuctionCreated` event has been emitted", () => { - const initialState = { - ...coveragePoolInitialData, - hasRiskManagerOpenAuctions: false, - } - - return expectSaga(subscribeToAuctionCreatedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .dispatch({ - type: RISK_MANAGER_AUCTION_CREATED_EVENT_EMITTED, - }) - .put( - covTokenUpdated({ - hasRiskManagerOpenAuctions: true, - }) - ) - .hasFinalState({ - ...initialState, - hasRiskManagerOpenAuctions: true, - }) - .run() - }) - - it("should update data correctly if `AuctionClosed` event has been emitted and there are no more open auctions left", () => { - const initialState = { - ...coveragePoolInitialData, - hasRiskManagerOpenAuctions: false, - } - - const mockedHasOpenAuctions = false - - return expectSaga(subscribeToAuctionClosedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [ - matchers.call.fn(Keep.coveragePoolV1.hasRiskManagerOpenAuctions), - mockedHasOpenAuctions, - ], - ]) - .dispatch({ - type: RISK_MANAGER_AUCTION_CLOSED_EVENT_EMITTED, - }) - .put( - covTokenUpdated({ - hasRiskManagerOpenAuctions: mockedHasOpenAuctions, - }) - ) - .hasFinalState({ - ...initialState, - hasRiskManagerOpenAuctions: mockedHasOpenAuctions, - }) - .run() - }) - - it("should update data correctly if `AuctionClosed` event has been emitted but open auctions still exist", () => { - const initialState = { - ...coveragePoolInitialData, - hasRiskManagerOpenAuctions: false, - } - - const mockedHasOpenAuctions = true - - return expectSaga(subscribeToAuctionClosedEvent) - .withReducer(coveragePoolReducer, initialState.coveragePool) - .withState(initialState) - .provide([ - [ - matchers.call.fn(Keep.coveragePoolV1.hasRiskManagerOpenAuctions), - mockedHasOpenAuctions, - ], - ]) - .dispatch({ - type: RISK_MANAGER_AUCTION_CLOSED_EVENT_EMITTED, - }) - .put( - covTokenUpdated({ - hasRiskManagerOpenAuctions: mockedHasOpenAuctions, - }) - ) - .hasFinalState({ - ...initialState, - hasRiskManagerOpenAuctions: mockedHasOpenAuctions, - }) - .run() - }) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/saga/effects.test.js b/solidity-v1/dashboard/src/__tests__/saga/effects.test.js deleted file mode 100644 index 634f826d79..0000000000 --- a/solidity-v1/dashboard/src/__tests__/saga/effects.test.js +++ /dev/null @@ -1,158 +0,0 @@ -import { createStore, applyMiddleware } from "redux" -import createSagaMiddleware from "redux-saga" -import { takeOnlyOnce } from "../../sagas/effects" - -describe("Test takeOnlyOnce- custom redux-saga effect", () => { - const taskIdentifier = jest.fn((action) => action.payload.id) - let callCounter = [] - let worker = jest.fn((arg1, arg2, action) => - callCounter.push([arg1, arg2, action]) - ) - let middleware - let store - let mainTask - - beforeEach(() => { - function* root() { - yield takeOnlyOnce("test/pattern", taskIdentifier, worker, "a1", "a2") - } - - callCounter = [] - middleware = createSagaMiddleware() - store = createStore(() => {}, applyMiddleware(middleware)) - mainTask = middleware.run(root) - }) - - it("should only call worker once if id is the same", async () => { - const dispatcher = Promise.resolve() - .then(() => { - store.dispatch({ - type: "test/pattern", - payload: { id: 10 }, - }) - }) - .then(() => - store.dispatch({ - type: "test/pattern", - payload: { id: 10 }, - }) - ) - .then(() => { - mainTask.cancel() - }) - - await Promise.all([mainTask.toPromise(), dispatcher]).then(() => { - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 10 }, - }) - - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 10 }, - }) - - // Validate passed arguments to the worker. - expect(callCounter.length).toBe(1) - expect(callCounter[0][0]).toBe("a1") - expect(callCounter[0][1]).toBe("a2") - expect(callCounter[0][2]).toStrictEqual({ - type: "test/pattern", - payload: { id: 10 }, - }) - }) - }) - - it("should call worker if ids are different", async () => { - const dispatcher = Promise.resolve() - .then(() => { - store.dispatch({ - type: "test/pattern", - payload: { id: 10 }, - }) - }) - .then(() => - store.dispatch({ - type: "test/pattern", - payload: { id: 20 }, - }) - ) - .then(() => { - mainTask.cancel() - }) - - await Promise.all([mainTask.toPromise(), dispatcher]).then(() => { - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 10 }, - }) - - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 20 }, - }) - - expect(callCounter.length).toBe(2) - - expect(callCounter[0][0]).toBe("a1") - expect(callCounter[0][1]).toBe("a2") - expect(callCounter[0][2]).toStrictEqual({ - type: "test/pattern", - payload: { id: 10 }, - }) - - expect(callCounter[1][0]).toBe("a1") - expect(callCounter[1][1]).toBe("a2") - expect(callCounter[1][2]).toStrictEqual({ - type: "test/pattern", - payload: { id: 20 }, - }) - }) - }) - - it("should handle request if the previous has failed", async () => { - worker = jest - .fn() - .mockImplementationOnce(() => { - throw new Error("Fake error") - }) - .mockImplementationOnce(() => callCounter.push([arg1, arg2, action])) - - const dispatcher = Promise.resolve() - .then(() => { - store.dispatch({ - type: "test/pattern", - payload: { id: 10 }, - }) - }) - .then(() => - store.dispatch({ - type: "test/pattern", - payload: { id: 10 }, - }) - ) - .then(() => { - mainTask.cancel() - }) - - await Promise.all([mainTask.toPromise(), dispatcher]).then(() => { - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 10 }, - }) - - expect(taskIdentifier).toHaveBeenCalledWith({ - type: "test/pattern", - payload: { id: 10 }, - }) - - expect(callCounter.length).toBe(1) - expect(callCounter[0][0]).toBe("a1") - expect(callCounter[0][1]).toBe("a2") - expect(callCounter[0][2]).toStrictEqual({ - type: "test/pattern", - payload: { id: 10 }, - }) - }) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/saga/operator.test.js b/solidity-v1/dashboard/src/__tests__/saga/operator.test.js deleted file mode 100644 index 184c383c1e..0000000000 --- a/solidity-v1/dashboard/src/__tests__/saga/operator.test.js +++ /dev/null @@ -1,155 +0,0 @@ -import { expectSaga } from "redux-saga-test-plan" -import { throwError } from "redux-saga-test-plan/providers" -import { call } from "redux-saga/effects" -import { - watchFetchOperatorDelegationRequest, - watchFetchOperatorSlashedTokensRequest, -} from "../../sagas/operartor" -import { operatorService } from "../../services/token-staking.service" -import { - FETCH_OPERATOR_SLASHED_TOKENS_RERQUEST, - FETCH_OPERATOR_SLASHED_TOKENS_FAILURE, - FETCH_OPERATOR_SLASHED_TOKENS_START, - FETCH_OPERATOR_SLASHED_TOKENS_SUCCESS, - FETCH_OPERATOR_DELEGATIONS_START, - FETCH_OPERATOR_DELEGATIONS_SUCCESS, - FETCH_OPERATOR_DELEGATIONS_RERQUEST, - FETCH_OPERATOR_DELEGATIONS_FAILURE, -} from "../../actions" -import operatorReducer from "../../reducers/operator" -import { slashedTokensService } from "../../services/slashed-tokens.service" -import { ZERO_ADDRESS } from "../../utils/ethereum.utils" - -describe("Test operator saga", () => { - const mockedAddress = "0x0" - const mockedDelegationData = { - stakedBalance: "100", - ownerAddress: "0x1", - beneficiaryAddress: "0x2", - authorizerAddress: "0x3", - } - - const mockedSlshedTokensData = [ - { groupIndex: 1, type: "SLASHED", amount: "100" }, - { groupIndex: 2, type: "SEIZED", amount: "300" }, - ] - - const initialState = { - stakedBalance: "0", - ownerAddress: ZERO_ADDRESS, - beneficiaryAddress: ZERO_ADDRESS, - authorizerAddress: ZERO_ADDRESS, - isFetching: false, - error: null, - - areSlashedTokensFetching: false, - slashedTokens: [], - slashedTokensError: null, - } - - describe("Delegation data fetching test", () => { - it("should fetch operator's delegation", () => { - return expectSaga(watchFetchOperatorDelegationRequest) - .withReducer(operatorReducer) - .provide([ - [ - call(operatorService.fetchDelegatedTokensData, mockedAddress), - mockedDelegationData, - ], - ]) - .dispatch({ - type: FETCH_OPERATOR_DELEGATIONS_RERQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_OPERATOR_DELEGATIONS_START }) - .put({ - type: FETCH_OPERATOR_DELEGATIONS_SUCCESS, - payload: mockedDelegationData, - }) - .hasFinalState({ - ...initialState, - ...mockedDelegationData, - }) - .run() - }) - - it("should log error if a service has failed", () => { - const error = new Error("error") - return expectSaga(watchFetchOperatorDelegationRequest) - .withReducer(operatorReducer) - .provide([ - [ - call(operatorService.fetchDelegatedTokensData, mockedAddress), - throwError(error), - ], - ]) - .dispatch({ - type: FETCH_OPERATOR_DELEGATIONS_RERQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_OPERATOR_DELEGATIONS_START }) - .put({ - type: FETCH_OPERATOR_DELEGATIONS_FAILURE, - payload: { error: error.message }, - }) - .hasFinalState({ - ...initialState, - error: error.message, - }) - .run() - }) - }) - - describe("Slashed tokens data fetching test", () => { - it("should fetch slashed tokens data correctly", () => { - return expectSaga(watchFetchOperatorSlashedTokensRequest) - .withReducer(operatorReducer) - .provide([ - [ - call(slashedTokensService.fetchSlashedTokens, mockedAddress), - mockedSlshedTokensData, - ], - ]) - .dispatch({ - type: FETCH_OPERATOR_SLASHED_TOKENS_RERQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_OPERATOR_SLASHED_TOKENS_START }) - .put({ - type: FETCH_OPERATOR_SLASHED_TOKENS_SUCCESS, - payload: mockedSlshedTokensData, - }) - .hasFinalState({ - ...initialState, - slashedTokens: mockedSlshedTokensData, - }) - .run() - }) - - it("should log error if a slashed service has failed", () => { - const error = new Error("Slashed tokens error") - return expectSaga(watchFetchOperatorSlashedTokensRequest) - .withReducer(operatorReducer) - .provide([ - [ - call(slashedTokensService.fetchSlashedTokens, mockedAddress), - throwError(error), - ], - ]) - .dispatch({ - type: FETCH_OPERATOR_SLASHED_TOKENS_RERQUEST, - payload: { address: mockedAddress }, - }) - .put({ type: FETCH_OPERATOR_SLASHED_TOKENS_START }) - .put({ - type: FETCH_OPERATOR_SLASHED_TOKENS_FAILURE, - payload: { error: error.message }, - }) - .hasFinalState({ - ...initialState, - slashedTokensError: error.message, - }) - .run() - }) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/saga/rootSaga.test.js b/solidity-v1/dashboard/src/__tests__/saga/rootSaga.test.js deleted file mode 100644 index b760337162..0000000000 --- a/solidity-v1/dashboard/src/__tests__/saga/rootSaga.test.js +++ /dev/null @@ -1,170 +0,0 @@ -import { all, fork, take, cancel, put } from "redux-saga/effects" -import { createMockTask } from "@redux-saga/testing-utils" -import { expectSaga } from "redux-saga-test-plan" -import rootSaga, { runTasks } from "../../sagas" -import * as messagesSaga from "../../sagas/messages" -import * as delegateStakeSaga from "../../sagas/staking" -import * as tokenGrantSaga from "../../sagas/token-grant" -import { - watchSendRawTransactionsInSequenceRequest, - watchSendTransactionRequest, -} from "../../sagas/web3" -import * as copyStakeSaga from "../../sagas/copy-stake" -import * as subscriptions from "../../sagas/subscriptions" -import * as keepTokenBalance from "../../sagas/keep-balance" -import * as operator from "../../sagas/operartor" -import * as authorization from "../../sagas/authorization" -import * as coveragePool from "../../sagas/coverage-pool" - -// TODO: Mock globally -// Mock TrezorConnector due to `This version of trezor-connect is not suitable -// to work without browser. Use trezor-connect@extended package instead` error. -jest.mock("../../connectors/trezor", () => ({ - ...jest.requireActual("../../components/Modal"), - TrezorConnector: Object, -})) - -// TODO: Mock globally -// Mock TrezorConnector due to `This version of trezor-connect is not suitable -// to work without browser. Use trezor-connect@extended package instead` error. -jest.mock("../../connectors/trezor", () => ({ - ...jest.requireActual("../../components/Modal"), - TrezorConnector: Object, -})) - -const sagas = [...Object.values(messagesSaga), ...Object.values(coveragePool)] - -const loginRequiredSagas = [ - ...Object.values(delegateStakeSaga), - watchSendTransactionRequest, - watchSendRawTransactionsInSequenceRequest, - ...Object.values(tokenGrantSaga), - ...Object.values(copyStakeSaga), - ...Object.values(subscriptions), - ...Object.values(keepTokenBalance), - ...Object.values(operator), - ...Object.values(authorization), - ...Object.values(tbtcMigration), -] - -describe("Test root saga", () => { - it("should start correctly and handle login flow", () => { - const mockTasks = [fork(() => {}), fork(() => {})] - - return expectSaga(rootSaga) - .provide([[all(), mockTasks]]) - .dispatch({ type: "app/login", payload: { address: "0x0" } }) - .put({ type: "app/set_account", payload: { address: "0x0" } }) - .dispatch({ type: "app/logout" }) - .put({ type: "app/reset_store" }) - .run() - }) - - it("should handle account switching flow", () => { - return expectSaga(rootSaga) - .dispatch({ type: "app/login", payload: { address: "0x0" } }) - .put({ type: "app/set_account", payload: { address: "0x0" } }) - .dispatch({ type: "app/account_changed", payload: { address: "0x1" } }) - .put({ type: "app/reset_store" }) - .put({ type: "app/set_account", payload: { address: "0x1" } }) - .not.put({ type: "app/logout" }) - .run() - }) -}) - -describe("Test root saga step by step", () => { - let generator = null - const mockTask = createMockTask() - const mockAddress = "0x0" - - beforeAll(() => { - generator = rootSaga() - }) - - it("should run sagas", () => { - const expectedYieldAll = all(sagas.map(fork)) - expect(generator.next().value).toStrictEqual(expectedYieldAll) - }) - - it("should wait for start action", () => { - const expectedYield = take("app/login") - expect(generator.next().value).toStrictEqual(expectedYield) - }) - - it("should set account", () => { - const expectedYield = put({ - type: "app/set_account", - payload: { address: mockAddress }, - }) - const mockedAction = { - type: "app/login", - payload: { address: mockAddress }, - } - expect(generator.next(mockedAction).value).toStrictEqual(expectedYield) - }) - - it("should fork background tasks", () => { - const expectedYield = fork(runTasks) - expect(generator.next().value).toStrictEqual(expectedYield) - }) - - it("should wait for stop action", () => { - expect(generator.next(mockTask).value).toStrictEqual(take("app/logout")) - }) - - it("should cancel background task", () => { - const mockedAction = { type: "app/logout" } - expect(generator.next(mockedAction).value).toStrictEqual(cancel(mockTask)) - }) - - it("should dispatch action that restets the store", () => { - expect(generator.next().value).toStrictEqual( - put({ type: "app/reset_store" }) - ) - }) -}) - -describe("Test account switching saga step by step", () => { - let generator = null - const mockTask = createMockTask() - const mockAddress = "0x0" - - beforeAll(() => { - generator = runTasks() - }) - - it("should fork all sagas", () => { - const expectedAllYield = all(loginRequiredSagas.map(fork)) - expect(generator.next().value).toStrictEqual(expectedAllYield) - }) - - it("should wait for stop action", () => { - const expectedTakeYield = take("app/account_changed") - expect(generator.next(mockTask).value).toStrictEqual(expectedTakeYield) - }) - - it("should cancel tasks", () => { - const mockedAction = { - type: "app/account_changed", - payload: { address: mockAddress }, - } - - const expectedCancelYield = cancel(mockTask) - expect(generator.next(mockedAction).value).toStrictEqual( - expectedCancelYield - ) - }) - - it("should dispatch reset store action", () => { - const expectedPutYield = put({ type: "app/reset_store" }) - expect(generator.next().value).toStrictEqual(expectedPutYield) - }) - - it("should disptach set account action", () => { - const expectedPutYield = put({ - type: "app/set_account", - payload: { address: mockAddress }, - }) - expect(generator.next().value).toStrictEqual(expectedPutYield) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/utils/constants.utils.test.js b/solidity-v1/dashboard/src/__tests__/utils/constants.utils.test.js deleted file mode 100644 index ed35a6f7d3..0000000000 --- a/solidity-v1/dashboard/src/__tests__/utils/constants.utils.test.js +++ /dev/null @@ -1,40 +0,0 @@ -import { renderDynamicConstant } from "../../utils/constants.utils" - -describe("Test renderDynamicConstant function", () => { - const exampleString = - "My favourite fruits are ${fruit1}, ${fruit2} and ${fruit3}. ${This should not be replaced" - const expectedResult = - "My favourite fruits are apple, banana and strawberry. ${This should not be replaced" - - it("Should properly replace arguments inside string", () => { - const result = renderDynamicConstant( - exampleString, - "apple", - "banana", - "strawberry" - ) - - expect(result).toBe(expectedResult) - }) - - it("Should properly replace arguments inside string even with too many arguments given", () => { - const result = renderDynamicConstant( - exampleString, - "apple", - "banana", - "strawberry", - "pineapple", - "orange" - ) - - expect(result).toBe(expectedResult) - }) - - it("Should throw an error when too few arguments are given", () => { - const errorMsg = "Too few arguments were given!" - - expect(() => renderDynamicConstant(exampleString, "apple")).toThrow( - new Error(errorMsg) - ) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/utils/coverage-pools.utils.test.js b/solidity-v1/dashboard/src/__tests__/utils/coverage-pools.utils.test.js deleted file mode 100644 index adbfcfe7d6..0000000000 --- a/solidity-v1/dashboard/src/__tests__/utils/coverage-pools.utils.test.js +++ /dev/null @@ -1,67 +0,0 @@ -import moment from "moment" -import { getPendingWithdrawalStatus } from "../../utils/coverage-pools.utils" -import { PENDING_WITHDRAWAL_STATUS } from "../../constants/constants" - -describe("Test getPendingWithdrawalStatus function", () => { - let currentDate - let withdrawalDelay - let withdrawalTimeout - - beforeEach(() => { - currentDate = moment() - withdrawalDelay = 1814400 // 21 days - withdrawalTimeout = 259200 // 3 days - }) - - it("Should return status pending when current date is before end of withdrawal delay date", () => { - const withdrawalInitiatedTimestamp = currentDate.subtract(1, "days").unix() - - const result = getPendingWithdrawalStatus( - withdrawalDelay, - withdrawalTimeout, - withdrawalInitiatedTimestamp - ) - - expect(result).toBe(PENDING_WITHDRAWAL_STATUS.PENDING) - }) - - it("Should return status available to withdraw when current date is after end of withdrawal delay date but before end of withdrawal timeout date", () => { - const withdrawalInitiatedTimestamp = currentDate - .subtract(withdrawalDelay, "seconds") - .subtract(1, "days") - .unix() - - const result = getPendingWithdrawalStatus( - withdrawalDelay, - withdrawalTimeout, - withdrawalInitiatedTimestamp - ) - - expect(result).toBe(PENDING_WITHDRAWAL_STATUS.AVAILABLE_TO_WITHDRAW) - }) - - it("Should return status expire when current date is after end of timeout date", () => { - const withdrawalInitiatedTimestamp = currentDate - .subtract(withdrawalDelay, "seconds") - .subtract(withdrawalTimeout, "seconds") - .subtract(1, "days") - .unix() - - const result = getPendingWithdrawalStatus( - withdrawalDelay, - withdrawalTimeout, - withdrawalInitiatedTimestamp - ) - - expect(result).toBe(PENDING_WITHDRAWAL_STATUS.EXPIRED) - }) - - it("Should return status none when withdrawal initiated timestamp is not provided", () => { - const result = getPendingWithdrawalStatus( - withdrawalDelay, - withdrawalTimeout - ) - - expect(result).toBe(PENDING_WITHDRAWAL_STATUS.NONE) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/utils/token.test.js b/solidity-v1/dashboard/src/__tests__/utils/token.test.js deleted file mode 100644 index eb1ebe0b95..0000000000 --- a/solidity-v1/dashboard/src/__tests__/utils/token.test.js +++ /dev/null @@ -1,140 +0,0 @@ -import BigNumber from "bignumber.js" -import { Token } from "../../utils/token.utils" - -describe("Test `Token` class", () => { - const name = "Test Token" - const decimals = 18 - const symbol = "TT" - const smallestPrecisionUnit = "smallestTT" - const smallestPrecisionDecimals = 14 - const icon = null - const decimalsToDisplay = 5 - const TestToken = new Token( - name, - decimals, - symbol, - smallestPrecisionUnit, - smallestPrecisionDecimals, - icon, - decimalsToDisplay - ) - - it("should create the Token instance correctly", () => { - expect(TestToken.name).toBe(name) - expect(TestToken.decimals).toBe(decimals) - expect(TestToken.symbol).toBe(symbol) - expect(TestToken.smallestPrecisionUnit).toBe(smallestPrecisionUnit) - expect(TestToken.smallestPrecisionDecimals).toBe(smallestPrecisionDecimals) - expect(TestToken.icon).toBe(icon) - expect(TestToken.decimalsToDisplay).toBe(decimalsToDisplay) - }) - - describe("displayAmount test", () => { - it("should return 0 if an amount param was not provided", () => { - const result = TestToken.displayAmount() - - expect(result).toBe("0") - }) - - it("should return amount between 0 and <... correctly", () => { - const amount = "9000000000000" // 0.000009 - - const result = TestToken.displayAmount(amount) - - // The smallest amount to display is 0.00001 - expect(result).toBe("<0.00001") - }) - - it.each` - amount | expectedResult - ${"90000000000000"} | ${"0.00009"} - ${"10000000000000"} | ${"0.00001"} - ${"1980000000000000"} | ${"0.00198"} - `("should return $amount correctly", ({ amount, expectedResult }) => { - const result = TestToken.displayAmount(amount) - - expect(result).toBe(expectedResult) - }) - - it("should return the amount with separators and w/o trailing zeros", () => { - const amountWithTrailingZeros = "100000200000000000000000" // 100,000.2 - const amountWithLongDecimals = "100000244332211550000000" // 100,000.24433221155 - - const result1 = TestToken.displayAmount(amountWithTrailingZeros) - const result2 = TestToken.displayAmount(amountWithLongDecimals) - - expect(result1).toBe("100,000.2") - expect(result2).toBe("100,000.24433") - }) - }) - - it("should return amount with symbol", () => { - const amount = "100000000000000000000000" // 100,000 - - const result = TestToken.displayAmountWithSymbol(amount) - - expect(result).toBe(`100,000 ${TestToken.symbol}`) - }) - - describe("displayAmountWithMetricSuffix test", () => { - it("should return amount with metric suffix", () => { - const amount = "123456123400000000000000" // 123,456,1234 - const milions = "1639000000000000000000000" // 1,639,000 - const milions2 = "2230639000000000000000000000" // 2,230,639,000 - - const result = TestToken.displayAmountWithMetricSuffix(amount) - const resultMilions = TestToken.displayAmountWithMetricSuffix(milions) - const resultMilions2 = TestToken.displayAmountWithMetricSuffix(milions2) - - expect(result).toBe("123.45K") - expect(resultMilions).toBe("1.63M") - expect(resultMilions2).toBe("2,230.63M") - }) - - it("should return 0 if the amount is 0", () => { - expect(TestToken.displayAmountWithMetricSuffix(0)).toBe("0") - }) - - it("should return 0 if the amount is null", () => { - expect(TestToken.displayAmountWithMetricSuffix(null)).toBe("0") - }) - - it("should return 0 if the amount is undefined", () => { - expect(TestToken.displayAmountWithMetricSuffix()).toBe("0") - expect(TestToken.displayAmountWithMetricSuffix(undefined)).toBe("0") - }) - - it("should return a `<...` if the amount is samllest than smallestDecimalsPrercision", () => { - const smallAmount = new BigNumber(8).times( - new BigNumber(10).pow(TestToken.decimalsToDisplay - 1) // 0.00008 - ) - - expect(TestToken.displayAmountWithMetricSuffix(smallAmount)).toBe( - "<0.00001" - ) - }) - }) - - it("should convert token amount to readable format", () => { - const tokenAmount = "100000000000000000000000" // 100,000 - - const result = TestToken.toTokenUnit(tokenAmount).toString() - const expectedValue = new BigNumber(tokenAmount).div( - new BigNumber(10).pow(new BigNumber(TestToken.decimals)) - ) - - expect(result).toBe(expectedValue.toString()) - expect(TestToken.toTokenUnit().toString()).toBe("0") - }) - - it("should convert readable amount to min token unit", () => { - const amount = 100000 - const expectedValue = new BigNumber(amount).times( - new BigNumber(10).pow(TestToken.decimals) - ) - - expect(TestToken.fromTokenUnit(amount).toString()).toBe( - expectedValue.toString() - ) - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/utils/utils.test.js b/solidity-v1/dashboard/src/__tests__/utils/utils.test.js deleted file mode 100644 index cb820845dc..0000000000 --- a/solidity-v1/dashboard/src/__tests__/utils/utils.test.js +++ /dev/null @@ -1,46 +0,0 @@ -import { displayPercentageValue, isString } from "../../utils/general.utils" - -describe("Test the `displayPercentageValue`", () => { - test("should display correctly if the value is bigger than `max` param", () => { - const percentageValue = 150 - const min = 0.01 - const max = 149 - - const result = displayPercentageValue(percentageValue, false, min, max) - - expect(result).toEqual(`>${max}%`) - }) - - test("should display correctly if the value is less than `min` param", () => { - const percentageValue = 0.00123 - const min = 0.01 - - const result = displayPercentageValue(percentageValue, true, min) - - expect(result).toEqual(`<${min}%`) - }) - - test("should display correctly if the value is between `min` and `max`", () => { - const percentageValue = 100.47 - - const result = displayPercentageValue(percentageValue) - - expect(result).toEqual(`${percentageValue}%`) - }) -}) - -describe("Test `isString`", () => { - test("should return true if the value is primitive string", () => { - expect(isString("string")).toBeTruthy() - }) - - test("should return true if the value is String object", () => { - // eslint-disable-next-line no-new-wrappers - expect(isString(new String("string"))).toBeTruthy() - }) - - test("should return false if the value is not a primitive string or String object", () => { - expect(isString(1)).toBeFalsy() - expect(isString(false)).toBeFalsy() - }) -}) diff --git a/solidity-v1/dashboard/src/__tests__/web3/contracts.test.js b/solidity-v1/dashboard/src/__tests__/web3/contracts.test.js deleted file mode 100644 index 7cd4ebc51d..0000000000 --- a/solidity-v1/dashboard/src/__tests__/web3/contracts.test.js +++ /dev/null @@ -1,45 +0,0 @@ -import { - resolveWeb3Deferred, - getContractDeploymentBlockNumber, -} from "../../contracts" -import { KEEP_TOKEN_CONTRACT_NAME } from "../../constants/constants" - -jest.mock("@keep-network/keep-core/artifacts/KeepToken.json", () => ({ - abi: [], - networks: { 1: { addrress: "0x0", transactionHash: "0x00" } }, -})) - -describe("Test `getContractDeploymentBlockNumber` function", () => { - const mockedWeb3 = { - eth: { - getTransaction: jest.fn().mockReturnValue({ blockNumber: 50 }), - }, - } - - beforeAll(() => { - resolveWeb3Deferred(mockedWeb3) - }) - - it("should fetch the contract deployment block from a node", async () => { - const result = await getContractDeploymentBlockNumber( - KEEP_TOKEN_CONTRACT_NAME - ) - - expect(mockedWeb3.eth.getTransaction).toHaveBeenCalledWith("0x00") - expect(result).toEqual("50") - }) - - it("should return the block number from cache if it exists by contract name", async () => { - const result = await getContractDeploymentBlockNumber( - KEEP_TOKEN_CONTRACT_NAME - ) - - const result2 = await getContractDeploymentBlockNumber( - KEEP_TOKEN_CONTRACT_NAME - ) - - expect(mockedWeb3.eth.getTransaction).toBeCalledTimes(1) - expect(result).toEqual("50") - expect(result).toEqual(result2) - }) -}) diff --git a/solidity-v1/dashboard/src/actions/coverage-pool.js b/solidity-v1/dashboard/src/actions/coverage-pool.js deleted file mode 100644 index 8d46268822..0000000000 --- a/solidity-v1/dashboard/src/actions/coverage-pool.js +++ /dev/null @@ -1,184 +0,0 @@ -export const COVERAGE_POOL_FETCH_TVL_REQUEST = "coverage_pool/fetch_tvl_request" -export const COVERAGE_POOL_FETCH_TVL_START = "coverage_pool/fetch_tvl_start" -export const COVERAGE_POOL_FETCH_TVL_SUCCESS = "coverage_pool/fetch_tvl_success" -export const COVERAGE_POOL_FETCH_TVL_ERROR = "coverage_pool/fetch_tvl_error" - -export const COVERAGE_POOL_FETCH_COV_POOL_DATA_REQUEST = - "coverage_pool/fetch_cov_pool_data_request" -export const COVERAGE_POOL_FETCH_COV_POOL_DATA_START = - "coverage_pool/fetch_cov_pool_data_start" -export const COVERAGE_POOL_FETCH_COV_POOL_DATA_SUCCESS = - "coverage_pool/fetch_cov_pool_data_success" -export const COVERAGE_POOL_FETCH_COV_POOL_DATA_ERROR = - "coverage_pool/fetch_cov_pool_data_error" - -export const COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED = - "coverage_pool/withdrawal_initiated_event_emitted" - -export const COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED = - "coverage_pool/withdrawal_completed_event_emitted" - -export const RISK_MANAGER_AUCTION_CREATED_EVENT_EMITTED = - "risk_manager/auction_created_event_emitted" - -export const RISK_MANAGER_AUCTION_CLOSED_EVENT_EMITTED = - "risk_manager/auction_closed_event_emitted" - -export const COVERAGE_POOL_WITHDRAW_ASSET_POOL = "coverage_pool/withdraw" -export const COVERAGE_POOL_CLAIM_TOKENS_FROM_WITHDRAWAL = - "coverage_pool/claim_tokens" - -export const COVERAGE_POOL_COV_TOKEN_UPDATED = "coverage_pool/cov_token_updated" - -export const COVERAGE_POOL_FETCH_APY_REQUEST = "coverage_pool/fetch_apy_request" -export const COVERAGE_POOL_FETCH_APY_START = "coverage_pool/fetch_apy_start" -export const COVERAGE_POOL_FETCH_APY_SUCCESS = "coverage_pool/fetch_apy_success" -export const COVERAGE_POOL_FETCH_APY_ERROR = "coverage_pool/fetch_apy_error" -export const COVERAGE_POOL_REINITAITE_WITHDRAW = - "coverage_pool/reinitiate_withdraw" - -export const COVERAGE_POOL_INCREASE_WITHDRAWAL = - "coverage_pool/increase_withdrawal" - -export const fetchTvlStart = () => { - return { - type: COVERAGE_POOL_FETCH_TVL_START, - } -} - -export const fetchTvlSuccess = (data) => { - return { - type: COVERAGE_POOL_FETCH_TVL_SUCCESS, - payload: data, - } -} - -export const fetchTvlRequest = () => { - return { - type: COVERAGE_POOL_FETCH_TVL_REQUEST, - } -} - -export const fetchCovPoolDataStart = () => { - return { - type: COVERAGE_POOL_FETCH_COV_POOL_DATA_START, - } -} - -export const fetchCovPoolDataRequest = (address) => { - return { - type: COVERAGE_POOL_FETCH_COV_POOL_DATA_REQUEST, - payload: { address }, - } -} - -/** - * @param {Object} data Cov token info. - * @param {string} data.shareOfPool The share of the pool. - * @param {string} data.covBalance The user's token balance. - * @param {string} data.covTotalSupply The total supply of the cov token. - * @param {string} data.estimatedRewards The estimated rewards. - * - * @return { { type: string, payload: object }} - */ -export const fetchCovPoolDataSuccess = (data) => { - return { - type: COVERAGE_POOL_FETCH_COV_POOL_DATA_SUCCESS, - payload: data, - } -} - -export const coveragePoolWithdrawalInitiatedEventEmitted = (event) => { - return { - type: COVERAGE_POOL_WITHDRAWAL_INITIATED_EVENT_EMITTED, - payload: { event }, - } -} - -export const coveragePoolWithdrawalCompletedEventEmitted = (event) => { - return { - type: COVERAGE_POOL_WITHDRAWAL_COMPLETED_EVENT_EMITTED, - payload: { event }, - } -} - -export const riskManagerAuctionCreatedEventEmitted = (event) => { - return { - type: RISK_MANAGER_AUCTION_CREATED_EVENT_EMITTED, - payload: { event }, - } -} - -export const riskManagerAuctionClosedEventEmitted = (event) => { - return { - type: RISK_MANAGER_AUCTION_CLOSED_EVENT_EMITTED, - payload: { event }, - } -} - -/** - * @param {Object} data Cov token info. - * @param {string} data.shareOfPool The share of the pool. Tha value should be - * between [0, 1]. - * @param {string} data.covBalance The amount of tokens owned by user in the - * smallest unit (18 decimals precision). - * @param {string} data.covTotalSupply The total supply of the cov token in the - * samallest unit (18 decimals precision). - * - * @return { { type: string, payload: object }} - */ -export const covTokenUpdated = (data) => { - return { - type: COVERAGE_POOL_COV_TOKEN_UPDATED, - payload: data, - } -} - -export const withdrawAssetPool = (amount, meta) => { - return { - type: COVERAGE_POOL_WITHDRAW_ASSET_POOL, - payload: { - amount, - }, - meta, - } -} - -export const claimTokensFromWithdrawal = (meta) => { - return { - type: COVERAGE_POOL_CLAIM_TOKENS_FROM_WITHDRAWAL, - meta, - } -} - -export const fetchAPYRequest = () => { - return { - type: COVERAGE_POOL_FETCH_APY_REQUEST, - } -} - -export const fetchAPYStart = () => { - return { - type: COVERAGE_POOL_FETCH_APY_START, - } -} - -export const fetchAPYSuccess = (apy) => { - return { - type: COVERAGE_POOL_FETCH_APY_SUCCESS, - payload: apy, - } -} - -export const reinitiateWithdraw = () => { - return { - type: COVERAGE_POOL_REINITAITE_WITHDRAW, - } -} - -export const increaseWithdrawal = (amount) => { - return { - type: COVERAGE_POOL_INCREASE_WITHDRAWAL, - payload: { amount }, - } -} diff --git a/solidity-v1/dashboard/src/actions/index.js b/solidity-v1/dashboard/src/actions/index.js deleted file mode 100644 index 90b2d4171f..0000000000 --- a/solidity-v1/dashboard/src/actions/index.js +++ /dev/null @@ -1,71 +0,0 @@ -import * as KeepBalanceActions from "./keep-balance" -import * as modal from "./modal" - -// COPY STAKE -export const FETCH_DELEGATIONS_FROM_OLD_STAKING_CONTRACT_REQUEST = - "copy-stake/fetch_old_delegations_request" -export const FETCH_DELEGATIONS_FROM_OLD_STAKING_CONTRACT_SUCCESS = - "copy-stake/fetch_old_delegations_success" -export const FETCH_DELEGATIONS_FROM_OLD_STAKING_CONTRACT_FAILURE = - "copy-stake/fetch_old_delegations_failure" -export const INCREMENT_STEP = "copy-stake/increment_step" -export const DECREMENT_STEP = "copy-stake/decrement_step" -export const RESET_COPY_STAKE_FLOW = "copy-stake/reset_flow" -export const SET_STRATEGY = "copy-stake/set_strategy" -export const SET_DELEGATION = "copy-stake/set_delegation" -export const COPY_STAKE_REQUEST = "copy-stake/copy_stake_request" - -// OPERATOR -export const FETCH_OPERATOR_DELEGATIONS_RERQUEST = - "operator/fetch_delegations_request" -export const FETCH_OPERATOR_DELEGATIONS_START = - "operator/fetch_delegations_start" -export const FETCH_OPERATOR_DELEGATIONS_SUCCESS = - "operator/fetch_delegations_success" -export const FETCH_OPERATOR_DELEGATIONS_FAILURE = - "operator/fetch_delegations_failure" -export const FETCH_OPERATOR_SLASHED_TOKENS_RERQUEST = - "operator/fetch_slashed_tokens_request" -export const FETCH_OPERATOR_SLASHED_TOKENS_START = - "operator/fetch_slashed_tokens_start" -export const FETCH_OPERATOR_SLASHED_TOKENS_SUCCESS = - "operator/fetch_slashed_tokens_success" -export const FETCH_OPERATOR_SLASHED_TOKENS_FAILURE = - "operator/fetch_slashed_tokens_failure" -export const OPERATOR_DELEGATION_UNDELEGATED = "operator/delegation_undelegated" -export const OPERATR_DELEGATION_CANCELED = "operator/delegation_canceled" - -// AUTHORIZATION RANDOM BEACON -export const FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_REQUEST = - "authorization_beacon/fetch_auth_data_request" -export const FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_START = - "authorization_beacon/fetch_auth_data_start" -export const FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_SUCCESS = - "authorization_beacon/fetch_auth_data_success" -export const FETCH_KEEP_RANDOM_BEACON_AUTH_DATA_FAILURE = - "authorization_beacon/fetch_auth_data_failure" -export const KEEP_RANDOM_BEACON_AUTHORIZED = - "authorization_beacon/beacon_authorized" - -// AUTHORIZATION THRESHOLD -export const FETCH_THRESHOLD_AUTH_DATA_REQUEST = - "threshold/fetch_auth_data_request" -export const FETCH_THRESHOLD_AUTH_DATA_START = "threshold/fetch_auth_data_start" -export const FETCH_THRESHOLD_AUTH_DATA_SUCCESS = - "threshold/fetch_auth_data_success" -export const FETCH_THRESHOLD_AUTH_DATA_FAILURE = - "threshold/fetch_auth_data_failure" -export const THRESHOLD_AUTHORIZED = "threshold/contract_authorized" -export const THRESHOLD_STAKED_TO_T = "threshold/staked_to_t" -export const ADD_STAKE_TO_THRESHOLD_AUTH_DATA = - "threshold/add_stake_to_threshold_auth_data" -export const REMOVE_STAKE_FROM_THRESHOLD_AUTH_DATA = - "threshold/remove_stake_from_threshold_auth_data" - -export const keepBalanceActions = { - ...KeepBalanceActions, -} - -export const modalActions = { - ...modal, -} diff --git a/solidity-v1/dashboard/src/actions/keep-balance.js b/solidity-v1/dashboard/src/actions/keep-balance.js deleted file mode 100644 index 8f9edc193b..0000000000 --- a/solidity-v1/dashboard/src/actions/keep-balance.js +++ /dev/null @@ -1,27 +0,0 @@ -export const KEEP_TOKEN_TRANSFER_FROM_EVENT_EMITTED = - "keep_token/transfer_from_event_emitted" -export const KEEP_TOKEN_TRANSFER_TO_EVENT_EMITTED = - "keep_token/transfer_to_event_emitted" - -export const KEEP_TOKEN_TRANSFERRED_FROM = "keep-token/transferred_from" -export const KEEP_TOKEN_TRANSFERRED_TO = "keep-token/transferred_to" - -export const KEEP_TOKEN_BALANCE_REQUEST = "keep-token/balance_request" -export const KEEP_TOKEN_BALANCE_REQUEST_SUCCESS = - "keep-token/balance_request_success" -export const KEEP_TOKEN_BALANCE_REQUEST_FAILURE = - "keep-token/balance_request_failure" - -export const keepTokenTransferFromEventEmitted = (event) => { - return { - type: KEEP_TOKEN_TRANSFER_FROM_EVENT_EMITTED, - payload: { event }, - } -} - -export const keepTokenTransferToEventEmitted = (event) => { - return { - type: KEEP_TOKEN_TRANSFER_TO_EVENT_EMITTED, - payload: { event }, - } -} diff --git a/solidity-v1/dashboard/src/actions/keep-to-t-staking.js b/solidity-v1/dashboard/src/actions/keep-to-t-staking.js deleted file mode 100644 index 0f3b47609f..0000000000 --- a/solidity-v1/dashboard/src/actions/keep-to-t-staking.js +++ /dev/null @@ -1,36 +0,0 @@ -import { THRESHOLD_AUTHORIZED, THRESHOLD_STAKED_TO_T } from "./index" - -export const THRESHOLD_STAKE_KEEP_EVENT_EMITTED = - "threshold/stake_keep_event_emitted" -export const STAKE_KEEP_TO_T = "threshold/stake_keep_to_t" - -export const thresholdStakeKeepEventEmitted = (event) => { - return { - type: THRESHOLD_STAKE_KEEP_EVENT_EMITTED, - payload: { event }, - } -} - -export const thresholdContractAuthorized = (operatorAddress) => { - return { - type: THRESHOLD_AUTHORIZED, - payload: { operatorAddress }, - } -} - -export const stakedToT = (operatorAddress) => { - return { - type: THRESHOLD_STAKED_TO_T, - payload: { operatorAddress }, - } -} - -export const stakeKeepToT = (data) => { - return { - type: STAKE_KEEP_TO_T, - payload: { - operator: data.operatorAddress, - isAuthorized: data.isAuthorized, - }, - } -} diff --git a/solidity-v1/dashboard/src/actions/messages.js b/solidity-v1/dashboard/src/actions/messages.js deleted file mode 100644 index c06dca8e46..0000000000 --- a/solidity-v1/dashboard/src/actions/messages.js +++ /dev/null @@ -1,45 +0,0 @@ -export const ADD_MESSAGE = "ADD_MESSAGE" -export const REMOVE_MESSAGE = "REMOVE_MESSAGE" -export const CLOSE_MEESSAGE = "CLOSE_MEESSAGE" -export const SHOW_MESSAGE = "SHOW_MESSAGE" - -let messageId = 1 - -export class Message { - static create(options) { - return new Message(options) - } - - constructor(options) { - Object.assign(this, options) - this.id = messageId++ - } - - id - title - content - type - sticky - classes -} - -export const showMessage = (options) => { - return { - type: SHOW_MESSAGE, - payload: Message.create(options), - } -} - -export const showCreatedMessage = (message) => { - return { - type: SHOW_MESSAGE, - payload: message, - } -} - -export const closeMessage = (id) => { - return { - type: CLOSE_MEESSAGE, - payload: id, - } -} diff --git a/solidity-v1/dashboard/src/actions/modal.js b/solidity-v1/dashboard/src/actions/modal.js deleted file mode 100644 index ba89befd69..0000000000 --- a/solidity-v1/dashboard/src/actions/modal.js +++ /dev/null @@ -1,31 +0,0 @@ -export const OPEN_MODAL = "modal/open" -export const CLOSE_MODAL = "modal/close" -export const CONFIRM = "modal/confirm" -export const CANCEL = "modal/cancel" - -export const showModal = (options) => { - return { - type: OPEN_MODAL, - payload: options, - } -} - -export const hideModal = (options) => { - return { - type: CLOSE_MODAL, - payload: options, - } -} - -export const openConfirmationModal = (modalType, modalProps = {}) => { - return { - type: OPEN_MODAL, - payload: { - modalProps: { - ...modalProps, - isConfirmationModal: true, - }, - modalType, - }, - } -} diff --git a/solidity-v1/dashboard/src/actions/web3.js b/solidity-v1/dashboard/src/actions/web3.js deleted file mode 100644 index e08901fd1e..0000000000 --- a/solidity-v1/dashboard/src/actions/web3.js +++ /dev/null @@ -1,205 +0,0 @@ -import { - TOKEN_STAKING_CONTRACT_NAME, - KEEP_BONDING_CONTRACT_NAME, - KEEP_TOKEN_CONTRACT_NAME, - OPERATOR_CONTRACT_NAME, -} from "../constants/constants" - -const WEB3_SEND_TRANSACTION = "web3/send_transaction" - -export const undelegateStake = (operator, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: TOKEN_STAKING_CONTRACT_NAME, - methodName: "undelegate", - args: [operator], - }, - meta, - } -} - -export const cancelStake = (operator, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: TOKEN_STAKING_CONTRACT_NAME, - methodName: "cancelStake", - args: [operator], - }, - meta, - } -} - -export const keepTokenApproveAndCall = (data, meta) => { - const { tokenAddress, amount, extraData } = data - - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_TOKEN_CONTRACT_NAME, - methodName: "approveAndCall", - args: [tokenAddress, amount, extraData], - }, - meta, - } -} - -export const depositEthForOperator = (operatorAddress, amountInWei, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_BONDING_CONTRACT_NAME, - methodName: "deposit", - args: [operatorAddress], - options: { value: amountInWei }, - }, - meta, - } -} - -export const withdrawUnbondedEth = (weiToWithdraw, operatorAddress, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_BONDING_CONTRACT_NAME, - methodName: "withdraw", - args: [weiToWithdraw, operatorAddress], - }, - meta, - } -} - -export const withdrawUnbondedEthAsManagedGrantee = ( - weiToWithdraw, - operatorAddress, - managedGrantAddress, - meta -) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_BONDING_CONTRACT_NAME, - methodName: "withdrawAsManagedGrantee", - args: [weiToWithdraw, operatorAddress, managedGrantAddress], - }, - meta, - } -} - -export const authorizeOperatorContract = (data, meta) => { - const { operatorAddress, operatorContractAddress } = data - - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: TOKEN_STAKING_CONTRACT_NAME, - methodName: "authorizeOperatorContract", - args: [operatorAddress, operatorContractAddress], - }, - meta, - } -} - -export const authorizeSortitionPoolContract = (data, meta) => { - const { operatorAddress, sortitionPoolAddress } = data - - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_BONDING_CONTRACT_NAME, - methodName: "authorizeSortitionPoolContract", - args: [operatorAddress, sortitionPoolAddress], - }, - meta, - } -} - -export const deauthorizeSortitionPoolContract = (data, meta) => { - const { operatorAddress, sortitionPoolAddress } = data - - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: KEEP_BONDING_CONTRACT_NAME, - methodName: "deauthorizeSortitionPoolContract", - args: [operatorAddress, sortitionPoolAddress], - }, - meta, - } -} - -export const recoverStake = (operator, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: TOKEN_STAKING_CONTRACT_NAME, - methodName: "recoverStake", - args: [operator], - }, - meta, - } -} - -export const releaseTokens = (data, meta) => { - return { - type: "token-grant/release_tokens", - payload: data, - meta, - } -} - -export const commitTopUp = (operator, meta) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: TOKEN_STAKING_CONTRACT_NAME, - methodName: "commitTopUp", - args: [operator], - }, - meta, - } -} - -export const withdrawGroupMemberRewards = ( - operatorAddress, - groupIndex, - meta -) => { - return { - type: WEB3_SEND_TRANSACTION, - payload: { - contractName: OPERATOR_CONTRACT_NAME, - methodName: "withdrawGroupMemberRewards", - args: [operatorAddress, groupIndex], - }, - meta, - } -} - -export const withdrawAllLiquidityRewards = ( - liquidityRewardPair, - amount, - meta -) => { - return { - type: "liquidity_rewards/withdraw_tokens", - payload: { - liquidityRewardPair, - amount, - }, - meta, - } -} - -export const addMoreLpTokens = (liquidityRewardPair, amount, address, meta) => { - return { - type: "liquidity_rewards/stake_tokens", - payload: { - liquidityRewardPair, - amount, - address, - }, - meta, - } -} diff --git a/solidity-v1/dashboard/src/components/AccordionDefaultItemHeading.jsx b/solidity-v1/dashboard/src/components/AccordionDefaultItemHeading.jsx deleted file mode 100644 index 382a629405..0000000000 --- a/solidity-v1/dashboard/src/components/AccordionDefaultItemHeading.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from "react" -import { - AccordionItemHeading, - AccordionItemButton, - AccordionItemState, -} from "react-accessible-accordion" -import * as Icons from "../components/Icons" - -const AccordionDefaultItemHeading = ({ - children, - className = "", - ...accordionItemButtonProps -}) => { - return ( - - - {({ expanded }) => { - return ( - - {children} - {expanded ? : } - - ) - }} - - - ) -} - -export default AccordionDefaultItemHeading diff --git a/solidity-v1/dashboard/src/components/ActiveLiquidityRewardCard.jsx b/solidity-v1/dashboard/src/components/ActiveLiquidityRewardCard.jsx deleted file mode 100644 index ef8837d14a..0000000000 --- a/solidity-v1/dashboard/src/components/ActiveLiquidityRewardCard.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from "react" -import LiquidityRewardCard from "./LiquidityRewardCard" - -const ActiveLiquidityRewardCard = ({ - poolId, - title, - MainIcon, - SecondaryIcon, - viewPoolLink, - apy, - // Percentage of the deposited liquidity tokens in the `LPRewards` pool. - percentageOfTotalPool, - // Current reward balance earned in `LPRewards` contract. - rewardBalance = "0", - // Balance of the wrapped token. - wrappedTokenBalance = "0", - // Balance of wrapped token deposited in the `LPRewards` contract. - lpBalance = "0", - isFetching, - wrapperClassName = "", - addLpTokens, - withdrawLiquidityRewards, - isAPYFetching, - pool, - children, -}) => { - return ( - - - - - {children} - - - - ) -} - -export default ActiveLiquidityRewardCard diff --git a/solidity-v1/dashboard/src/components/AddToCalendar.jsx b/solidity-v1/dashboard/src/components/AddToCalendar.jsx deleted file mode 100644 index 2d85edeaad..0000000000 --- a/solidity-v1/dashboard/src/components/AddToCalendar.jsx +++ /dev/null @@ -1,146 +0,0 @@ -import React, { useMemo } from "react" -import moment from "moment" -import { CompoundDropdown as Dropdown } from "./Dropdown" -import * as Icons from "./Icons" -import { ADD_TO_CALENDAR_OPTIONS } from "../constants/constants" -import { useWeb3Context } from "./WithWeb3Context" -import { renderDynamicConstant } from "../utils/constants.utils" - -const makeTime = (time) => { - return moment(time) - .toISOString() - .replace(/[-:]|\.\d{3}/g, "") -} - -const makeUrl = (url, event) => { - let finalUrl = url + "?" - Object.entries(event).forEach(([key, value], index) => { - if (!!value) { - finalUrl = finalUrl + `${key}=${encodeURIComponent(value)}` - if (index !== Object.entries(event).length - 1) { - finalUrl = finalUrl + "&" - } - } - }) - return finalUrl -} - -const makeGoogleCalendarUrl = (event) => { - return makeUrl("https://calendar.google.com/calendar/render", { - action: "TEMPLATE", - dates: `${makeTime(event.startsAt)}/${makeTime(event.endsAt)}`, - location: event.location, - text: event.name, - details: event.details, - }) -} - -const makeICSCalendarUrl = (event) => { - const components = ["BEGIN:VCALENDAR", "VERSION:2.0", "BEGIN:VEVENT"] - - if (typeof document !== "undefined") { - components.push(`URL:${document.URL}`) - } - - components.push( - `DTSTART:${makeTime(event.startsAt)}`, - `DTEND:${makeTime(event.endsAt)}`, - `SUMMARY:${event.name}`, - `DESCRIPTION:${event.details}`, - `LOCATION:${event.details}`, - "END:VEVENT", - "END:VCALENDAR" - ) - - return encodeURI(`data:text/calendar;charset=utf8,${components.join("\n")}`) -} - -const calendars = [ - { - label: "Google Calendar", - value: ADD_TO_CALENDAR_OPTIONS.GOOGLE_CALENDER, - calendarEventBuilder: makeGoogleCalendarUrl, - }, - { - label: "Apple Calendar", - value: ADD_TO_CALENDAR_OPTIONS.APPLE_CALENDAR, - calendarEventBuilder: makeICSCalendarUrl, - }, -] - -const AddToCalendar = ({ - name = "New Event", - details = "Event details", - location = "http://localhost:3000/overview", - startsAt = moment().unix(), // unix timestamp - endsAt = moment().add(2, "hours").unix(), // unix timestamp - className = "", -}) => { - const { yourAddress } = useWeb3Context() - - const locationWithInsertedAddress = useMemo(() => { - if (!yourAddress) return location - return renderDynamicConstant(location, yourAddress) - }, [yourAddress, location]) - - const { formattedStartsAt, formattedEndsAt } = useMemo(() => { - const formattedStartsAt = moment - .unix(startsAt) - .format("YYYY-MM-DD HH:mm:ss") - const formattedEndsAt = moment.unix(endsAt).format("YYYY-MM-DD HH:mm:ss") - - return { - formattedStartsAt, - formattedEndsAt, - } - }, [startsAt, endsAt]) - - const event = { - name, - details, - location: locationWithInsertedAddress, - startsAt: formattedStartsAt, - endsAt: formattedEndsAt, - } - - const onCalendarSelect = (selectedCalendar) => { - const win = window.open(selectedCalendar.calendarEventBuilder(event)) - win.focus() - } - - return ( - - -
- - - ADD TO CALENDAR - -
-
- - {calendars.map((calendar) => { - return ( - - {calendar.label} - - ) - })} - -
- ) -} - -export default AddToCalendar diff --git a/solidity-v1/dashboard/src/components/AddressShortcut.jsx b/solidity-v1/dashboard/src/components/AddressShortcut.jsx deleted file mode 100644 index e9fb2ff384..0000000000 --- a/solidity-v1/dashboard/src/components/AddressShortcut.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React, { useMemo } from "react" -import { shortenAddress } from "../utils/general.utils" -import Tooltip from "./Tooltip" -import CopyToClipboard from "./CopyToClipboard" - -const AddressShortcut = ({ address, classNames }) => { - const addr = useMemo(() => shortenAddress(address), [address]) - - return ( - { - return ( - { - return ( - - ) - }} - > - {copyStatus} - - ) - }} - /> - ) -} - -export default React.memo(AddressShortcut) diff --git a/solidity-v1/dashboard/src/components/AmountForm.jsx b/solidity-v1/dashboard/src/components/AmountForm.jsx deleted file mode 100644 index 97c003e79d..0000000000 --- a/solidity-v1/dashboard/src/components/AmountForm.jsx +++ /dev/null @@ -1,88 +0,0 @@ -import React from "react" -import { withFormik } from "formik" -import FormInput from "./FormInput" -import Button from "./Button" -import { validateAmountInRange, getErrorsObj } from "../forms/common-validators" -import { - normalizeAmount, - formatAmount as formatFormAmount, -} from "../forms/form.utils.js" -import Divider from "./Divider" -import { lte } from "../utils/arithmetics.utils" -import TokenAmount from "./TokenAmount" - -const styles = { - divider: { margin: "2rem -2rem 0", padding: "2rem 2rem 0" }, - availableAmountWrapper: { marginTop: "-1rem", alignItems: "baseline" }, -} - -const AmountForm = ({ - onCancel, - submitBtnText, - availableAmount, - currentAmount, - ...formikProps -}) => { - return ( - <> -
- -
- -  available. -
- -
- - - Cancel - -
- - - ) -} - -const AmountFormWithFormik = withFormik({ - mapPropsToValues: () => ({ - amount: "", - }), - validate: ({ amount }, { availableAmount, minimumAmount }) => { - const errors = {} - - if (lte(amount || 0, 0)) { - errors.amount = "The value should be greater than zero" - } else { - errors.amount = validateAmountInRange( - amount, - availableAmount, - minimumAmount - ) - } - - return getErrorsObj(errors) - }, - handleSubmit: (values, { props }) => props.onBtnClick(values), - displayName: "KEEPTokenAmountForm", -})(AmountForm) - -export default AmountFormWithFormik diff --git a/solidity-v1/dashboard/src/components/ApplicationBox.jsx b/solidity-v1/dashboard/src/components/ApplicationBox.jsx deleted file mode 100644 index 33e4e25570..0000000000 --- a/solidity-v1/dashboard/src/components/ApplicationBox.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react" -import { colors } from "../constants/colors" -import NavLink from "./NavLink" - -const wrapperStyle = { - width: "325px", - border: `1px solid ${colors.grey60}`, - padding: "2rem", -} - -const ApplicationBox = ({ - icon, - name, - websiteUrl, - websiteName, - description, - btnLink, -}) => { - return ( -
- ) -} - -export default React.memo(ApplicationBox) - -const emptyBoxWrapperStyle = { - border: `1px solid ${colors.grey20}`, - padding: "2rem", - width: "325px", - minHeight: "425px", -} -export const EmptyApplicationBox = React.memo(() => ( -
-

Coming Soon

- - Future applications will be listed here. - -
-)) diff --git a/solidity-v1/dashboard/src/components/AuthorizationHistory.jsx b/solidity-v1/dashboard/src/components/AuthorizationHistory.jsx deleted file mode 100644 index 6884d5993b..0000000000 --- a/solidity-v1/dashboard/src/components/AuthorizationHistory.jsx +++ /dev/null @@ -1,58 +0,0 @@ -import React from "react" -import AddressShortcut from "./AddressShortcut" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { DataTable, Column } from "./DataTable" -import Tile from "./Tile" -import { ViewAddressInBlockExplorer } from "./ViewInBlockExplorer" -import { KEEP } from "../utils/token.utils" - -const AuthorizationHistory = ({ contracts }) => { - return ( - - - ( - - )} - /> - ( - - )} - /> - - `${KEEP.displayAmountWithSymbol(stakeAmount)}` - } - /> - ( -
-
{contractName}
- -
- )} - /> -
-
- ) -} - -export default AuthorizationHistory diff --git a/solidity-v1/dashboard/src/components/AuthorizeContracts.jsx b/solidity-v1/dashboard/src/components/AuthorizeContracts.jsx deleted file mode 100644 index 015409c552..0000000000 --- a/solidity-v1/dashboard/src/components/AuthorizeContracts.jsx +++ /dev/null @@ -1,192 +0,0 @@ -import React, { useCallback } from "react" -import AddressShortcut from "./AddressShortcut" -import { SubmitButton } from "./Button" -import { DataTable, Column } from "./DataTable" -import { ViewAddressInBlockExplorer } from "./ViewInBlockExplorer" -import { KEEP } from "../utils/token.utils" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { shortenAddress } from "../utils/general.utils" -import resourceTooltipProps from "../constants/tooltips" -import Tooltip, { TOOLTIP_DIRECTION } from "./Tooltip" -import { AUTH_CONTRACTS_LABEL } from "../constants/constants" - -const AuthorizeContracts = ({ - data, - onAuthorizeBtn, - onDeauthorizeBtn, - onSelectOperator, - selectedOperator, - filterDropdownOptions, - onSuccessCallback, -}) => { - return ( -
- ( - - ), - selectedItemComponent: ( - - ), - allItemsFilterText: "All Operators", - }} - > - ( - - )} - /> - - `${KEEP.displayAmountWithSymbol(stakeAmount)}` - } - /> - ( - ( - - )} - /> - )} - /> - -
- ) -} - -const styles = { - tooltipContentWrapper: { textAlign: "left", minWidth: "15rem" }, -} - -const ContractsToAuthorizeCell = ({ renderAuthContract, contracts }) => { - return
    {contracts.map(renderAuthContract)}
-} - -const AuthorizeContractItem = ({ - contractName, - operatorAddress, - isAuthorized, - operatorContractAddress, - onAuthorizeBtn, - onDeauthorizeBtn, - onSuccessCallback, -}) => { - const onAuthorize = useCallback( - async (awaitingPromise) => { - await onAuthorizeBtn({ operatorAddress, contractName }, awaitingPromise) - }, - [contractName, operatorAddress, onAuthorizeBtn] - ) - - const onDeauthorize = useCallback( - async (awaitingPromise) => { - await onDeauthorizeBtn({ operatorAddress, contractName }, awaitingPromise) - }, - [contractName, operatorAddress, onDeauthorizeBtn] - ) - - const onSuccess = useCallback( - (isAuthorized = true) => { - onSuccessCallback(contractName, operatorAddress, isAuthorized) - }, - [onSuccessCallback, contractName, operatorAddress] - ) - - return ( -
  • -
    -
    -
    {contractName}
    - -
    - {isAuthorized ? ( -
    - - {contractName === AUTH_CONTRACTS_LABEL.TBTC_SYSTEM && ( - onSuccess(false)} - > - deauthorize - - )} -
    - ) : ( - ( - - authorize - - )} - > - Keep Random Beacon Operator contract has been disabled due to  - - the impact of the geth hardfork that occurred on 11 November 2020 - - . - - )} -
    -
  • - ) -} - -const OperatorDropdownItem = React.memo(({ operatorAddress }) => ( - - {shortenAddress(operatorAddress)} - -)) - -export default AuthorizeContracts diff --git a/solidity-v1/dashboard/src/components/AvailableEthAmount.jsx b/solidity-v1/dashboard/src/components/AvailableEthAmount.jsx deleted file mode 100644 index 356c3f5de4..0000000000 --- a/solidity-v1/dashboard/src/components/AvailableEthAmount.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from "react" -import TokenAmount from "./TokenAmount" -import { ETH } from "../utils/token.utils" -import { colors } from "../constants/colors" - -const styles = { - ethAmount: { - textAlign: "right", - padding: "0 0.5rem", - paddingLeft: "1.5rem", - borderRadius: "100px", - border: `1px solid ${colors.grey20}`, - backgroundColor: `${colors.grey10}`, - }, -} - -const AvailableEthAmount = React.memo(({ availableETHInWei }) => { - return ( - - ) -}) - -export default AvailableEthAmount diff --git a/solidity-v1/dashboard/src/components/AvailableTokenForm.jsx b/solidity-v1/dashboard/src/components/AvailableTokenForm.jsx deleted file mode 100644 index 2bd6da949c..0000000000 --- a/solidity-v1/dashboard/src/components/AvailableTokenForm.jsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from "react" -import { SubmitButton } from "./Button" -import { useCustomOnSubmitFormik } from "../hooks/useCustomOnSubmitFormik" -import FormInput from "./FormInput" -import { colors } from "../constants/colors" - -const AvailableTokenForm = ({ - onSubmit, - onCancel, - submitBtnText, - formInputProps, - ...formikProps -}) => { - const onSubmitBtn = useCustomOnSubmitFormik(onSubmit) - - return ( -
    - -
    - - {submitBtnText} - - - Cancel - -
    - - ) -} - -export default React.memo(AvailableTokenForm) diff --git a/solidity-v1/dashboard/src/components/Badge.jsx b/solidity-v1/dashboard/src/components/Badge.jsx deleted file mode 100644 index 7e01a76dac..0000000000 --- a/solidity-v1/dashboard/src/components/Badge.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react" - -const Badge = ({ type = "primary", style, text }) => { - return ( -
    - {text} -
    - ) -} - -export default React.memo(Badge) diff --git a/solidity-v1/dashboard/src/components/Banner.jsx b/solidity-v1/dashboard/src/components/Banner.jsx deleted file mode 100644 index 3adbd60212..0000000000 --- a/solidity-v1/dashboard/src/components/Banner.jsx +++ /dev/null @@ -1,66 +0,0 @@ -import React from "react" -import * as Icons from "./Icons" - -const Banner = ({ inline, className, children, style = {}, ...restProps }) => { - return ( -
    - {inline ? ( - <> - - {restProps.title} - - ) : ( - children - )} -
    - ) -} - -Banner.Title = ({ onClick, children, className = "" }) => { - return ( -
    - {children} -
    - ) -} - -Banner.Description = ({ children, className = "", ...restProps }) => { - return ( -
    - {children} -
    - ) -} - -Banner.Action = ({ children, onClick, icon, className = "" }) => { - return ( -
    - {icon && } - {children} -
    - ) -} - -Banner.CloseIcon = ({ - icon: IconComponent = Icons.Cross, - className = "", - onClick, -}) => { - return ( - - ) -} - -Banner.Icon = ({ icon: IconComponent, className = "", ...iconProps }) => { - return ( - - ) -} - -export default Banner diff --git a/solidity-v1/dashboard/src/components/BondingSection.jsx b/solidity-v1/dashboard/src/components/BondingSection.jsx deleted file mode 100644 index ad9247d6bb..0000000000 --- a/solidity-v1/dashboard/src/components/BondingSection.jsx +++ /dev/null @@ -1,127 +0,0 @@ -import React from "react" -import Tile from "./Tile" -import { DataTable, Column } from "./DataTable" -import AddressShortcut from "./AddressShortcut" -import Button from "./Button" -import { KEEP, ETH } from "../utils/token.utils" -import { useModal } from "../hooks/useModal" -import AvailableEthAmount from "./AvailableEthAmount" -import { gt } from "../utils/arithmetics.utils" -import TokenAmount from "./TokenAmount" -import { MODAL_TYPES } from "../constants/constants" - -export const BondingSection = ({ data }) => { - return ( - - - Add an amount of ETH to the available balance to be eligible for - signing group selection.  - - NOTE: Withdrawn ETH will go to the beneficiary address. - - - } - noDataMessage="No bonding data." - > - ( - - )} - /> - - `${KEEP.displayAmountWithSymbol(stakeAmount)}` - } - /> - - - { - return - }} - /> - - - ) -} -const renderBondedETHContent = ({ bondedETHInWei }) => ( - -) -const renderAvailableEthContent = (data) => - -export default React.memo(BondingSection) - -const ActionCell = React.memo( - ({ - availableETH, - availableETHInWei, - operatorAddress, - managedGrantAddress, - isWithdrawableForOperator, - }) => { - const { openModal } = useModal() - - const onBtnClick = (event) => { - const action = event.currentTarget.id - - const modalType = - action === "add" - ? MODAL_TYPES.BondingAddETH - : MODAL_TYPES.BondingWithdrawETH - - openModal(modalType, { - operatorAddress, - availableETH, - availableETHInWei, - managedGrantAddress, - }) - } - - return ( - <> -
    - - -
    - - ) - } -) diff --git a/solidity-v1/dashboard/src/components/Button.jsx b/solidity-v1/dashboard/src/components/Button.jsx deleted file mode 100644 index c95a321468..0000000000 --- a/solidity-v1/dashboard/src/components/Button.jsx +++ /dev/null @@ -1,157 +0,0 @@ -import React, { useEffect, useState, useRef } from "react" -import { CSSTransition } from "react-transition-group" -import { ClockIndicator } from "./Loadable" -import * as Icons from "./Icons" -import { Deferred } from "../contracts" - -const buttonContentTransitionTimeoutInMs = 500 -const minimumLoaderDurationInMs = 400 -const minWidthPendingButton = 130 -const minHeightPendingButton = 38 - -const useMinimumLoaderDuration = (showLoader, setShowLoader, isFetching) => { - useEffect(() => { - if (isFetching) { - setShowLoader(true) - } - - if (!isFetching && showLoader) { - const timeout = setTimeout( - () => setShowLoader(false), - minimumLoaderDurationInMs - ) - - return () => clearTimeout(timeout) - } - }, [isFetching, showLoader, setShowLoader]) -} - -const useCurrentButtonDimensions = (buttonRef, children) => { - const [width, setWidth] = useState(0) - const [height, setHeight] = useState(0) - - useEffect(() => { - if (buttonRef.current && buttonRef.current.getBoundingClientRect().width) { - const width = buttonRef.current.getBoundingClientRect().width - setWidth(width < minWidthPendingButton ? minWidthPendingButton : width) - } else { - setWidth(minWidthPendingButton) - } - if (buttonRef.current && buttonRef.current.getBoundingClientRect().height) { - setHeight(buttonRef.current.getBoundingClientRect().height) - } else { - setHeight(minHeightPendingButton) - } - }, [buttonRef, children]) - - return [width, height] -} - -export default function Button({ isFetching, children, ...props }) { - const [showLoader, setShowLoader] = React.useState(false) - const buttonRef = useRef(null) - const [width, height] = useCurrentButtonDimensions(buttonRef, children) - useMinimumLoaderDuration(showLoader, setShowLoader, isFetching) - - return ( - - ) -} - -const successBtnVisibilityDuration = 5000 // 5s - -export const SubmitButton = ({ - onSubmitAction, - withMessageActionIsPending, - pendingMessageTitle, - pendingMessageContent, - triggerManuallyFetch, - successCallback, - confirmationModalTitle, - ...props -}) => { - const [isSubmitting, setSubmitting] = useState(false) - const [showSuccessBtn, setShowSuccessBtn] = useState(false) - - useEffect(() => { - if (showSuccessBtn) { - const timeout = setTimeout(() => { - setShowSuccessBtn(false) - successCallback() - }, successBtnVisibilityDuration) - return () => clearTimeout(timeout) - } - }, [showSuccessBtn, successCallback]) - - const onButtonClick = async (event) => { - event.preventDefault() - const awaitingPromise = new Deferred() - try { - setSubmitting(true) - - await onSubmitAction(awaitingPromise) - await awaitingPromise.promise - - setSubmitting(false) - setShowSuccessBtn(true) - } catch (error) { - setSubmitting(false) - } - } - - return ( - <> - - - ) -} - -SubmitButton.defaultProps = { - withMessageActionIsPending: true, - triggerManuallyFetch: false, - pendingMessageTitle: "Action is pending", - pendingMessageContent: "", - successCallback: () => {}, - confirmationModalTitle: "Are you sure?", -} diff --git a/solidity-v1/dashboard/src/components/Card.jsx b/solidity-v1/dashboard/src/components/Card.jsx deleted file mode 100644 index b3741afb89..0000000000 --- a/solidity-v1/dashboard/src/components/Card.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react" - -const Card = ({ className, children }) => { - return
    {children}
    -} - -export default Card diff --git a/solidity-v1/dashboard/src/components/CardContainer.jsx b/solidity-v1/dashboard/src/components/CardContainer.jsx deleted file mode 100644 index 149cea93e8..0000000000 --- a/solidity-v1/dashboard/src/components/CardContainer.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react" - -const CardContainer = ({ className, children }) => { - return
    {children}
    -} - -export default CardContainer diff --git a/solidity-v1/dashboard/src/components/Chip.jsx b/solidity-v1/dashboard/src/components/Chip.jsx deleted file mode 100644 index e5427c3113..0000000000 --- a/solidity-v1/dashboard/src/components/Chip.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react" - -const Chip = ({ - icon, - text, - size = "small", - color = "emphasis", - className = "", - style = {}, -}) => { - return ( - - {icon ? icon : text} - - ) -} - -export default React.memo(Chip) diff --git a/solidity-v1/dashboard/src/components/ChooseWalletAddress.jsx b/solidity-v1/dashboard/src/components/ChooseWalletAddress.jsx deleted file mode 100644 index 6ac2d1519c..0000000000 --- a/solidity-v1/dashboard/src/components/ChooseWalletAddress.jsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useState, useEffect } from "react" -import Button from "./Button" -import { shortenAddress } from "../utils/general.utils" -import { ViewAddressInBlockExplorer } from "./ViewInBlockExplorer" - -const ChooseWalletAddress = ({ - addresses, - onSelectAccount, - withPagination, - renderPrevBtn, - onNext, - onPrev, -}) => { - const [selectedAccount, setAccount] = useState("") - - useEffect(() => { - setAccount("") - }, [addresses]) - - return ( - <> -

    Select account

    -
      - {addresses.map((address) => ( -
    • setAccount(address)}> - - -
    • - ))} -
    - {withPagination && ( -
    - {renderPrevBtn && ( - - prev - - )} - - next - -
    - )} - - - ) -} - -export default ChooseWalletAddress diff --git a/solidity-v1/dashboard/src/components/CircularProgressBar.jsx b/solidity-v1/dashboard/src/components/CircularProgressBar.jsx deleted file mode 100644 index b34ad17f23..0000000000 --- a/solidity-v1/dashboard/src/components/CircularProgressBar.jsx +++ /dev/null @@ -1,131 +0,0 @@ -import React, { useMemo } from "react" -import { colors } from "../constants/colors" -import * as Icons from "./Icons" -import BigNumber from "bignumber.js" -import { - renderProgressBarLegendItem, - ProgressBarLegendContext, -} from "./ProgressBar" - -const countCircumference = (radius) => { - return new BigNumber(2 * Math.PI * radius) -} - -const countProgressValue = (value, total, radius) => { - const valueInBn = new BigNumber(value || 0) - const totalInBn = new BigNumber(total || 1) - const progress = valueInBn.div(totalInBn) - - return countCircumference(radius) - .multipliedBy(new BigNumber(1).minus(progress)) - .toFixed(2) - .toString() -} - -const CircularProgressBar = ({ - radius, - value, - backgroundStroke, - color, - withBackgroundStroke, - total, - barWidth = 10, - parentSize, -}) => { - const normalizedRadius = useMemo( - () => radius - barWidth / 2, - [radius, barWidth] - ) - - const circumference = useMemo(() => { - return countCircumference(normalizedRadius) - }, [normalizedRadius]) - - const progress = useMemo(() => { - return countProgressValue(value, total, normalizedRadius) - }, [value, total, normalizedRadius]) - - const center = parentSize ? parentSize / 2 : radius - - return ( - - {withBackgroundStroke && ( - - )} - - - ) -} - -CircularProgressBar.defaultProps = { - radius: 60, - value: 0, - backgroundStroke: colors.grey, - color: colors.primary, - withBackgroundStroke: true, -} - -export const CircularProgressBars = React.memo( - ({ withLegend, total, items, renderLegendValuePattern, size = 120 }) => { - const bars = useMemo(() => { - return items.map((item, index) => ( - - )) - }, [total, items, size]) - - return ( - <> - - {bars} - - - - - {withLegend && ( -
    - - {withLegend && items.map(renderProgressBarLegendItem)} - -
    - )} - - ) - } -) - -export default React.memo(CircularProgressBar) diff --git a/solidity-v1/dashboard/src/components/ConnectWalletBtn.jsx b/solidity-v1/dashboard/src/components/ConnectWalletBtn.jsx deleted file mode 100644 index cfa984460f..0000000000 --- a/solidity-v1/dashboard/src/components/ConnectWalletBtn.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react" -import WalletOptions from "./WalletOptions" -import Tooltip, { TOOLTIP_DIRECTION } from "./Tooltip" - -const ConnectWalletBtn = ({ - text, - btnClassName = "", - displayExplorerMode = true, -}) => { - return ( - ( - - {text} - - )} - > - - - ) -} - -export default ConnectWalletBtn diff --git a/solidity-v1/dashboard/src/components/CopyToClipboard.jsx b/solidity-v1/dashboard/src/components/CopyToClipboard.jsx deleted file mode 100644 index b1f726283a..0000000000 --- a/solidity-v1/dashboard/src/components/CopyToClipboard.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import { useState, useEffect } from "react" -import copy from "copy-to-clipboard" - -const CopyToClipboard = (props) => { - const [copyStatus, setCopyStatus] = useState(props.defaultCopyText) - - useEffect(() => { - setCopyStatus(props.defaultCopyText) - }, [props.defaultCopyText]) - - const copyToClipboard = () => { - copy(props.toCopy) - ? setCopyStatus("Copied!") - : setCopyStatus(`Cannot copy value: ${props.toCopy}!`) - } - - const reset = () => { - setCopyStatus(props.defaultCopyText) - } - - return props.render({ copyStatus, copyToClipboard, reset }) -} - -CopyToClipboard.defaultProps = { - defaultCopyText: "Copy to clipboard", -} - -export default CopyToClipboard diff --git a/solidity-v1/dashboard/src/components/CreateTokenGrantForm.jsx b/solidity-v1/dashboard/src/components/CreateTokenGrantForm.jsx deleted file mode 100644 index 4d15bb070a..0000000000 --- a/solidity-v1/dashboard/src/components/CreateTokenGrantForm.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import React from "react" -import { SubmitButton } from "./Button" -import FormInput from "./FormInput" -import FormCheckbox from "./FormCheckbox" -import { withFormik } from "formik" -import { - validateAmountInRange, - validateEthAddress, - getErrorsObj, - validateRequiredValue, -} from "../forms/common-validators" -import { useCustomOnSubmitFormik } from "../hooks/useCustomOnSubmitFormik" -import moment from "moment" - -import ProgressBar from "./ProgressBar" -import { colors } from "../constants/colors" -import { KEEP } from "../utils/token.utils.js" -import { - normalizeAmount, - formatAmount as formatFormAmount, -} from "../forms/form.utils.js" - -const CreateTokenGrantForm = ({ - keepBalance, - submitAction, - ...formikProps -}) => { - const amount = KEEP.fromTokenUnit(formikProps.values.amount) - - const onSubmit = useCustomOnSubmitFormik(submitAction) - - return ( -
    - - -
    - {KEEP.displayAmountWithSymbol(keepBalance)} available -
    - - - - - - - grant tokens - - - ) -} - -const connectedWithFormik = withFormik({ - mapPropsToValues: () => ({ - grantee: "0x0", - amount: "0", - duration: "", - start: moment().unix(), - cliff: "", - revocable: true, - }), - validate: (values, props) => { - const { keepBalance } = props - const { grantee, amount, duration, start, cliff } = values - const minAmount = KEEP.fromTokenUnit(1) - const errors = {} - errors.grantee = validateEthAddress(grantee) - errors.amount = validateAmountInRange(amount, keepBalance, minAmount) - errors.duration = validateRequiredValue(duration) - errors.start = validateRequiredValue(start) - errors.cliff = validateRequiredValue(cliff) - - return getErrorsObj(errors) - }, - displayName: "CreateGrantForm", -})(CreateTokenGrantForm) - -export default connectedWithFormik diff --git a/solidity-v1/dashboard/src/components/CurrentWalletIconTooltip.jsx b/solidity-v1/dashboard/src/components/CurrentWalletIconTooltip.jsx deleted file mode 100644 index 611d0c26a6..0000000000 --- a/solidity-v1/dashboard/src/components/CurrentWalletIconTooltip.jsx +++ /dev/null @@ -1,82 +0,0 @@ -import React from "react" -import { WALLETS } from "../constants/constants" -import * as Icons from "./Icons" -import { useWeb3Context } from "./WithWeb3Context" -import Tooltip from "./Tooltip" - -const CurrentWalletIconTooltip = () => { - const { connector } = useWeb3Context() - - const getTooltipText = (walletLabel) => { - return walletLabel === WALLETS.EXPLORER_MODE.label - ? `You are viewing the site in an ${walletLabel}` - : `You are connected to ${walletLabel}` - } - - const renderWalletTypeIcon = () => { - let tooltipText = "" - let iconComponent = <> - - switch (connector?.name) { - case WALLETS.TALLY.name: - tooltipText = getTooltipText(WALLETS.TALLY.label) - iconComponent = - break - case WALLETS.METAMASK.name: - tooltipText = getTooltipText(WALLETS.METAMASK.label) - iconComponent = - break - case WALLETS.LEDGER: - tooltipText = getTooltipText(WALLETS.LEDGER.label) - iconComponent = ( - - ) - break - case WALLETS.TREZOR: - tooltipText = getTooltipText(WALLETS.TREZOR.label) - iconComponent = ( - - ) - break - case WALLETS.WALLET_CONNECT.name: - tooltipText = getTooltipText(WALLETS.WALLET_CONNECT.label) - iconComponent = ( - - ) - break - case WALLETS.EXPLORER_MODE.name: - tooltipText = getTooltipText(WALLETS.EXPLORER_MODE.label) - iconComponent = ( - - ) - break - default: - tooltipText = "" - iconComponent = <> - } - - return ( - { - return iconComponent - }} - className={"web3-status__wallet-connected-tooltip"} - tooltipContentWrapperClassName={ - "tooltip__content-wrapper--lower-position" - } - > - {tooltipText} - - ) - } - - return ( -
    - {renderWalletTypeIcon()} -
    - ) -} - -export default CurrentWalletIconTooltip diff --git a/solidity-v1/dashboard/src/components/DataTable.jsx b/solidity-v1/dashboard/src/components/DataTable.jsx deleted file mode 100644 index f943543e00..0000000000 --- a/solidity-v1/dashboard/src/components/DataTable.jsx +++ /dev/null @@ -1,133 +0,0 @@ -import React from "react" -import { isEmptyArray } from "../utils/array.utils" -import ResourceTooltip from "./ResourceTooltip" -import Dropdown from "./Dropdown" - -export class DataTable extends React.Component { - constructor(props) { - super(props) - this.state = { - headers: [], - } - } - - componentDidMount() { - this.initializeDataTable() - } - - initializeDataTable = () => { - const headers = [] - React.Children.forEach(this.props.children, (children) => { - headers.push({ - title: children.props.header, - headerStyle: children.props.headerStyle, - }) - }) - this.setState({ headers }) - } - - renderItemRow = (item, index) => { - const { itemFieldId, centered } = this.props - return ( - - {React.Children.map(this.props.children, (column, index) => { - const { - props: { field }, - } = column - const cellKey = `${item[itemFieldId]}-${field}-${item[field]}-${index}` - return ( - - {column.props.header} - {this.renderColumnContent(column, item)} - - ) - })} - - ) - } - renderColumnContent = (column, item) => { - if (typeof column.props.renderContent === "function") { - return column.props.renderContent(item) - } else if (React.isValidElement(column.props.renderContent)) { - return React.cloneElement(column.props.renderContent, ...item) - } - - return item[column.props.field] - } - - renderHeader = ({ title, headerStyle }) => ( - - {title} - - ) - - render() { - const { - title, - titleClassName, - titleStyle, - withTooltip, - tooltipProps, - subtitle, - } = this.props - - return ( - <> -
    -
    -
    -

    - {title} -

    - {withTooltip && } -
    -
    {subtitle}
    -
    - {this.props.withFilterDropdown && ( - - )} -
    - - - {this.state.headers.map(this.renderHeader)} - - - {isEmptyArray(this.props.data) ? ( - - - - ) : ( - this.props.data.map(this.renderItemRow) - )} - -
    -

    {this.props.noDataMessage}

    -
    - - ) - } -} - -DataTable.defaultProps = { - noDataMessage: "No data.", - titleClassName: "mr-1 text-grey-70", - titleStyle: {}, - withTooltip: false, - withFilterDropdown: false, -} - -export const Column = ({ header, headerStyle, field, renderContent }) => null -Column.defaultProps = { - headerStyle: {}, -} diff --git a/solidity-v1/dashboard/src/components/DelegateStakeForm.jsx b/solidity-v1/dashboard/src/components/DelegateStakeForm.jsx deleted file mode 100644 index 776af3303c..0000000000 --- a/solidity-v1/dashboard/src/components/DelegateStakeForm.jsx +++ /dev/null @@ -1,200 +0,0 @@ -import React, { useState } from "react" -import { SubmitButton } from "./Button" -import FormInput from "./FormInput" -import { withFormik, useFormikContext } from "formik" -import { - validateAmountInRange, - validateEthAddress, - getErrorsObj, -} from "../forms/common-validators" -import { useCustomOnSubmitFormik } from "../hooks/useCustomOnSubmitFormik" -import { KEEP } from "../utils/token.utils" -import { - normalizeAmount, - formatAmount as formatFormAmount, -} from "../forms/form.utils.js" -import { lte } from "../utils/arithmetics.utils" -import * as Icons from "./Icons" -import MaxAmountAddon from "./MaxAmountAddon" -import useSetMaxAmountToken from "../hooks/useSetMaxAmountToken" -import { getNextMinStake } from "../utils/minimum-stake-schedule" - -const DelegateStakeForm = ({ - onSubmit, - minStake, - availableToStake, - ...formikProps -}) => { - const onSubmitBtn = useCustomOnSubmitFormik(onSubmit) - const stakeTokensValue = KEEP.fromTokenUnit(formikProps.values.stakeTokens) - - return ( -
    - -
    - } - tooltipText="A role that approves operator contracts and slashing rules for operator misbehavior." - /> - } - tooltipText="The operator address is tasked with participation in network operations, and represents the staker in most circumstances." - /> - } - tooltipText="The address to which rewards are sent that are generated by stake doing work on the network." - /> -
    - - delegate stake - - - ) -} - -const AddressField = ({ icon, ...formInputProps }) => { - const [focused, setFocused] = useState(false) - const { setFieldTouched, touched } = useFormikContext() - const isTouched = focused || touched[formInputProps.name] - - const onFocus = () => { - setFocused(true) - if ( - formInputProps.name === "operatorAddress" && - !touched.authorizerAddress - ) { - setFieldTouched("authorizerAddress", true, false) - } else if ( - formInputProps.name === "beneficiaryAddress" && - (!touched.authorizerAddress || !touched.operatorAddress) - ) { - setFieldTouched("authorizerAddress", true, false) - setFieldTouched("operatorAddress", true, false) - } - } - - return ( -
    - - {icon} - -
    - ) -} - -const TokensAmountField = ({ - availableToStake, - minStake, - stakeTokensValue, -}) => { - const onAddonClick = useSetMaxAmountToken("stakeTokens", availableToStake) - const stakingDocsLink = ( - - here - - ) - - const nextMinStakeInfo = getNextMinStake() - return ( -
    -
    - - } - inputAddon={ - - } - tooltipText={ - <> - The minimum stake will decrease to  - {KEEP.displayAmountWithSymbol( - KEEP.fromTokenUnit(nextMinStakeInfo.value) - )} -   on {nextMinStakeInfo.date}. You can see the full schedule - in our staking docs {stakingDocsLink} - - } - /> -
    - {KEEP.displayAmount(availableToStake)} available to stake -
    -
    -
    - ) -} - -const connectedWithFormik = withFormik({ - mapPropsToValues: () => ({ - beneficiaryAddress: "", - stakeTokens: "", - operatorAddress: "", - authorizerAddress: "", - }), - validate: (values, props) => { - const { beneficiaryAddress, operatorAddress, authorizerAddress } = values - const errors = {} - - errors.stakeTokens = getStakeTokensError(props, values) - errors.beneficiaryAddress = validateEthAddress(beneficiaryAddress) - errors.operatorAddress = validateEthAddress(operatorAddress) - errors.authorizerAddress = validateEthAddress(authorizerAddress) - - return getErrorsObj(errors) - }, - displayName: "DelegateStakeForm", -})(DelegateStakeForm) - -const getStakeTokensError = (props, { stakeTokens }) => { - const { availableToStake, minStake } = props - - if (lte(availableToStake || 0, 0)) { - return "Insufficient funds" - } else { - return validateAmountInRange(stakeTokens, availableToStake, minStake) - } -} - -export default connectedWithFormik diff --git a/solidity-v1/dashboard/src/components/DelegatedTokens.jsx b/solidity-v1/dashboard/src/components/DelegatedTokens.jsx deleted file mode 100644 index 4e472fa4c9..0000000000 --- a/solidity-v1/dashboard/src/components/DelegatedTokens.jsx +++ /dev/null @@ -1,111 +0,0 @@ -import React from "react" -import AddressShortcut from "./AddressShortcut" -import { useWeb3Address } from "./WithWeb3Context" -import UndelegateStakeButton from "./UndelegateStakeButton" -import Banner from "./Banner" -import moment from "moment" -import TokenAmount from "./TokenAmount" -import { formatDate } from "../utils/general.utils" -import * as Icons from "./Icons" - -const DelegatedTokens = ({ data, cancelSuccessCallback }) => { - const yourAddress = useWeb3Address() - - const { - stakedBalance, - ownerAddress, - beneficiaryAddress, - authorizerAddress, - isDelegationFromGrant, - isInInitializationPeriod, - undelegationPeriod, - delegationStatus, - undelegationCompletedAt, - } = data - - const getUndelegationBannerTitle = () => { - const undelegationPeriodRelativeTime = moment() - .add(undelegationPeriod, "seconds") - .fromNow(true) - const isUndelegationPeriodOver = moment().isAfter(undelegationCompletedAt) - return isUndelegationPeriodOver - ? `Undelegation period is over at ${formatDate(undelegationCompletedAt)}` - : `Undelegation is pending. Estimated to complete in ${undelegationPeriodRelativeTime}.` - } - - const renderUndelegationStatus = () => { - if (delegationStatus) { - const title = - delegationStatus === "UNDELEGATED" - ? getUndelegationBannerTitle() - : "Undelegation completed" - - const bannerClassName = - delegationStatus === "UNDELEGATED" ? "bg-pending" : "bg-success" - - return ( -
    - -
    - ) - } else { - return ( - {} - } - isFromGrant={isDelegationFromGrant} - isInInitializationPeriod={isInInitializationPeriod} - amount={stakedBalance} - authorizer={authorizerAddress} - operator={yourAddress} - beneficiary={beneficiaryAddress} - undelegationPeriod={undelegationPeriod} - disabled={stakedBalance === "0" || !stakedBalance} - /> - ) - } - } - - return ( -
    -
    -

    Total Balance

    - - - - -
    -
    -

    Undelegate

    -
    - Click undelegate below to return all of your delegated KEEP tokens to - their original owner address. -
    - {renderUndelegationStatus()} -
    -
    - ) -} - -const DelegationAddress = React.memo(({ address, label }) => ( -
    - {label}  - -
    -)) - -export default DelegatedTokens diff --git a/solidity-v1/dashboard/src/components/DelegatedTokensTable.jsx b/solidity-v1/dashboard/src/components/DelegatedTokensTable.jsx deleted file mode 100644 index 06ddf5e1ca..0000000000 --- a/solidity-v1/dashboard/src/components/DelegatedTokensTable.jsx +++ /dev/null @@ -1,202 +0,0 @@ -import React, { useCallback } from "react" -import { formatDate } from "../utils/general.utils" -import { KEEP } from "../utils/token.utils" -import AddressShortcut from "./AddressShortcut" -import UndelegateStakeButton from "./UndelegateStakeButton" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { PENDING_STATUS, COMPLETE_STATUS } from "../constants/constants" -import { DataTable, Column } from "./DataTable" -import Tile from "./Tile" -import { SubmitButton } from "./Button" -import { connect } from "react-redux" -import web3Utils from "web3-utils" -import useUpdateInitializedDelegations from "../hooks/useUpdateInitializedDelegations" -import * as Icons from "./Icons" - -const DelegatedTokensTable = ({ - delegations, - cancelStakeSuccessCallback, - keepTokenBalance, - grants, - addKeep, - undelegationPeriod, -}) => { - useUpdateInitializedDelegations(delegations) - const getAvailableToStakeFromGrant = useCallback( - (grantId) => { - const grant = grants.find(({ id }) => id === grantId) - - return grant ? grant.availableToStake : 0 - }, - [grants] - ) - - const isAddKeepBtnDisabled = (delegationData) => { - const availableAmount = delegationData.isFromGrant - ? getAvailableToStakeFromGrant(delegationData.grantId) - : keepTokenBalance - - return web3Utils.toBN(availableAmount).lten(0) - } - - const onTopUpBtn = async (delegationData, awaitingPromise) => { - const availableAmount = delegationData.isFromGrant - ? getAvailableToStakeFromGrant(delegationData.grantId) - : keepTokenBalance - addKeep( - { - ...delegationData, - beneficiaryAddress: delegationData.beneficiary, - currentAmount: delegationData.amount, - availableAmount, - }, - awaitingPromise - ) - } - - return ( - - - { - return ( - <> -
    {KEEP.displayAmountWithSymbol(amount)}
    -
    - {isFromGrant ? "Grant Tokens" : "Wallet Tokens"} -
    - - ) - }} - /> - { - const delegationStatus = delegation.isInInitializationPeriod - ? PENDING_STATUS - : COMPLETE_STATUS - const statusBadgeText = - delegationStatus === PENDING_STATUS - ? `${delegationStatus.toLowerCase()}, ${delegation.initializationOverAt.fromNow( - true - )}` - : formatDate(delegation.initializationOverAt) - - return ( - <> - -
    - {delegation.initializationOverAt.format("HH:mm:ss")} -
    - - ) - }} - /> - ( - - )} - /> - ( - - )} - /> - ( - - )} - /> - - delegation.isCopiedStake ? ( - - ) : ( -
    -
    - {} - } - disabled={ - delegation.isTStakingContractAuthorized && - delegation.isStakedToT - } - /> -
    -
    - - onTopUpBtn(delegation, awaitingPromise) - } - disabled={isAddKeepBtnDisabled(delegation)} - > - - -  add keep - - -
    -
    - ) - } - /> -
    -
    - ) -} - -DelegatedTokensTable.defaultProps = { - title: "Delegations", -} - -const mapDispatchToProps = (dispatch) => ({ - addKeep: (values, meta) => - dispatch({ - type: "staking/top-up", - payload: values, - meta, - }), -}) - -export default connect(null, mapDispatchToProps)(DelegatedTokensTable) diff --git a/solidity-v1/dashboard/src/components/DelegationOverview.jsx b/solidity-v1/dashboard/src/components/DelegationOverview.jsx deleted file mode 100644 index 84531d39e9..0000000000 --- a/solidity-v1/dashboard/src/components/DelegationOverview.jsx +++ /dev/null @@ -1,116 +0,0 @@ -import React, { useMemo, useCallback } from "react" -import Undelegations from "../components/Undelegations" -import DelegatedTokensTable from "../components/DelegatedTokensTable" -import { formatDate, isSameEthAddress } from "../utils/general.utils" -import moment from "moment" -import { LoadingOverlay } from "./Loadable" -import DataTableSkeleton from "./skeletons/DataTableSkeleton" -import TopUpsDataTable from "./TopUpsDataTable" -import Tile from "./Tile" -import Tag from "./Tag" -import * as Icons from "./Icons" - -const DelegationOverview = ({ - delegations, - undelegations, - isFetching, - topUps: availableTopUps, - areTopUpsFetching, - undelegationPeriod, - initializationPeriod, - keepTokenBalance, - grants = [], - selectedGrant = null, - context = "wallet", -}) => { - const cancelStakeSuccessCallback = useCallback(() => { - // TODO - }, []) - - const filteredTopUps = useMemo(() => { - const topUps = [] - for (const topUp of availableTopUps) { - const { operatorAddress: lookupOperator } = topUp - const isUndelegation = undelegations.some(({ operatorAddress }) => - isSameEthAddress(lookupOperator, operatorAddress) - ) - - const isDelegation = delegations.some(({ operatorAddress }) => - isSameEthAddress(lookupOperator, operatorAddress) - ) - - if (isDelegation || isUndelegation) { - topUp.isInUndelegation = isUndelegation - topUps.push(topUp) - } - } - return topUps - }, [availableTopUps, delegations, undelegations]) - - return ( -
    - - } - > - - - - - } - > - - - } - > - - -
    - ) -} - -const DelegationHeader = ({ type, selectedGrant }) => { - switch (type) { - case "wallet": - default: - return

    Activity

    - case "granted": - return ( -
    -

    Grant Activity

    -
    - - - {selectedGrant && selectedGrant.id} - - - - {selectedGrant && selectedGrant.start - ? formatDate(moment.unix(selectedGrant.start)) - : null} - -
    -
    - ) - } -} - -export default DelegationOverview diff --git a/solidity-v1/dashboard/src/components/Divider.jsx b/solidity-v1/dashboard/src/components/Divider.jsx deleted file mode 100644 index 79c5c46ee7..0000000000 --- a/solidity-v1/dashboard/src/components/Divider.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react" - -const Divider = ({ className, style = {} }) => ( -
    -) - -export default Divider diff --git a/solidity-v1/dashboard/src/components/DoubleIcon.jsx b/solidity-v1/dashboard/src/components/DoubleIcon.jsx deleted file mode 100644 index 056e7cfae0..0000000000 --- a/solidity-v1/dashboard/src/components/DoubleIcon.jsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from "react" - -const DoubleIcon = ({ MainIcon, SecondaryIcon, className }) => { - return ( -
    - - -
    - ) -} - -export default DoubleIcon diff --git a/solidity-v1/dashboard/src/components/Dropdown.jsx b/solidity-v1/dashboard/src/components/Dropdown.jsx deleted file mode 100644 index 3524ed15b3..0000000000 --- a/solidity-v1/dashboard/src/components/Dropdown.jsx +++ /dev/null @@ -1,271 +0,0 @@ -import React, { useState, useCallback } from "react" -import { isEmptyObj } from "../utils/general.utils" -import * as Icons from "./Icons" -import { useContext } from "react" -import OnlyIf from "./OnlyIf" - -const Dropdown = ({ - label, - onSelect, - options, - valuePropertyName, - labelPropertyName, - selectedItem, - labelPrefix, - noItemSelectedText, - selectedItemComponent, - renderOptionComponent, - withLabel, - isFilterDropdow, - allItemsFilterText, -}) => { - const [isOpen, setIsOpen] = useState(false) - - const renderDropdownItem = (item) => ( - - ) - - const onChange = (value) => { - const selectedItem = options.find( - (option) => option[valuePropertyName] === value - ) - onSelect(selectedItem || {}) - setIsOpen(false) - } - - const renderSelectedItem = () => { - if (options && options.length === 0 && !isFilterDropdow) { - return No items to select - } else if ( - isFilterDropdow && - ((options && options.length === 0) || isEmptyObj(selectedItem)) - ) { - return ( -
    - - - {allItemsFilterText} - -
    - ) - } else if (isEmptyObj(selectedItem)) { - return {noItemSelectedText} - } else if (isFilterDropdow) { - return ( -
    - -
    - {selectedItemComponent - ? selectedItemComponent - : `${labelPrefix} ${selectedItem[labelPropertyName]}`} -
    -
    - ) - } else if (selectedItemComponent) { - return selectedItemComponent - } else { - return {`${labelPrefix} ${selectedItem[labelPropertyName]}`} - } - } - - return ( - - {withLabel && ( - - )} -
    -
    setIsOpen(!isOpen)}> - {renderSelectedItem()} -
    -
    -
      - {isFilterDropdow && ( -
    • onChange({})} - > - {allItemsFilterText} -
    • - )} - {options.map(renderDropdownItem)} -
    -
    - - ) -} - -const DropdownItem = React.memo( - ({ - value, - label, - labelPrefix, - isSelected, - onChange, - renderOptionComponent, - item, - }) => { - return ( -
  • onChange(value)} - > - {renderOptionComponent - ? renderOptionComponent(item) - : `${labelPrefix} ${label}`} -
  • - ) - }, - (prevProps, nextProps) => prevProps.isSelected === nextProps.isSelected -) - -const dropdownPropsAreEqual = (prevProps, nextProps) => { - return ( - prevProps.selectedItem[prevProps.valuePropertyName] === - nextProps.selectedItem[prevProps.valuePropertyName] && - prevProps.options === nextProps.options - ) -} - -Dropdown.defaultProps = { - noItemSelectedText: "Select Item", - label: "Select Item", - withLabel: true, - isFilterDropdow: false, - allItemsFilterText: "All items", -} - -export default React.memo(Dropdown, dropdownPropsAreEqual) - -const DropdownContext = React.createContext({ - selectedItem: {}, - onSelect: () => {}, - comparePropertyName: null, -}) - -const useDropdownContext = () => { - const dropdownContext = useContext(DropdownContext) - - if (!dropdownContext) { - throw new Error("DropdownContext used outside of the Dropdown component.") - } - return dropdownContext -} - -const CompoundDropdown = ({ - selectedItem, - onSelect, - comparePropertyName, - children, - className = "", - rounded = false, -}) => { - const [isOpen, setIsOpen] = useState(false) - - const onTriggerDropdown = useCallback(() => { - setIsOpen((isOpen) => !isOpen) - }, [setIsOpen]) - - return ( - -
    - {children} -
    -
    - ) -} - -const DropdownOptions = ({ - children, - selectedIcon = ( - - ), - className = "", -}) => { - return ( -
      - {children.map((child) => React.cloneElement(child, { selectedIcon }))} -
    - ) -} - -const DropdownOption = ({ value, selectedIcon, children }) => { - const { onSelect, selectedItem, comparePropertyName } = useDropdownContext() - - const onClick = useCallback(() => { - onSelect(value) - }, [value, onSelect]) - - let isSelected - if (!comparePropertyName) { - isSelected = selectedItem === value - } else { - isSelected = - !isEmptyObj(selectedItem) && - selectedItem[comparePropertyName] === value[comparePropertyName] - } - - return ( -
  • - {children} - {isSelected && selectedIcon && ( -
    {selectedIcon}
    - )} -
  • - ) -} - -const DropdownTrigger = ({ - children, - className = "", - withTriggerArrow = true, -}) => { - const { onTriggerDropdown } = useDropdownContext() - return ( -
    -
    {children}
    - -
    - -
    - ) -} - -CompoundDropdown.Trigger = DropdownTrigger -CompoundDropdown.Options = DropdownOptions -CompoundDropdown.Option = DropdownOption - -export { CompoundDropdown } diff --git a/solidity-v1/dashboard/src/components/ExplorerModeAddressForm.jsx b/solidity-v1/dashboard/src/components/ExplorerModeAddressForm.jsx deleted file mode 100644 index 40fc37c3b1..0000000000 --- a/solidity-v1/dashboard/src/components/ExplorerModeAddressForm.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import FormInput from "./FormInput" -import { SubmitButton } from "./Button" -import React from "react" -import { withFormik } from "formik" -import { useCustomOnSubmitFormik } from "../hooks/useCustomOnSubmitFormik" -import { getErrorsObj, validateEthAddress } from "../forms/common-validators" -import { colors } from "../constants/colors" - -const ExplorerModeAddressForm = ({ submitAction, onCancel }) => { - const onSubmit = useCustomOnSubmitFormik(submitAction) - - return ( -
    - -
    - - explore - - - Cancel - -
    - - ) -} - -const connectWithFormik = withFormik({ - mapPropsToValues: () => ({ - address: "", - }), - validate: (values, props) => { - const { address } = values - const errors = {} - - errors.address = validateEthAddress(address) - - return getErrorsObj(errors) - }, -})(ExplorerModeAddressForm) - -export default connectWithFormik diff --git a/solidity-v1/dashboard/src/components/Footer.jsx b/solidity-v1/dashboard/src/components/Footer.jsx deleted file mode 100644 index c5faa9903f..0000000000 --- a/solidity-v1/dashboard/src/components/Footer.jsx +++ /dev/null @@ -1,47 +0,0 @@ -import React from "react" -import moment from "moment" -import { LINK } from "../constants/constants" - -const links = [ - { label: "Join Discord", url: LINK.discord }, - { label: "About Keep", url: LINK.keepWebsite }, - { - label: "User Guide", - url: LINK.stakingDocumentation, - }, -] - -const Footer = ({ className }) => { - return ( - - ) -} - -const FooterLinkItem = ({ label, url }) => ( -
  • - - {label} - -
  • -) - -const renderFooterLinkItem = (item) => ( - -) - -export default Footer diff --git a/solidity-v1/dashboard/src/components/FormCheckbox.jsx b/solidity-v1/dashboard/src/components/FormCheckbox.jsx deleted file mode 100644 index b42e6a5065..0000000000 --- a/solidity-v1/dashboard/src/components/FormCheckbox.jsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from "react" -import { useField } from "formik" -import OnlyIf from "./OnlyIf" - -export const FormCheckboxBase = ({ - children, - withError, - hasError, - errorMsg, - name, - checked, - className = "", - ...inputProps -}) => { - return ( - <> -
    - - -
    - -
    {errorMsg}
    -
    - - ) -} - -const FormCheckbox = ({ children, withError = false, ...props }) => { - const [field, meta] = useField(props.name, props.type) - - return ( - - {children} - - ) -} - -export default React.memo(FormCheckbox) diff --git a/solidity-v1/dashboard/src/components/FormInput.jsx b/solidity-v1/dashboard/src/components/FormInput.jsx deleted file mode 100644 index f94e8f5557..0000000000 --- a/solidity-v1/dashboard/src/components/FormInput.jsx +++ /dev/null @@ -1,111 +0,0 @@ -import React, { useLayoutEffect, useRef, useState } from "react" -import { useField } from "formik" -import * as Icons from "./Icons" -import Tooltip from "./Tooltip" -import OnlyIf from "./OnlyIf" - -const FormInputBase = ({ - label, - format, - normalize, - tooltipText, - additionalInfoText, - leftIconComponent = null, - inputAddon, - tooltipProps = {}, - hasError, - errorMsg, - ...props -}) => { - const [inputPaddingRight, setInputPaddingRight] = useState(0) - const inputAddonRef = useRef(null) - - useLayoutEffect(() => { - const inputAddonStyles = window.getComputedStyle(inputAddonRef.current) - const finalWidth = - parseInt(inputAddonStyles.right, 10) + - parseInt(inputAddonStyles.width, 10) + - 10 - setInputPaddingRight(finalWidth) - }, []) - - return ( -
    - -
    - -
    - {leftIconComponent} -
    -
    - { - const value = event && event.target ? event.target.value : event - props.onChange(event, normalize ? normalize(value) : value) - }} - value={format ? format(props.value) : props.value} - style={{ - paddingRight: `${inputPaddingRight}px`, - borderStyle: `${leftIconComponent ? "none" : "solid"}`, - }} - /> -
    - {inputAddon} -
    -
    - {hasError ?
    {errorMsg}
    : null} -
    - ) -} - -FormInputBase.defaultProps = { - tooltipText: null, -} - -const FormInput = (props) => { - const [field, meta, helpers] = useField(props.name, props.type) - - return ( - helpers.setValue(value)} - hasError={meta.touched && meta.error} - errorMsg={meta.error} - /> - ) -} - -export default React.memo(FormInput) - -export { FormInputBase } diff --git a/solidity-v1/dashboard/src/components/Header.jsx b/solidity-v1/dashboard/src/components/Header.jsx deleted file mode 100644 index 6ae2b6b6c0..0000000000 --- a/solidity-v1/dashboard/src/components/Header.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react" -import { isEmptyArray } from "../utils/array.utils" -import { Web3Status } from "./Web3Status" -import Chip from "./Chip" -import NavLink from "./NavLink" -import OnlyIf from "./OnlyIf" - -const Header = ({ title, subLinks, className = "", newPage = false }) => { - return ( -
    -
    -

    - {title}{" "} - {newPage && } -

    - -
    - {!isEmptyArray(subLinks) && ( - - )} -
    - ) -} - -const SubNavItem = ({ title, path, withNewLabel }) => { - return ( -
  • - - {title}{" "} - - - - -
  • - ) -} - -const renderSubNavItem = (item, index) => ( - -) - -export default Header diff --git a/solidity-v1/dashboard/src/components/Icons.jsx b/solidity-v1/dashboard/src/components/Icons.jsx deleted file mode 100644 index da329e568b..0000000000 --- a/solidity-v1/dashboard/src/components/Icons.jsx +++ /dev/null @@ -1,430 +0,0 @@ -import React from "react" -import { colors } from "../constants/colors" -import { ReactComponent as ArrowRight } from "../static/svg/arrow-right.svg" -import { ReactComponent as Operations } from "../static/svg/operations.svg" -import { ReactComponent as Rewards } from "../static/svg/rewards.svg" -import { ReactComponent as Authorizer } from "../static/svg/authorizer.svg" -import { ReactComponent as KeepToken } from "../static/svg/tokens.svg" -import { ReactComponent as GrantContextIcon } from "../static/svg/grant-context-icon.svg" -import { ReactComponent as MoneyWalletOpen } from "../static/svg/money-wallet-open.svg" -import { ReactComponent as KeepGreenOutline } from "../static/svg/keep-green-form-icon.svg" -import { ReactComponent as AuthorizerFormIcon } from "../static/svg/authorizer-form-icon.svg" -import { ReactComponent as OperatorFormIcon } from "../static/svg/operator-form-icon.svg" -import { ReactComponent as BeneficiaryFormIcon } from "../static/svg/beneficiary-form-icon.svg" -import { ReactComponent as DashedLine } from "../static/svg/dashed-line.svg" -import { ReactComponent as KeepOutline } from "../static/svg/keep-green-outline.svg" -import { ReactComponent as LedgerDevice } from "../static/svg/ledger-device.svg" -import { ReactComponent as TrezorDevice } from "../static/svg/trezor-device.svg" -import { ReactComponent as TBTC } from "../static/svg/tbtc.svg" -import { ReactComponent as KeepBlackGreen } from "../static/svg/keep-token.svg" -import { ReactComponent as Filter } from "../static/svg/filter-icon.svg" -import { ReactComponent as Load } from "../static/svg/load.svg" -import { ReactComponent as DocumentWithBg } from "../static/svg/document-bg-green.svg" -import { ReactComponent as DelegationDiagram } from "../static/svg/delegation-diagram.svg" -import { ReactComponent as Diamond } from "../static/svg/diamond.svg" -import { ReactComponent as ETH } from "../static/svg/eth.svg" -import { ReactComponent as KeepLoadingIndicator } from "../static/svg/keep-loading-indicator.svg" -import { ReactComponent as KEEPTower } from "../static/svg/keep-tower.svg" -import { ReactComponent as CarDashboardSpeed } from "../static/svg/car-dashboard-speed.svg" -import { ReactComponent as Fees } from "../static/svg/fees.svg" -import { ReactComponent as UserFriendly } from "../static/svg/user-friendly.svg" -import { ReactComponent as Alert } from "../static/svg/alert.svg" -import { ReactComponent as Success } from "../static/svg/success.svg" -import { ReactComponent as Beacon } from "../static/svg/beacon.svg" -import { ReactComponent as Authorize } from "../static/svg/authorize.svg" -import { ReactComponent as Home } from "../static/svg/home.svg" -import { ReactComponent as Question } from "../static/svg/question.svg" -import { ReactComponent as FeesVector } from "../static/svg/fees-vector.svg" -import { ReactComponent as Time } from "../static/svg/time.svg" -import { ReactComponent as KeepDashboardLogo } from "../static/svg/token-dashboard-logo.svg" -import { ReactComponent as NetworkStatusIndicator } from "../static/svg/network-status-indicator.svg" -import { ReactComponent as MetaMask } from "../static/svg/metamask.svg" -import { ReactComponent as Tally } from "../static/svg/tally.svg" -import { ReactComponent as Trezor } from "../static/svg/trezor.svg" -import { ReactComponent as Ledger } from "../static/svg/ledger.svg" -import { ReactComponent as Add } from "../static/svg/add.svg" -import { ReactComponent as Subtract } from "../static/svg/subtract.svg" -import { ReactComponent as ArrowDown } from "../static/svg/arrow-down.svg" -export { ReactComponent as Warning } from "../static/svg/warning.svg" -export { ReactComponent as Wallet } from "../static/svg/wallet.svg" -export { ReactComponent as Grant } from "../static/svg/grant.svg" -export { ReactComponent as Calendar } from "../static/svg/calendar.svg" -export { ReactComponent as Plus } from "../static/svg/plus.svg" -export { ReactComponent as StakeDrop } from "../static/svg/stakedrop.svg" -export { ReactComponent as SwordOperations } from "../static/svg/sword-operations.svg" -export { ReactComponent as MoreInfo } from "../static/svg/more-info.svg" -export { ReactComponent as EthToken } from "../static/svg/eth_token.svg" -export { ReactComponent as KeepOnlyPool } from "../static/svg/keep-only-pool.svg" -export { ReactComponent as BalancerLogo } from "../static/svg/balancer-logo.svg" -export { ReactComponent as UniswapLogo } from "../static/svg/uniswap-logo.svg" -export { ReactComponent as WalletConnect } from "../static/svg/wallet-connect.svg" -export { ReactComponent as Explore } from "../static/svg/explore.svg" -export { ReactComponent as Dashboard } from "../static/svg/dashboard.svg" -export { ReactComponent as BrowserWindow } from "../static/svg/browser-window.svg" -export { ReactComponent as Decentralize } from "../static/svg/decentralize.svg" -export { ReactComponent as CoveragePool } from "../static/svg/coverage-pool.svg" -export { ReactComponent as SaddleWhite } from "../static/svg/saddle-logo.svg" -export { ReactComponent as Swap } from "../static/svg/swap.svg" -export { ReactComponent as ChevronRight } from "../static/svg/chevron-right.svg" -export { ReactComponent as ChevronUp } from "../static/svg/chevron-up.svg" -export { ReactComponent as ChevronDown } from "../static/svg/chevron-down.svg" -export { ReactComponent as Refresh } from "../static/svg/refresh.svg" -export { ReactComponent as CovPoolsHowItWorksDiagram } from "../static/svg/cov-pools-how-it-works-diagram.svg" -export { ReactComponent as TTokenSymbol } from "../static/svg/t-token-symbol.svg" -export { ReactComponent as KeepTUpgrade } from "../static/svg/keep-t-upgrade-logo.svg" -export { ReactComponent as Star } from "../static/svg/star.svg" -export { ReactComponent as Bell } from "../static/svg/bell.svg" -export { ReactComponent as MBTC } from "../static/svg/mBTC.svg" -export { ReactComponent as TBTC_V2 } from "../static/svg/tbtc_v2.svg" -export { ReactComponent as ArrowsRight } from "../static/svg/arrows-right.svg" -export { ReactComponent as TLogo } from "../static/svg/t-logo.svg" -export { ReactComponent as AlertFill } from "../static/svg/alert-fill.svg" -export { ReactComponent as ArrowTopRight } from "../static/svg/arrow-top-right.svg" -export { ReactComponent as QuestionFill } from "../static/svg/question-fill.svg" -export { ReactComponent as EarnThresholdTokens } from "../static/svg/earn-threshold-tokens.svg" -export { ReactComponent as Money } from "../static/svg/money.svg" -export { ReactComponent as CovKeep } from "../static/svg/keep-symbol.svg" -export { ReactComponent as LegacyDappIllustration } from "../static/svg/legacy-dapp-modal.svg" - -const Badge = ({ height, width }) => ( - - - - - - -) - -const Cross = ({ height, width, ...restProps }) => ( - - - - -) - -Cross.defaultProps = { - color: "#6D6D6D", -} - -const Tooltip = ({ backgroundColor, color, className }) => ( - - - - - - - -) - -Tooltip.defaultProps = { - backgroundColor: colors.primary, - color: colors.grey70, -} - -const KeepCircle = ({ color }) => ( - - - -) - -KeepCircle.defaultProps = { - color: colors.lightGrey, -} - -const OK = ({ color }) => ( - - - - -) - -OK.defaultProps = { - color: colors.night, -} - -const OKBadge = ({ bgColor, color }) => ( - - - - - -) - -OKBadge.defaultProps = { - bgColor: colors.bgSuccess, - color: colors.success, -} - -const PendingBadge = ({ bgColor, color }) => ( - - - - - - - - - - -) - -PendingBadge.defaultProps = { - bgColor: colors.bgPending, - color: colors.pending, -} - -const Coinbase = () => ( - - - - -) - -const Saddle = ({ className }) => { - return ( - Saddle Logo - ) -} - -export { - Badge, - Cross, - Tooltip, - KeepCircle, - OK, - OKBadge, - PendingBadge, - ArrowRight, - Ledger, - Trezor, - MetaMask, - Tally, - Coinbase, - Authorizer, - Operations, - KeepToken, - Rewards, - GrantContextIcon, - MoneyWalletOpen, - KeepGreenOutline, - DashedLine, - AuthorizerFormIcon, - BeneficiaryFormIcon, - OperatorFormIcon, - KeepOutline, - LedgerDevice, - TrezorDevice, - TBTC, - KeepBlackGreen, - Filter, - Load, - DocumentWithBg, - DelegationDiagram, - Diamond, - ETH, - KeepLoadingIndicator, - KEEPTower, - CarDashboardSpeed, - UserFriendly, - Fees, - Alert, - Success, - Beacon, - Authorize, - Question, - Home, - FeesVector, - Time, - KeepDashboardLogo, - NetworkStatusIndicator, - Saddle, - Add, - Subtract, - ArrowDown, -} diff --git a/solidity-v1/dashboard/src/components/KeepOnlyPool.jsx b/solidity-v1/dashboard/src/components/KeepOnlyPool.jsx deleted file mode 100644 index beff4c4961..0000000000 --- a/solidity-v1/dashboard/src/components/KeepOnlyPool.jsx +++ /dev/null @@ -1,193 +0,0 @@ -import React, { useMemo, useCallback } from "react" -import CountUp from "react-countup" -import Divider from "./Divider" -import { SubmitButton } from "./Button" -import * as Icons from "./Icons" -import { APY } from "./liquidity" -import { gt, add } from "../utils/arithmetics.utils" -import { KEEP } from "../utils/token.utils" -import { useModal } from "../hooks/useModal" -import MetricsTile from "./MetricsTile" -import RewardMultiplier from "./liquidity/RewardMultiplier" -import Banner from "./Banner" -import { LINK, MODAL_TYPES } from "../constants/constants" - -const poolId = "KEEP_ONLY" -const KeepOnlyPool = ({ - apy, - lpBalance, - rewardBalance, - wrappedTokenBalance, - isFetching, - isAPYFetching, - addLpTokens, - withdrawLiquidityRewards, - rewardMultiplier, -}) => { - const { openConfirmationModal } = useModal() - - const lockedKEEP = useMemo(() => { - return add(lpBalance, rewardBalance) - }, [lpBalance, rewardBalance]) - - const formattingFn = useCallback((value) => { - return KEEP.displayAmount(KEEP.fromTokenUnit(value)) - }, []) - - const addKEEP = useCallback( - async (awaitingPromise) => { - const { amount } = await openConfirmationModal( - MODAL_TYPES.KeepOnlyPoolAddKeep, - { - availableAmount: wrappedTokenBalance, - } - ) - - addLpTokens( - poolId, - KEEP.fromTokenUnit(amount).toString(), - awaitingPromise - ) - }, - [addLpTokens, openConfirmationModal, wrappedTokenBalance] - ) - - const withdrawKEEP = useCallback( - async (awaitingPromise) => { - const { amount } = await openConfirmationModal( - MODAL_TYPES.KeepOnlyPoolWithdrawKeep, - { - availableAmount: lpBalance, - rewardedAmount: rewardBalance, - } - ) - - withdrawLiquidityRewards( - poolId, - KEEP.fromTokenUnit(amount).toString(), - awaitingPromise - ) - }, - [withdrawLiquidityRewards, lpBalance, openConfirmationModal, rewardBalance] - ) - - return ( -
    -
    -
    -

    Your KEEP Total Locked

    -

    - -  KEEP -

    -
    -

    Deposited KEEP tokens

    -

    - -  KEEP -

    -
    - -
    -

    Rewarded KEEP tokens

    -

    - -  KEEP -

    -
    - - -
    - - Incentives removed - - - The incentives for this pool has been removed and you can no - longer deposit the KEEP tokens. You can still withdraw deposited - KEEP tokens and rewards that you already earned.  - - More info - - -
    -
    -
    - - {gt(lpBalance, 0) ? "add more keep" : "deposit keep"} - - - withdraw all - -
    -
    -
    - - - - - -
    Estimate of pool apy
    -
    - - - - - -
    reward multiplier
    -
    -
    -
    -
    -
    - ) -} - -export default KeepOnlyPool diff --git a/solidity-v1/dashboard/src/components/LiquidityRewardCard.jsx b/solidity-v1/dashboard/src/components/LiquidityRewardCard.jsx deleted file mode 100644 index 8ccc4026b5..0000000000 --- a/solidity-v1/dashboard/src/components/LiquidityRewardCard.jsx +++ /dev/null @@ -1,336 +0,0 @@ -import React, { useContext, useMemo } from "react" -import DoubleIcon from "./DoubleIcon" -import OnlyIf from "./OnlyIf" -import Tooltip from "./Tooltip" -import * as Icons from "./Icons" -import { gt } from "../utils/arithmetics.utils" -import MetricsTile from "./MetricsTile" -import { APY, ShareOfPool } from "./liquidity" -import { Skeleton } from "./skeletons" -import CountUp from "react-countup" -import { KEEP } from "../utils/token.utils" -import { SubmitButton } from "./Button" -import Card from "./Card" -import { POOL_TYPE } from "../constants/constants" -import Banner from "./Banner" - -const LiquidityRewardCardContext = React.createContext({ - apy: "0", - percentageOfTotalPool: "0", - lpBalance: "0", - wrappedTokenBalance: "0", - rewardBalance: "0", - isFetching: false, - isAPYFetching: false, -}) - -const useLiquidityRewardCardContext = () => { - const context = useContext(LiquidityRewardCardContext) - if (!context) { - throw new Error( - "LiquidityRewardCardContext used outside of LiquidityRewardCard component" - ) - } - return context -} - -const LiquidityRewardCard = ({ - title, - MainIcon, - SecondaryIcon, - wrapperClassName, - isFetching = false, - isAPYFetching = false, - apy = "0", - percentageOfTotalPool = "0", - lpBalance = "0", - wrappedTokenBalance = "0", - rewardBalance = "0", - children, -}) => { - return ( - - -
    - {!!SecondaryIcon ? ( - - ) : ( - - )} -

    {title}

    -
    - {children} -
    -
    - ) -} - -const Subtitle = ({ pool, viewPoolLink, className = "" }) => { - const poolName = useMemo(() => { - switch (pool) { - case POOL_TYPE.UNISWAP: - return "Uniswap pool" - case POOL_TYPE.SADDLE: - return "Saddle pool" - case POOL_TYPE.MSTABLE: - return "mStable" - default: - return "Uniswap pool" - } - }, [pool]) - - return ( -

    - {poolName} -   - - View pool - -   - - LP tokens represent the amount of money you've deposited into a - liquidity pool as a liquidity provider. KEEP rewards are proportional to - your share of the total pool. - -

    - ) -} - -LiquidityRewardCard.Subtitle = Subtitle - -const Metrics = () => { - const { isFetching, isAPYFetching, apy, lpBalance, percentageOfTotalPool } = - useLiquidityRewardCardContext() - return ( -
    - - - - - -
    Estimate of pool apy
    -
    - - -
    Your share of POOL
    -
    -
    - ) -} - -LiquidityRewardCard.Metrics = Metrics - -LiquidityRewardCard.InactivePoolBanner = ({ inactivePoolBannerProps = {} }) => { - const bannerProps = { - icon: Icons.Bell, - title: "Incentives removed", - description: - "The incentives for this pool has been removed and you can no longer deposit the lp tokens. You can still withdraw rewards that you already earned.", - link: null, - linkText: "More info", - ...inactivePoolBannerProps, - } - return -} - -const ActivePoolBanner = ({ - pool, - viewPoolLink, - userInfoBannerProps = null, -}) => { - const { lpBalance } = useLiquidityRewardCardContext() - const hasDepositedWrappedTokens = useMemo(() => gt(lpBalance, 0), [lpBalance]) - - const bannerProps = { - icon: !hasDepositedWrappedTokens ? Icons.Rewards : Icons.Wallet, - title: !hasDepositedWrappedTokens - ? "Start earning rewards" - : "No LP Tokens found in wallet", - description: !hasDepositedWrappedTokens - ? "Get LP tokens by adding liquidity first to the" - : "Get more by adding liquidity to the", - link: viewPoolLink, - linkText: pool === POOL_TYPE.SADDLE ? "Saddle pool" : "Uniswap pool", - ...userInfoBannerProps, - } - - return -} - -LiquidityRewardCard.ActivePoolBanner = ActivePoolBanner - -const UserInfoBanner = ({ - incentivesRemoved = false, - icon, - title, - description, - link, - linkText, -}) => { - return ( - - -
    - - {title} - - - {description} - -   - - {linkText} - - - -
    -
    - ) -} - -const Rewards = () => { - const { isFetching, rewardBalance } = useLiquidityRewardCardContext() - return ( -
    -

    - Your rewards -

    - - Rewards allocated on a weekly basis. - -
    -

    - - KEEP -

    - {isFetching ? ( - - ) : ( -

    - -

    - )} -
    -
    - ) -} - -LiquidityRewardCard.Rewards = Rewards - -const ActionButtons = ({ - poolId, - incentivesRemoved, - addLpTokens, - withdrawLiquidityRewards, -}) => { - const { wrappedTokenBalance, lpBalance, rewardBalance } = - useLiquidityRewardCardContext() - return ( - <> - - - addLpTokens(poolId, wrappedTokenBalance, awaitingPromise) - } - > - {gt(lpBalance, 0) ? "add more lp tokens" : "deposit lp tokens"} - - - - withdrawLiquidityRewards(poolId, lpBalance, awaitingPromise) - } - > - withdraw all - - {(gt(rewardBalance, 0) || gt(lpBalance, 0)) && ( -
    - Withdraw includes rewards and principal -
    - )} - - ) -} - -LiquidityRewardCard.ActionButtons = ActionButtons - -LiquidityRewardCard.GoToPoolButton = ({ viewPoolLink }) => { - return ( - - go to pool - - ) -} - -export default LiquidityRewardCard diff --git a/solidity-v1/dashboard/src/components/List.jsx b/solidity-v1/dashboard/src/components/List.jsx deleted file mode 100644 index 9dfea306d8..0000000000 --- a/solidity-v1/dashboard/src/components/List.jsx +++ /dev/null @@ -1,78 +0,0 @@ -import React, { useContext } from "react" -import { isEmptyArray } from "../utils/array.utils" - -const ListContext = React.createContext({ - items: [], - renderItem: () => <>, -}) - -const useListContext = () => { - const context = useContext(ListContext) - - if (!context) { - throw new Error("ListContext used outside of List component") - } - - return context -} - -const renderListItem = (item, index) => ( - -) - -const List = ({ - items = [], - renderItem = renderListItem, - className = "", - children, - ...restProps -}) => { - return ( - -
    - {children} -
    -
    - ) -} - -List.Title = ({ children, className = "" }) => { - return

    {children}

    -} - -const ListContent = ({ children, className = "" }) => { - const { items, renderItem } = useListContext() - - return ( -
      - {isEmptyArray(items) ? children : items.map(renderItem)} -
    - ) -} - -List.Content = ListContent - -List.DefaultItem = ({ - className = "", - icon: IconComponent, - iconProps = {}, - label, -}) => { - return ( - - {IconComponent && ( - <> - -   - - )} - {label} - - ) -} - -List.Item = ({ children, className = "" }) => { - return
  • {children}
  • -} - -export default List diff --git a/solidity-v1/dashboard/src/components/Loadable.jsx b/solidity-v1/dashboard/src/components/Loadable.jsx deleted file mode 100644 index ece25e6067..0000000000 --- a/solidity-v1/dashboard/src/components/Loadable.jsx +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useEffect, useRef, useState } from "react" -import { CSSTransition, SwitchTransition } from "react-transition-group" -import * as Icons from "./Icons" - -const Loadable = ({ text, isFetching, children }) => - isFetching ?
    {text}
    : children - -Loadable.defaultProps = { - text: "Loading...", - isFetching: true, -} - -export const ClockIndicator = ({ color }) => ( -
    -) - -ClockIndicator.defaultProps = { - color: "", -} - -export const LoadingOverlay = React.memo( - ({ isFetching, children, skeletonComponent }) => { - const ref = useRef(null) - const [fetchingDelay, setFetchingDelay] = useState(true) - - // force switch between skeleton -> children when `isFetching` prop has a constant value. - useEffect(() => { - setFetchingDelay(isFetching) - }, [isFetching]) - - return ( -
    - - { - node.addEventListener("transitionend", done, false) - }} - classNames="loading-overlay" - onEntering={() => { - if (ref.current) { - ref.current.style.backgroundColor = "transparent" - } - }} - > -
    - {fetchingDelay ? skeletonComponent : children} -
    -
    -
    -
    - ) - } -) - -export const KeepLoadingIndicator = ({ width = 140, height = 140 }) => ( - -) - -export default Loadable diff --git a/solidity-v1/dashboard/src/components/MasonryFlexContainer.jsx b/solidity-v1/dashboard/src/components/MasonryFlexContainer.jsx deleted file mode 100644 index 83b70c19f4..0000000000 --- a/solidity-v1/dashboard/src/components/MasonryFlexContainer.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react" - -const MasonryFlexContainer = ({ maxHeight, className = "", children }) => { - const style = { - maxHeight: maxHeight, - } - return ( -
    - {children} -
    - ) -} - -export default MasonryFlexContainer diff --git a/solidity-v1/dashboard/src/components/MaxAmountAddon.jsx b/solidity-v1/dashboard/src/components/MaxAmountAddon.jsx deleted file mode 100644 index ab8b081949..0000000000 --- a/solidity-v1/dashboard/src/components/MaxAmountAddon.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react" -import * as Icons from "./Icons" -import Tag from "./Tag" - -const MaxAmountAddon = ({ onClick, text, ...otherProps }) => { - return ( - - ) -} - -export default MaxAmountAddon diff --git a/solidity-v1/dashboard/src/components/Message.jsx b/solidity-v1/dashboard/src/components/Message.jsx deleted file mode 100644 index 1ed4f4647f..0000000000 --- a/solidity-v1/dashboard/src/components/Message.jsx +++ /dev/null @@ -1,160 +0,0 @@ -import React, { useContext, useEffect } from "react" -import { CSSTransition, TransitionGroup } from "react-transition-group" -import Banner from "./Banner" -import { showMessage, closeMessage } from "../actions/messages" -import { connect } from "react-redux" -import { ViewInBlockExplorer } from "./ViewInBlockExplorer" -import LiquidityRewardsEarnedMessage from "./messages/LiquidityRewardsEarnedMessage" -import LPTokensInWalletMessage from "./messages/LPTokensInWalletMessage" -import WalletMessage from "./messages/WalletMessage" -import PendingActionMessage from "./messages/PendingActionMessage" -import SuccessMessage from "./messages/SuccessMessage" -import ErrorMessage from "./messages/ErrorMessage" -import DelegationAlreadyCopiedMessage from "./messages/DelegationAlreadyCopiedMessage" -import TopUpReadyToBeCommittedMessage from "./messages/TopUpReadyToBeCommittedMessage" -import StakeReadyToBeStakedToT from "./messages/StakeReadyToBeStakedToT" - -export const MessagesContext = React.createContext({}) - -export const messageType = { - SUCCESS: SuccessMessage, - ERROR: ErrorMessage, - PENDING_ACTION: PendingActionMessage, - INFO: LiquidityRewardsEarnedMessage, - WALLET: WalletMessage, - NEW_LP_TOKENS_IN_WALLET: LPTokensInWalletMessage, - LIQUIDITY_REWARDS_EARNED: LiquidityRewardsEarnedMessage, - DELEGATION_ALREADY_COPIED: DelegationAlreadyCopiedMessage, - TOP_UP_READY_TO_BE_COMMITTED: TopUpReadyToBeCommittedMessage, - STAKE_READY_TO_BE_STAKED_TO_T: StakeReadyToBeStakedToT, -} - -const messageTransitionTimeoutInMs = 500 - -class MessagesComponent extends React.Component { - showMessage = (options) => { - this.props.showMessage(options) - } - - onMessageClose = (messageId) => { - this.props.closeMessage(messageId) - } - - renderSpecificMessageType = (message) => { - const SpecificComponent = message.messageType - return ( - - ) - } - - render() { - return ( - -
    - - {this.props.messages.map((message) => ( - - {this.renderSpecificMessageType(message)} - - ))} - -
    - {this.props.children} -
    - ) - } -} - -const mapStateToProps = (state) => { - return { messages: state.messages } -} - -const mapDispatchToProps = { - showMessage, - closeMessage, -} - -export const Messages = connect( - mapStateToProps, - mapDispatchToProps -)(MessagesComponent) - -const closeMessageTimeoutInMs = 3250 - -export const Message = ({ - icon, - sticky, - title, - content, - classes, - withTransactionHash, - txHash, - messageId, - onMessageClose, -}) => { - useEffect(() => { - if (!sticky) { - const timeout = setTimeout( - () => onMessageClose(messageId), - closeMessageTimeoutInMs - ) - return () => clearTimeout(timeout) - } - }, [sticky, messageId, onMessageClose]) - - return ( - -
    - -
    - {title} - {content && ( - - {content} - - )} - {withTransactionHash && ( - - - - )} -
    - onMessageClose(messageId)} /> -
    -
    - ) -} - -const styles = { - messageContentWrapper: { minWidth: 0, flex: 1 }, -} - -export const useShowMessage = () => { - const { showMessage } = useContext(MessagesContext) - - return showMessage -} - -export const useCloseMessage = () => { - const { closeMessage } = useContext(MessagesContext) - - return closeMessage -} diff --git a/solidity-v1/dashboard/src/components/MetricsTile.jsx b/solidity-v1/dashboard/src/components/MetricsTile.jsx deleted file mode 100644 index 84f9ccc59f..0000000000 --- a/solidity-v1/dashboard/src/components/MetricsTile.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react" -import Tooltip from "./Tooltip" -import * as Icons from "./Icons" - -const MetricsTile = ({ className, children, style = {} }) => { - return ( -
    - {children} -
    - ) -} - -MetricsTile.Tooltip = ({ className, children, ...restTooltipProps }) => { - return ( - - {children} - - ) -} - -export default MetricsTile diff --git a/solidity-v1/dashboard/src/components/NavLink.jsx b/solidity-v1/dashboard/src/components/NavLink.jsx deleted file mode 100644 index 75b76231fd..0000000000 --- a/solidity-v1/dashboard/src/components/NavLink.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react" -import { NavLink as NavLinkReactRouterDOM } from "react-router-dom" -import useFinalPath from "../hooks/useFinalPath" - -const NavLink = ({ to, ...props }) => { - // NavLink from react-router-dom can also accept `to` prop as an object so we - // have to extract the pathname from it if that will be the case here - const path = typeof to === "object" ? to.pathname : to - const finalPath = useFinalPath(path) - if (typeof to === "object") { - to.pathname = finalPath - } - - return ( - - ) -} - -export default NavLink diff --git a/solidity-v1/dashboard/src/components/NetworkStatus.jsx b/solidity-v1/dashboard/src/components/NetworkStatus.jsx deleted file mode 100644 index 5dc75eeb54..0000000000 --- a/solidity-v1/dashboard/src/components/NetworkStatus.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react" -import { useWeb3Context } from "./WithWeb3Context" -import * as Icons from "./Icons" - -export const NetworkStatus = () => { - const { networkType, error, isConnected } = useWeb3Context() - - let status = "disconnected" - if (error) { - status = "error" - } else if (isConnected) { - status = "connected" - } - - return ( -
    - - - {status === "disconnected" && "Network Disconnected"} - {status === "error" && error} - {status === "connected" && networkType} - -
    - ) -} diff --git a/solidity-v1/dashboard/src/components/NoData.jsx b/solidity-v1/dashboard/src/components/NoData.jsx deleted file mode 100644 index 63325e8c9d..0000000000 --- a/solidity-v1/dashboard/src/components/NoData.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react" - -const NoData = ({ title, iconComponent, content }) => ( -
    -

    {title}

    - {iconComponent} - {content} -
    -) - -export default NoData diff --git a/solidity-v1/dashboard/src/components/NotFound404.jsx b/solidity-v1/dashboard/src/components/NotFound404.jsx deleted file mode 100644 index 35ac752956..0000000000 --- a/solidity-v1/dashboard/src/components/NotFound404.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react" -import { useLocation } from "react-router-dom" - -export const NotFound404 = () => { - const location = useLocation() - - return ( -
    -

    - No match for {location.pathname} -

    -
    - ) -} diff --git a/solidity-v1/dashboard/src/components/OnlyIf.jsx b/solidity-v1/dashboard/src/components/OnlyIf.jsx deleted file mode 100644 index 09fc192a53..0000000000 --- a/solidity-v1/dashboard/src/components/OnlyIf.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react" - -const OnlyIf = ({ condition, children }) => { - return condition ? children : <> -} - -export default OnlyIf diff --git a/solidity-v1/dashboard/src/components/PageWrapper.jsx b/solidity-v1/dashboard/src/components/PageWrapper.jsx deleted file mode 100644 index 665b5ebcc4..0000000000 --- a/solidity-v1/dashboard/src/components/PageWrapper.jsx +++ /dev/null @@ -1,38 +0,0 @@ -import React from "react" -import { Switch } from "react-router-dom" -import Header from "./Header" -import { renderExplorerModePage, renderPage } from "./Routing" -import { isEmptyArray } from "../utils/array.utils" -import Redirect from "./Redirect" - -const PageWrapper = ({ - title, - routes, - children, - headerClassName = "", - newPage = false, -}) => { - const hasRoutes = !isEmptyArray(routes) - - return ( - <> -
    _.route) : []} - className={headerClassName} - newPage={newPage} - /> -
    - {children} - {hasRoutes && ( - - {routes.map(renderPage)} - {routes.map(renderExplorerModePage)} - - - )} -
    - - ) -} -export default PageWrapper diff --git a/solidity-v1/dashboard/src/components/PendingUndelegation.jsx b/solidity-v1/dashboard/src/components/PendingUndelegation.jsx deleted file mode 100644 index e56f9afed3..0000000000 --- a/solidity-v1/dashboard/src/components/PendingUndelegation.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from "react" -import { formatDate } from "../utils/general.utils" -import { KEEP } from "../utils/token.utils" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { DataTable, Column } from "./DataTable" -import moment from "moment" -import Tile from "./Tile" - -const PendingUndelegation = ({ data }) => { - return data.delegationStatus === "UNDELEGATED" ? ( - - - - stakedBalance && `${KEEP.displayAmount(stakedBalance)}` - } - /> - { - return ( - - ) - }} - /> - - undelegationCompletedAt ? formatDate(undelegationCompletedAt) : "-" - } - /> - { - const undelegationPeriodRelativeTime = moment() - .add(undelegationPeriod, "seconds") - .fromNow(true) - return undelegationPeriodRelativeTime - }} - /> - - - ) : null -} - -export default PendingUndelegation diff --git a/solidity-v1/dashboard/src/components/ProgressBar.jsx b/solidity-v1/dashboard/src/components/ProgressBar.jsx deleted file mode 100644 index 8afab42d61..0000000000 --- a/solidity-v1/dashboard/src/components/ProgressBar.jsx +++ /dev/null @@ -1,220 +0,0 @@ -import React, { useMemo, useContext } from "react" -import BigNumber from "bignumber.js" -import CircularProgressBar from "./CircularProgressBar" -import { percentageOf, sub, lt } from "../utils/arithmetics.utils" -import { formatValue } from "../utils/general.utils" -import { colors } from "../constants/colors" -import ReactTooltip from "react-tooltip" - -const defaultValue = 0 -const totalDefaultValue = 1 - -const calculateWidth = (value, total) => { - const valueInBn = new BigNumber(value || defaultValue) - const totalInBn = new BigNumber(total || totalDefaultValue) - - return valueInBn.multipliedBy(100).div(totalInBn).toFixed(2).toString() -} - -const ProgressBarContext = React.createContext({ value: 0, total: 0 }) - -const useProgressBarContext = () => { - const context = useContext(ProgressBarContext) - - if (!context) { - throw new Error("ProgressBarContext used outside of ProgressBar component") - } - - return context -} - -const ProgressBar = ({ value, total, color, bgColor, children }) => { - return ( - - {children} - - ) -} - -const ProgressBarInline = ({ - height = 10, - className = "", - style = {}, - children, -}) => { - const { bgColor } = useProgressBarContext() - - return ( -
    - {children} -
    - ) -} - -const ProgressBarInlineItem = ({ - value = "0", - color = colors.secondary, - label = "progress-bar-inline-item", - withTooltip = false, - renderTooltip = null, -}) => { - const { total } = useProgressBarContext() - - const barWidth = useMemo(() => calculateWidth(value, total), [value, total]) - - const tooltipId = useMemo( - () => label.replace(/\s+/g, "-").toLowerCase(), - [label] - ) - - return withTooltip ? ( - <> -
    - - {renderTooltip ? renderTooltip : value} - - - ) : ( -
    - ) -} - -const defaultDisplayLegendValueFn = (value) => value.toString() -export const ProgressBarLegendContext = React.createContext({ - renderValuePattern: defaultDisplayLegendValueFn, -}) - -const useProgressBarLegendContext = () => { - const context = useContext(ProgressBarLegendContext) - - if (!context) { - throw new Error( - "ProgressBarLegendContext used outside of ProgressBar component" - ) - } - - return context -} - -const ProgressBarLegend = ({ - valueLabel, - leftValueLabel, - renderValuePattern = defaultDisplayLegendValueFn, -}) => { - const { value, total, color, bgColor } = useProgressBarContext() - const leftValue = useMemo(() => { - const left = sub(total, value).toString() - return lt(left, 0) ? 0 : left - }, [value, total]) - - return ( - -
    - - -
    -
    - ) -} - -export const ProgressBarLegendItem = React.memo( - ({ value, label, color, className = "" }) => { - const { renderValuePattern } = useProgressBarLegendContext() - const renderedValue = React.isValidElement(renderValuePattern) - ? React.cloneElement(renderValuePattern, { amount: value }) - : renderValuePattern(value) - - return ( -
    -
    - - {renderedValue} -   - - {label} -
    - ) - } -) - -const ProgressBarCircular = (props) => { - const { value, total, color, bgColor } = useProgressBarContext() - - return ( - - ) -} - -export const renderProgressBarLegendItem = (item, index, className = "") => ( - -) - -const PercentageLabel = ({ text, className = "" }) => { - const { value, total } = useProgressBarContext() - const percentageOfValue = useMemo( - () => formatValue(percentageOf(value, total)), - [value, total] - ) - - return ( - - - {percentageOfValue}% - - {text} - - ) -} - -// const ProgressBarLegend2 = () => { -// return ( -//
    -// -// -//
    -// ) -// } - -ProgressBar.Inline = ProgressBarInline -ProgressBar.InlineItem = ProgressBarInlineItem -ProgressBar.Legend = ProgressBarLegend -ProgressBar.LegendItem = ProgressBarLegendItem -ProgressBar.Circular = ProgressBarCircular -ProgressBar.PercentageLabel = PercentageLabel - -export default ProgressBar diff --git a/solidity-v1/dashboard/src/components/RandomBeaconRewardsTable.jsx b/solidity-v1/dashboard/src/components/RandomBeaconRewardsTable.jsx deleted file mode 100644 index eed2a262ea..0000000000 --- a/solidity-v1/dashboard/src/components/RandomBeaconRewardsTable.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from "react" -import { DataTable, Column } from "./DataTable" -import * as Icons from "./Icons" -import Chip from "./Chip" -import { shortenAddress } from "../utils/general.utils" - -const RandomBeaconRewardsTable = ({ data }) => { - return ( - - - - - - {/* */} - - ) -} - -const renderAmount = ({ amount }) => - -const AmountCell = ({ amount }) => { - return ( -
    - -
    -
    {amount} KEEP
    -
    - -  Reward -
    -
    -
    - ) -} - -const renderStatus = ({ status }) => ( - -) - -const renderGroupPublicKey = ({ groupPublicKey }) => - shortenAddress(groupPublicKey) - -export default RandomBeaconRewardsTable diff --git a/solidity-v1/dashboard/src/components/RecoverStakeButton.jsx b/solidity-v1/dashboard/src/components/RecoverStakeButton.jsx deleted file mode 100644 index ae48627a58..0000000000 --- a/solidity-v1/dashboard/src/components/RecoverStakeButton.jsx +++ /dev/null @@ -1,58 +0,0 @@ -import React from "react" -import Button from "./Button" -import { ContractsLoaded } from "../contracts" -import { useModal } from "../hooks/useModal" -import { MODAL_TYPES } from "../constants/constants" -import { useWeb3Address } from "./WithWeb3Context" -import * as Icons from "./Icons" -import { colors } from "../constants/colors" - -const RecoverStakeButton = ({ - operatorAddress, - recoverStake, - amount, - isFromGrant, - ...props -}) => { - const { openConfirmationModal, openModal } = useModal() - const address = useWeb3Address() - - const onRecoverStake = async () => { - const { tokenStakingEscrow } = await ContractsLoaded - let destinationAddress = address - if (isFromGrant) { - destinationAddress = tokenStakingEscrow.options.address - try { - await openConfirmationModal(MODAL_TYPES.ConfirmRecovering, { - tokenStakingEscrowAddress: destinationAddress, - }) - } catch (err) { - return - } - } - - openModal(MODAL_TYPES.ClaimStakingTokens, { - amount, - operator: operatorAddress, - destinationAddress, - }) - } - - return ( - - ) -} - -RecoverStakeButton.defaultProps = { - btnClassName: "btn btn-sm btn-secondary", - btnText: "claim", - successCallback: () => {}, - isFromGrant: false, -} - -export default React.memo(RecoverStakeButton) diff --git a/solidity-v1/dashboard/src/components/Redirect.jsx b/solidity-v1/dashboard/src/components/Redirect.jsx deleted file mode 100644 index a7b3c08b1b..0000000000 --- a/solidity-v1/dashboard/src/components/Redirect.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from "react" -import { Redirect as RedirectReadtRouterDOM } from "react-router-dom" -import useFinalPath from "../hooks/useFinalPath" - -const Redirect = ({ to, ...props }) => { - const finalPath = useFinalPath(to) - return -} - -export default Redirect diff --git a/solidity-v1/dashboard/src/components/ResourceTooltip.jsx b/solidity-v1/dashboard/src/components/ResourceTooltip.jsx deleted file mode 100644 index 0698833ac3..0000000000 --- a/solidity-v1/dashboard/src/components/ResourceTooltip.jsx +++ /dev/null @@ -1,48 +0,0 @@ -import React from "react" -import Tooltip from "./Tooltip" -import * as Icons from "./Icons" -import { colors } from "../constants/colors" -import NavLink from "./NavLink" - -export const ResourceTooltipContent = ({ - title, - content, - redirectLink = "/resources/quick-terminology", - linkText = "Learn more in Resources", - withRedirectLink = true, -}) => { - return ( - <> - - - {content} - {withRedirectLink && ( - - {linkText} - - )} - - ) -} - -const ResourceTooltip = ({ - iconColor = colors.grey70, - iconBackgroundColor = colors.mint20, - tooltipClassName = "", - ...restProps -}) => { - return ( - } - > - - - ) -} - -export default ResourceTooltip diff --git a/solidity-v1/dashboard/src/components/Rewards.jsx b/solidity-v1/dashboard/src/components/Rewards.jsx deleted file mode 100644 index a106c02c4f..0000000000 --- a/solidity-v1/dashboard/src/components/Rewards.jsx +++ /dev/null @@ -1,338 +0,0 @@ -import React, { useEffect, useState, useMemo } from "react" -import { useDispatch } from "react-redux" -import Button from "./Button" -import { LoadingOverlay } from "./Loadable" -import { useFetchData } from "../hooks/useFetchData" -import rewardsService from "../services/rewards.service" -import DataTableSkeleton from "./skeletons/DataTableSkeleton" -import { DataTable, Column } from "./DataTable" -import AddressShortcut from "./AddressShortcut" -import { SubmitButton } from "./Button" -import { useWeb3Context, useWeb3Address } from "./WithWeb3Context" -import { findIndexAndObject } from "../utils/array.utils" -import { PENDING_STATUS } from "../constants/constants" -import { isSameEthAddress } from "../utils/general.utils" -import { sub } from "../utils/arithmetics.utils" -import Tile from "./Tile" -import TokenAmount from "./TokenAmount" -import RewardsStatus from "./RewardsStatus" -import { useSubscribeToContractEvent } from "../hooks/useSubscribeToContractEvent" -import { - OPERATOR_CONTRACT_NAME, - REWARD_STATUS, - SIGNING_GROUP_STATUS, -} from "../constants/constants" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import Skeleton from "./skeletons/Skeleton" -import { withdrawGroupMemberRewards } from "../actions/web3" -import ResourceTooltip from "./ResourceTooltip" -import { ETH } from "../utils/token.utils" - -const previewDataCount = 10 -const initialRewardsData = [[], "0"] -const rewardsStatusFilterOptions = [ - { status: REWARD_STATUS.AVAILABLE }, - { status: REWARD_STATUS.ACCUMULATING }, - { status: REWARD_STATUS.WITHDRAWN }, -] - -export const Rewards = () => { - const dispatch = useDispatch() - const { keepRandomBeaconOperatorContract } = useWeb3Context() - const address = useWeb3Address() - - // fetch rewards - const [state, updateData, , setFetchAvailableRewardsArgs] = useFetchData( - rewardsService.fetchAvailableRewards, - initialRewardsData, - address - ) - const { - isFetching, - data: [rewards, totalRewardsBalance], - } = state - - useEffect(() => { - if (address) { - setFetchAvailableRewardsArgs([address]) - } - }, [setFetchAvailableRewardsArgs, address]) - - // fetch withdrawals - const [ - withdrawalHistoryState, - updateWithdrawalHistoryData, - , - setFetchWithdrawalHistoryArgs, - ] = useFetchData(rewardsService.fetchWithdrawalHistory, []) - const { data: withdrawals } = withdrawalHistoryState - - useEffect(() => { - if (address) { - setFetchWithdrawalHistoryArgs([address]) - } - }, [setFetchWithdrawalHistoryArgs, address]) - - // see more/less button state - const [showAll, setShowAll] = useState(false) - - // filter dropdown - const [rewardFilter, setRewardFilter] = useState({}) - - const withdrawnEventCallback = (latestEvent) => { - const { - transactionHash, - blockNumber, - returnValues: { groupIndex, amount, beneficiary, operator }, - } = latestEvent - - if (!isSameEthAddress(address, beneficiary)) { - return - } - - updateRewards(latestEvent) - keepRandomBeaconOperatorContract.methods - .getGroupPublicKey(groupIndex) - .call() - .then((groupPublicKey) => { - const withdrawal = { - blockNumber, - groupPublicKey, - transactionHash, - reward: amount, - operatorAddress: operator, - status: REWARD_STATUS.WITHDRAWN, - groupStatus: SIGNING_GROUP_STATUS.COMPLETED, - } - updateWithdrawalHistoryData([withdrawal, ...withdrawals]) - }) - } - - // subscribe to `GroupMemberRewardsWithdrawn` event - useSubscribeToContractEvent( - OPERATOR_CONTRACT_NAME, - "GroupMemberRewardsWithdrawn", - withdrawnEventCallback - ) - - const updateRewards = (latestEvent) => { - const { - returnValues: { groupIndex, operator, amount }, - } = latestEvent - const { indexInArray } = findIndexAndObject( - "groupIndex", - groupIndex, - rewards, - (object) => isSameRewardRecord(object, groupIndex, operator) - ) - - if (indexInArray === null) { - return - } - - const updateTotalRewardsBalance = sub(totalRewardsBalance, amount) - const updatedRewards = [...rewards] - updatedRewards.splice(indexInArray, 1) - - updateData([updatedRewards, updateTotalRewardsBalance]) - } - - const withdrawReward = async ( - operatorAddress, - groupIndex, - awaitingPromise - ) => { - updateRewardStatus(PENDING_STATUS, groupIndex, operatorAddress) - dispatch( - withdrawGroupMemberRewards(operatorAddress, groupIndex, awaitingPromise) - ) - } - - const updateRewardStatus = (status, groupIndex, operator) => { - const { indexInArray } = findIndexAndObject( - "groupIndex", - groupIndex, - rewards, - (object) => isSameRewardRecord(object, groupIndex, operator) - ) - if (indexInArray === null) { - return - } - const updatedGroups = [...rewards] - updatedGroups[indexInArray].status = status - - updateData([updatedGroups, totalRewardsBalance]) - } - - const rewardsData = useMemo(() => { - const allRewards = [...rewards, ...withdrawals] - let rewardsToReturn = [] - - if (!rewardFilter.status) { - rewardsToReturn = allRewards - } else { - rewardsToReturn = allRewards.filter( - ({ status }) => status === rewardFilter.status - ) - } - - return showAll - ? rewardsToReturn - : rewardsToReturn.slice(0, previewDataCount) - }, [rewards, withdrawals, showAll, rewardFilter.status]) - - return ( - <> - -
    - {isFetching ? ( - - ) : ( -
    - -
    - -
    -
    - )} -
    -
    - - -
    -
    - } - > -
    - status, - isFilterDropdow: true, - allItemsFilterText: "All rewards", - }} - > - ( - - )} - /> - } - /> - ( - - {groupStatus} - - )} - /> - ( - - )} - /> - ( - - )} - /> - - status !== REWARD_STATUS.WITHDRAWN && ( - - await withdrawReward( - operatorAddress, - groupIndex, - awaitingPromise - ) - } - > - withdraw - - ) - } - /> - -
    - {rewards.length + withdrawals.length > previewDataCount && ( - - )} -
    -
    -
    - - ) -} - -const isSameRewardRecord = (reward, groupIndex, operator) => - reward.groupIndex === groupIndex && - isSameEthAddress(operator, reward.operatorAddress) diff --git a/solidity-v1/dashboard/src/components/RewardsDetails.jsx b/solidity-v1/dashboard/src/components/RewardsDetails.jsx deleted file mode 100644 index 07af56c186..0000000000 --- a/solidity-v1/dashboard/src/components/RewardsDetails.jsx +++ /dev/null @@ -1,111 +0,0 @@ -import React from "react" -import * as Icons from "./Icons" -import BeaconRewardsHelper, { ECDSARewardsHelper } from "../utils/rewardsHelper" -import { KEEP } from "../utils/token.utils" -import { formatDate } from "../utils/general.utils" - -const MinKeepInInterval = ({ label, minKeep }) => { - return ( -
  • - - {label} - {minKeep} -
  • - ) -} - -const NextInterval = ({ nextIntervalStart, intervalsLeft }) => { - return ( -
  • -
    - - Next Interval - - {nextIntervalStart} - -
    -
    - {intervalsLeft} intervals left -
    -
  • - ) -} - -const BeaconRewardsDetails = ({ pastRewards }) => { - const intervalsLeft = - BeaconRewardsHelper.keepAllocationsInInterval.length - - BeaconRewardsHelper.currentInterval - - 1 - - const nextIntervalStart = formatDate( - BeaconRewardsHelper.intervalStartOf(BeaconRewardsHelper.currentInterval + 1) - ) - - return ( - <> -

    Rewards Details

    -
      - - {/*
    • - - Past Rewards - - {displayAmount(pastRewards)} - -
    • */} - -
    - - ) -} - -const ECDSARewardsDetails = ({ pastRewards }) => { - const intervalsLeft = - ECDSARewardsHelper.intervals - ECDSARewardsHelper.currentInterval - 1 - - const nextIntervalStart = formatDate( - ECDSARewardsHelper.intervalStartOf(ECDSARewardsHelper.currentInterval + 1) - ) - - return ( - <> -

    Rewards Details

    -
      - -
    • - - Past Rewards - - {`${KEEP.displayAmountWithSymbol(pastRewards)}`} - -
    • - -
    - - ) -} - -export { BeaconRewardsDetails, ECDSARewardsDetails } diff --git a/solidity-v1/dashboard/src/components/RewardsStatus.jsx b/solidity-v1/dashboard/src/components/RewardsStatus.jsx deleted file mode 100644 index 39467cca46..0000000000 --- a/solidity-v1/dashboard/src/components/RewardsStatus.jsx +++ /dev/null @@ -1,40 +0,0 @@ -import React from "react" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { - COMPLETE_STATUS, - PENDING_STATUS, - REWARD_STATUS, -} from "../constants/constants" -import { ViewInBlockExplorer } from "./ViewInBlockExplorer" - -const RewardsStatus = ({ status, transactionHash }) => { - switch (status) { - case PENDING_STATUS: - return - case REWARD_STATUS.AVAILABLE: - return ( - - ) - case REWARD_STATUS.ACCUMULATING: - return - - case REWARD_STATUS.WITHDRAWN: - return ( - <> - -
    - -
    - - ) - default: - return null - } -} - -export default React.memo(RewardsStatus) diff --git a/solidity-v1/dashboard/src/components/Routing.jsx b/solidity-v1/dashboard/src/components/Routing.jsx deleted file mode 100644 index 1692b37e91..0000000000 --- a/solidity-v1/dashboard/src/components/Routing.jsx +++ /dev/null @@ -1,114 +0,0 @@ -import React from "react" -import { Route, Switch, Redirect } from "react-router-dom" -import web3Utils from "web3-utils" -import { NotFound404 } from "./NotFound404" -import { useWeb3Context } from "./WithWeb3Context" -import OperationsPage from "../pages/operations" -import DelegationPage from "../pages/delegation" -import EarningsPage from "../pages/earnings" -import ApplicationsPage from "../pages/applications" -import ResourcesPage from "../pages/ResourcesPage" -import TokenOverviewPage from "../pages/OverviewPage" -import TokenGrantsPage, { TokenGrantPreviewPage } from "../pages/grants" -import RewardsPage from "../pages/rewards" -import CoveragePoolPage from "../pages/coverage-pools" -import ThresholdPage from "../pages/threshold" -// import CreateTokenGrantPage from "../pages/CreateTokenGrantPage" - -export const pages = [ - TokenOverviewPage, - DelegationPage, - TokenGrantsPage, - TokenGrantPreviewPage, - OperationsPage, - ApplicationsPage, - EarningsPage, - RewardsPage, - ResourcesPage, - CoveragePoolPage, - ThresholdPage, -] - -class Routing extends React.Component { - render() { - return ( - - {/* In case that users will have bookmarked the old link. */} - - - - {/* */} - {pages.map(renderPage)} - {pages.map(renderExplorerModePage)} - - - - - - - - ) - } -} - -export const renderPage = (PageComponent, index) => { - return ( - - ) -} - -const CustomRoute = ({ - path, - exact, - component: Component, - emptyStateComponent: EmptyStateComponent = null, - withConnectWalletGuard = false, - ...componentProps -}) => { - const { isConnected } = useWeb3Context() - - return ( - - {!withConnectWalletGuard || (withConnectWalletGuard && isConnected) ? ( - - ) : ( - - )} - - ) -} - -export const renderExplorerModePage = (PageComponent, index) => { - const finalPath = "/:address" + PageComponent.route.path - return ( - { - const address = routeProps.match.params.address - if (web3Utils.isAddress(address)) { - return ( - - ) - } - return - }} - /> - ) -} - -export default Routing diff --git a/solidity-v1/dashboard/src/components/SeeAllButton.jsx b/solidity-v1/dashboard/src/components/SeeAllButton.jsx deleted file mode 100644 index 9d826333be..0000000000 --- a/solidity-v1/dashboard/src/components/SeeAllButton.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react" -import Button from "./Button" - -export const SeeAllButton = ({ - showAll, - onClickCallback, - previewDataCount, - dataLength, -}) => { - if (dataLength <= previewDataCount || dataLength === 0) { - return null - } - - return ( - - ) -} diff --git a/solidity-v1/dashboard/src/components/SelectedRewardDropdown.jsx b/solidity-v1/dashboard/src/components/SelectedRewardDropdown.jsx deleted file mode 100644 index 857546acf7..0000000000 --- a/solidity-v1/dashboard/src/components/SelectedRewardDropdown.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react" -import { shortenAddress } from "../utils/general.utils" - -const groupPublicKeyStyle = { - marginRight: "20px", - borderRadius: "100px", - padding: "0.1rem", -} - -const SelectedRewardDropdown = ({ groupReward }) => { - return ( -
    -
    - {`${groupReward.reward} ETH`} -
    -
    - group key: - -  {shortenAddress(groupReward.groupPublicKey)} - -
    -
    - ) -} - -export default React.memo(SelectedRewardDropdown) diff --git a/solidity-v1/dashboard/src/components/SideMenu.jsx b/solidity-v1/dashboard/src/components/SideMenu.jsx deleted file mode 100644 index 904b8d8d38..0000000000 --- a/solidity-v1/dashboard/src/components/SideMenu.jsx +++ /dev/null @@ -1,117 +0,0 @@ -import React from "react" -import { useRouteMatch } from "react-router-dom" -import OverviewPage from "../pages/OverviewPage" -import DelegationPage from "../pages/delegation" -import TokenGrantsPage from "../pages/grants" -import ApplicationsPage from "../pages/applications" -import OperationsPage from "../pages/operations" -import EarningsPage from "../pages/earnings" -import RewardsPage from "../pages/rewards" -import ResourcesPage from "../pages/ResourcesPage" -import * as Icons from "./Icons" -import Divider from "./Divider" -import { isEmptyArray } from "../utils/array.utils" -import Chip from "./Chip" -import NavLink from "./NavLink" -import CoveragePoolPage from "../pages/coverage-pools" -import ThresholdPage from "../pages/threshold" - -const styles = { - overviewDivider: { margin: "1rem 1.5rem" }, -} - -export const SideMenu = (props) => { - return ( - - ) -} - -const NavLinkSection = ({ label, icon, subroutes = [] }) => { - return ( -
  • -
    -
    {icon}
    - {label} -
    - {!isEmptyArray(subroutes) && ( -
      - {subroutes.map(renderRoute)} -
    - )} -
  • - ) -} - -const renderRoute = (route) => ( - -) - -const NavLinkSectionRoute = ({ title, path, exact, withNewLabel }) => { - const match = useRouteMatch({ - path, - exact, - }) - - return ( -
  • - - {title} - {withNewLabel && } - -
  • - ) -} diff --git a/solidity-v1/dashboard/src/components/SlashedTokensList.jsx b/solidity-v1/dashboard/src/components/SlashedTokensList.jsx deleted file mode 100644 index f89a4ede10..0000000000 --- a/solidity-v1/dashboard/src/components/SlashedTokensList.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react" -import { formatDate } from "../utils/general.utils" -import { KEEP } from "../utils/token.utils" -import AddressShortcut from "./AddressShortcut" -import { DataTable, Column } from "./DataTable" -import resourceTooltipProps from "../constants/tooltips" - -const SlashedTokensList = ({ slashedTokens }) => { - return ( - - ( - <> - - {amount && `-${KEEP.displayAmount(amount)}`} - - {KEEP.symbol} - - )} - /> - ( - <> -
    - Group  - -   - {event === "UnauthorizedSigningReported" - ? "key was leaked. Private key was published outside of the members of the signing group." - : "was selected to do work and not enough members participated."} -
    -
    - {formatDate(date, "MMM DD, YYYY")} -
    - - )} - /> -
    - ) -} - -export default React.memo(SlashedTokensList) diff --git a/solidity-v1/dashboard/src/components/SpeechBubbleTooltip.jsx b/solidity-v1/dashboard/src/components/SpeechBubbleTooltip.jsx deleted file mode 100644 index e262685a64..0000000000 --- a/solidity-v1/dashboard/src/components/SpeechBubbleTooltip.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from "react" -import * as Icons from "./Icons" -import Tooltip from "./Tooltip" - -export const SpeechBubbleTooltip = ({ - text, - title, - iconColor, - iconBackgroundColor, -}) => { - return ( - ( - - )} - title={title} - content={text} - /> - ) -} - -SpeechBubbleTooltip.defaultProps = { - className: "", -} - -export default React.memo(SpeechBubbleTooltip) diff --git a/solidity-v1/dashboard/src/components/StakeDropChart.jsx b/solidity-v1/dashboard/src/components/StakeDropChart.jsx deleted file mode 100644 index 1fa9a3c298..0000000000 --- a/solidity-v1/dashboard/src/components/StakeDropChart.jsx +++ /dev/null @@ -1,142 +0,0 @@ -import React, { useEffect, useRef } from "react" -import { - LineChart, - Line, - XAxis, - YAxis, - CartesianGrid, - Tooltip, - ReferenceArea, -} from "recharts" -import { colors } from "../constants/colors" -import { KEEP } from "../utils/token.utils" -import { formatDate } from "../utils/general.utils" -import BeaconRewardsHelper from "../utils/rewardsHelper" - -const data = BeaconRewardsHelper.keepAllocationsInInterval.map( - (amount, index) => { - return { - interval: index, - amount, - } - } -) - -// We want to display only first and last tick. -const xAxisTicks = [0, data.length - 1] - -const styles = { - dot: { - r: 6, - stroke: "white", - fill: colors.primary, - strokeWidth: 2, - }, - chartWrapper: { marginTop: "1rem", position: "relative" }, -} - -const StakeDropChart = () => { - const tooltipRef = useRef(null) - - useEffect(() => { - const tooltipElement = tooltipRef.current - - return () => { - if (tooltipElement) { - tooltipElement.style.opacity = "0" - } - } - }) - - const onMouseEnterDot = (e) => { - const { interval, amount } = e.payload - - if (!tooltipRef.current) { - return - } - - const x = e.cx - const tooltipContentEl = tooltipRef.current.firstChild - // 8- it's a height of the triangle at the bottom of a tooltip. - const y = e.cy - tooltipContentEl.getBoundingClientRect().height - 8 - tooltipRef.current.style.opacity = "1" - tooltipRef.current.style.transform = `translate(${x - 60}px, ${y}px)` - tooltipContentEl.childNodes[0].innerHTML = `Interval ${interval + 1}` - tooltipContentEl.childNodes[1].innerHTML = formatDate( - BeaconRewardsHelper.intervalStartOf(interval) - ) - - const formattedRewardAmount = KEEP.displayAmount(KEEP.fromTokenUnit(amount)) - tooltipContentEl.childNodes[2].innerHTML = - tooltipContentEl.childNodes[2].innerHTML = `${formattedRewardAmount} KEEP` - } - - const onMouseLeaveDot = () => { - if (tooltipRef.current) { - tooltipRef.current.style.opacity = "0" - } - } - - return ( - <> -

    Current Interval

    -
    KEEP per Interval
    -
    - - - tick + 1} - /> - KEEP.displayAmountWithMetricSuffix(tick)} - tickLine={false} - /> - - - - -
    -
    -

    -

    -

    -

    -
    -
    - - ) -} - -export default StakeDropChart diff --git a/solidity-v1/dashboard/src/components/StatusBadge.jsx b/solidity-v1/dashboard/src/components/StatusBadge.jsx deleted file mode 100644 index c76d6e172f..0000000000 --- a/solidity-v1/dashboard/src/components/StatusBadge.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import React from "react" -import { PENDING_STATUS, COMPLETE_STATUS } from "../constants/constants" -import * as Icons from "./Icons" -import ReactTooltip from "react-tooltip" -import OnlyIf from "./OnlyIf" - -export const BADGE_STATUS = { - [PENDING_STATUS]: { - textClassName: "text-grey-70 text-normal", - bgClassName: "bg-pending", - icon: , - }, - [COMPLETE_STATUS]: { - textClassName: "text-success", - bgClassName: "bg-success", - icon: , - }, - DISABLED: { textClassName: "text-grey-50", bgClassName: "bg-grey-10" }, - ACTIVE: { - textClassName: "text-grey-70 text-normal", - bgClassName: "bg-success-light", - icon: , - }, - ERROR: { - textClassName: "text-black", - bgClassName: "bg-error", - }, -} - -const badgeStyle = { padding: "0.1rem 0.5rem", borderRadius: "100px" } - -const StatusBadge = ({ - status, - text, - className, - onlyIcon, - bgClassName, - withTooltip = false, - tooltipId, - tooltipProps = {}, -}) => { - return onlyIcon ? ( - - {status.icon} - {text} - - ) : ( - - {text} - - - - The stake amount is not yet confirmed. Click “Stake” to confirm the - stake amount. This stake is not staked on Threshold until it is - confirmed. - - - - - ) -} - -StatusBadge.defaultProps = { - onlyIcon: false, -} - -export default React.memo(StatusBadge) diff --git a/solidity-v1/dashboard/src/components/StepNav.jsx b/solidity-v1/dashboard/src/components/StepNav.jsx deleted file mode 100644 index 3cb04a9f58..0000000000 --- a/solidity-v1/dashboard/src/components/StepNav.jsx +++ /dev/null @@ -1,58 +0,0 @@ -import React, { useMemo, useRef, useEffect } from "react" - -const StepNav = ({ steps, activeStep = 0 }) => { - const stepNavElement = useRef(null) - const stepActiveIndicatorElement = useRef(null) - const numberOfSteps = useRef(steps.length) - - useEffect(() => { - if ( - !stepNavElement.current || - !stepActiveIndicatorElement || - activeStep > numberOfSteps.current || - activeStep === 0 - ) { - return - } - - const stepElement = - stepNavElement.current.getElementsByClassName("step-nav__step")[ - activeStep - 1 - ] - - const stepOffsetHeight = - activeStep === numberOfSteps.current - ? "100%" - : `${stepElement.getBoundingClientRect().y}px` - - stepActiveIndicatorElement.current.style.height = stepOffsetHeight - stepElement.className = "step-nav__step active" - }, [activeStep]) - - const stepsComponents = useMemo(() => { - return steps.map(renderStep) - }, [steps]) - - return ( -
    - - - {stepsComponents} -
    - ) -} - -const Step = ({ step }) => { - return ( -
    -
    {step}
    -
    - ) -} - -const renderStep = (item, index) => - -export default React.memo(StepNav) diff --git a/solidity-v1/dashboard/src/components/TBTCEarningsDataTable.jsx b/solidity-v1/dashboard/src/components/TBTCEarningsDataTable.jsx deleted file mode 100644 index cff985df1d..0000000000 --- a/solidity-v1/dashboard/src/components/TBTCEarningsDataTable.jsx +++ /dev/null @@ -1,84 +0,0 @@ -import React, { useState, useCallback } from "react" -import { DataTable, Column } from "./DataTable" -import AddressShortcut from "./AddressShortcut" -import TokenAmount from "./TokenAmount" -import * as Icons from "./Icons" -import { ViewInBlockExplorer } from "./ViewInBlockExplorer" -import { TBTC } from "../utils/token.utils" - -const TBTCRewardsDataTable = ({ rewards, fetchOperatorByDepositId }) => { - return ( - - ( - - )} - /> - ( - - )} - /> - ( - - )} - /> - ( - - )} - /> - - ) -} - -const OperatorCell = React.memo( - ({ depositTokenId, fetchOperatorByDepositId, operatorAddress }) => { - const [isFetching, setIsFetching] = useState(false) - - const fetchOperatorByDeposit = useCallback(async () => { - setIsFetching(true) - await fetchOperatorByDepositId(depositTokenId) - setIsFetching(false) - }, [fetchOperatorByDepositId, depositTokenId]) - - if (operatorAddress) { - return - } - - return ( -
    - 0x000 - - {" "} - {isFetching ? "Loading" : "Load address"} - -
    - ) - } -) - -export default React.memo(TBTCRewardsDataTable) diff --git a/solidity-v1/dashboard/src/components/TBTCRewardsDataTable.jsx b/solidity-v1/dashboard/src/components/TBTCRewardsDataTable.jsx deleted file mode 100644 index ce64e2df04..0000000000 --- a/solidity-v1/dashboard/src/components/TBTCRewardsDataTable.jsx +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react" -import { DataTable, Column } from "./DataTable" -import Chip from "./Chip" -import AddressShortcut from "./AddressShortcut" -import * as Icons from "./Icons" -import { KEEP } from "../utils/token.utils" -import { REWARD_STATUS } from "../constants/constants" - -const TBTCRewardsDataTable = ({ data = [] }) => { - return ( - - - - - - - ) -} - -const AmountCell = ({ amount }) => { - return ( -
    - -
    -
    {KEEP.displayAmountWithSymbol(amount)}
    -
    - -  Reward -
    -
    -
    - ) -} - -const renderStatus = ({ status }) => { - switch (status) { - case REWARD_STATUS.AVAILABLE: - return - case REWARD_STATUS.WITHDRAWN: - default: - return - } -} -const renderOperator = ({ operator }) => - -export default TBTCRewardsDataTable diff --git a/solidity-v1/dashboard/src/components/Tag.jsx b/solidity-v1/dashboard/src/components/Tag.jsx deleted file mode 100644 index f865df52b6..0000000000 --- a/solidity-v1/dashboard/src/components/Tag.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react" - -const Tag = ({ - IconComponent, - text, - type, - size, - onClick = () => {}, - className = "", -}) => { - return ( -
    -
    -
    {IconComponent && }
    -
    {text}
    -
    -
    - ) -} - -export default React.memo(Tag) diff --git a/solidity-v1/dashboard/src/components/Tile.jsx b/solidity-v1/dashboard/src/components/Tile.jsx deleted file mode 100644 index d7e186e999..0000000000 --- a/solidity-v1/dashboard/src/components/Tile.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from "react" -import SpeechBubbleTooltip from "./SpeechBubbleTooltip" - -const Tile = ({ - title, - titleStyle, - titleClassName, - withTooltip, - tooltipProps, - subtitle, - children, - ...sectionProps -}) => { - return ( -
    -
    -

    - {title} -

    - {withTooltip && } -
    - {subtitle && ( -
    {subtitle}
    - )} -
    {children}
    -
    - ) -} - -Tile.defaultProps = { - withTooltip: false, - titleClassName: "mr-1 text-grey-70", -} - -export default Tile diff --git a/solidity-v1/dashboard/src/components/Timeline.jsx b/solidity-v1/dashboard/src/components/Timeline.jsx deleted file mode 100644 index 9ea273d819..0000000000 --- a/solidity-v1/dashboard/src/components/Timeline.jsx +++ /dev/null @@ -1,124 +0,0 @@ -import React, { useContext } from "react" -import OnlyIf from "./OnlyIf" - -export const TIMELINE_ELEMENT_STATUS = { - INACTIVE: 0, - SEMI_ACTIVE: 1, - ACTIVE: 2, -} - -const TimelineContext = React.createContext({ - // May be useful in the future, eg. if we would like to be able to display the - // timeline events on alternating sides. - position: "left", -}) - -const useTimelineContext = () => { - const context = useContext(TimelineContext) - if (!context) { - throw new Error("TimelineContext used outside of Timeline component") - } - return context -} - -const Timeline = ({ children, position = "left", className = "" }) => { - return ( - -
      {children}
    -
    - ) -} - -const TimelineElement = ({ position, children, className = "" }) => { - const { position: timelinePosition } = useTimelineContext() - const _position = position || timelinePosition - return ( -
  • - {children} -
  • - ) -} - -Timeline.Element = TimelineElement - -Timeline.Content = ({ children, className = "", ...props }) => { - return ( -
    - {children} -
    - ) -} - -Timeline.ElementDefaultCard = ({ - children, - className = "", - status = TIMELINE_ELEMENT_STATUS.ACTIVE, - ...props -}) => { - let statusClass = "" - if (status === TIMELINE_ELEMENT_STATUS.ACTIVE) { - statusClass = "timeline-default-card--active" - } else if (status === TIMELINE_ELEMENT_STATUS.SEMI_ACTIVE) { - statusClass = "timeline-default-card--semi-active" - } - - return ( -
    - {children} -
    - ) -} - -Timeline.Breakpoint = ({ children, className = "" }) => { - return
    {children}
    -} - -Timeline.BreakpointDot = ({ - children, - lineBreaker = false, - lineBreakerColor = "grey-30", - status = TIMELINE_ELEMENT_STATUS.ACTIVE, - className = "", - ...props -}) => { - let statusClass = "" - if (status === TIMELINE_ELEMENT_STATUS.ACTIVE) { - statusClass = "breakpoint__dot--active" - } else if (status === TIMELINE_ELEMENT_STATUS.SEMI_ACTIVE) { - statusClass = "breakpoint__dot--semi-active" - } - - return ( - - {children} - - ) -} - -Timeline.BreakpointLine = ({ - status = TIMELINE_ELEMENT_STATUS.INACTIVE, - className = "", -}) => { - let statusClass = "" - if (status === TIMELINE_ELEMENT_STATUS.ACTIVE) { - statusClass = "breakpoint__line--active" - } else if (status === TIMELINE_ELEMENT_STATUS.SEMI_ACTIVE) { - statusClass = "breakpoint__line--semi-active" - } - - return -} - -export default Timeline diff --git a/solidity-v1/dashboard/src/components/Timer.jsx b/solidity-v1/dashboard/src/components/Timer.jsx deleted file mode 100644 index 8dc2f0bd68..0000000000 --- a/solidity-v1/dashboard/src/components/Timer.jsx +++ /dev/null @@ -1,82 +0,0 @@ -import React, { useEffect, useState } from "react" -import moment from "moment" - -const Timer = ({ targetInUnix }) => { - const [remainingDays, setRemainingDays] = useState(0) - const [remainingHours, setRemainingHours] = useState(0) - const [remainingMinutes, setRemainingMinutes] = useState(0) - const [remainingSeconds, setRemainingSeconds] = useState(0) - - useEffect(() => { - const timerDuration = calculateTimerDuration(targetInUnix) - setRemainingDays(timerDuration.days) - setRemainingHours(timerDuration.hours) - setRemainingMinutes(timerDuration.minutes) - setRemainingSeconds(timerDuration.seconds) - }, [targetInUnix]) - - useEffect(() => { - const myInterval = setInterval(() => { - if (remainingSeconds > 0) { - setRemainingSeconds(remainingSeconds - 1) - } - if (remainingSeconds === 0) { - if ( - remainingDays === 0 && - remainingHours === 0 && - remainingMinutes === 0 - ) { - clearInterval(myInterval) - } else { - setRemainingSeconds(59) - if (remainingMinutes > 0) { - setRemainingMinutes(remainingMinutes - 1) - } else if (remainingMinutes === 0) { - setRemainingMinutes(59) - if (remainingHours > 0) { - setRemainingHours(remainingHours - 1) - } else if (remainingHours === 0) { - setRemainingHours(23) - if (remainingDays > 0) { - setRemainingDays(remainingDays - 1) - } - } - } - } - } - }, 1000) - return () => { - clearInterval(myInterval) - } - }) - - const zeroPad = (num, places) => String(num).padStart(places, "0") - - return ( - <> - {zeroPad(remainingDays, 2)}:{zeroPad(remainingHours, 2)}: - {zeroPad(remainingMinutes, 2)}:{zeroPad(remainingSeconds, 2)} - - ) -} - -const calculateTimerDuration = (targetInUnix) => { - const currentDate = moment() - const target = moment.unix(targetInUnix) - const remainingTimeMs = target.diff(currentDate) - const duration = moment.duration(remainingTimeMs) - - const days = Math.floor(duration.asDays()) - const hours = Math.floor(duration.asHours() % 24) - const minutes = Math.floor(duration.asMinutes() % 60) - const seconds = Math.floor(duration.asSeconds() % 60) - - return { - days: days > 0 ? days : 0, - hours: hours > 0 ? hours : 0, - minutes: minutes > 0 ? minutes : 0, - seconds: seconds > 0 ? seconds : 0, - } -} - -export default Timer diff --git a/solidity-v1/dashboard/src/components/TokenAmount.jsx b/solidity-v1/dashboard/src/components/TokenAmount.jsx deleted file mode 100644 index 1094b3067f..0000000000 --- a/solidity-v1/dashboard/src/components/TokenAmount.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from "react" -import Tooltip from "./Tooltip" -import { covKEEP, KEEP } from "../utils/token.utils" -import OnlyIf from "./OnlyIf" - -const TokenAmount = ({ - amount, - token = KEEP, - wrapperClassName = "", - amountClassName = "h2 text-mint-100", - amountStyles = {}, - symbolClassName = "h3 text-mint-100", - symbolStyles = {}, - icon = null, - iconProps = { className: "keep-outline keep-outline--mint-80" }, - withIcon = false, - withMetricSuffix = false, - smallestPrecisionUnit = null, - smallestPrecisionDecimals = null, - decimalsToDisplay = null, - displayDecimalsInTooltip = false, - withSymbol = true, - symbol = "", -}) => { - if (token === KEEP || covKEEP) { - displayDecimalsInTooltip = true - } - const CurrencyIcon = withIcon ? icon || token.icon : () => <> - - const _smallestPrecisionUnit = - smallestPrecisionUnit || token.smallestPrecisionUnit - - const _smallestPrecisionDecimals = - smallestPrecisionDecimals || token.smallestPrecisionDecimals - - const _symbol = symbol || token.symbol - const _decimalsToDisplay = decimalsToDisplay | token.decimalsToDisplay - - const _decimalsToDisplayInTooltip = displayDecimalsInTooltip - ? token.smallestPrecisionDecimals - : 0 - - const formattedAmount = withMetricSuffix - ? token.displayAmountWithMetricSuffix(amount, _decimalsToDisplay) - : token.displayAmount(amount, _decimalsToDisplay) - - return ( -
    - -   - ( - - {formattedAmount} - - )} - delay={0} - className="token-amount__tooltip" - contentWrapperStyles={ - _decimalsToDisplayInTooltip > 0 - ? { - wordBreak: "break-word", - } - : null - } - > - {`${token.toFormat( - token.toTokenUnit(amount, _smallestPrecisionDecimals), - _decimalsToDisplayInTooltip - )} ${_smallestPrecisionUnit}`} - - {withSymbol && ( - -  {_symbol} - - )} -
    - ) -} - -export default TokenAmount diff --git a/solidity-v1/dashboard/src/components/TokenGrantOverview.jsx b/solidity-v1/dashboard/src/components/TokenGrantOverview.jsx deleted file mode 100644 index 2efed0cf2b..0000000000 --- a/solidity-v1/dashboard/src/components/TokenGrantOverview.jsx +++ /dev/null @@ -1,199 +0,0 @@ -import React, { useMemo } from "react" -import moment from "moment" -import { formatDate } from "../utils/general.utils" -import { SubmitButton } from "./Button" -import { colors } from "../constants/colors" -import ProgressBar from "./ProgressBar" -import TokenAmount from "./TokenAmount" -import { KEEP } from "../utils/token.utils" -import { sub, gt } from "../utils/arithmetics.utils" -import * as Icons from "./Icons" -import Tooltip from "./Tooltip" -import { ResourceTooltipContent } from "./ResourceTooltip" -import resourceTooltipProps from "../constants/tooltips" - -const TokenGrantOverview = ({ selectedGrant, selectedGrantStakedAmount }) => { - return ( - <> - -
    -
    - -
    -
    - -
    - - ) -} - -export const TokenGrantDetails = ({ selectedGrant, availableAmount }) => { - const totalAmount = useMemo( - () => - selectedGrant.amount ? KEEP.displayAmount(selectedGrant.amount) : null, - [selectedGrant.amount] - ) - - return ( - <> - -

    Grant Details

    -
    -
    - - Grant ID - - {selectedGrant.id || "No data"} - -
    - -
    - - Issued - - {selectedGrant.start - ? formatDate(moment.unix(selectedGrant.start)) - : "No data"} - -
    - -
    - - Issued Total - {totalAmount || "No Data"} -
    - -
    - - Fully Unlocked - - {selectedGrant.fullyUnlockedDate - ? formatDate(selectedGrant.fullyUnlockedDate) - : "No data"} - -
    - {selectedGrant.cliffPeriod && ( -
    - {selectedGrant.cliffPeriod} cliff  - - - -
    - )} -
    - - ) -} - -export default TokenGrantOverview - -const TokenGrantUnlockingdDetailsComponent = ({ selectedGrant }) => { - return ( - -
    - - -
    - - } - /> -
    - ) -} - -export const TokenGrantUnlockingdDetails = TokenGrantUnlockingdDetailsComponent - -export const TokenGrantStakedDetails = ({ selectedGrant, stakedAmount }) => { - return ( - -
    - - -
    - - } - /> -
    - ) -} - -export const TokenGrantWithdrawnTokensDetails = ({ - selectedGrant, - onWithdrawnBtn, -}) => { - const withdrawable = - selectedGrant && selectedGrant.unlocked && selectedGrant.staked - ? sub(selectedGrant.unlocked, selectedGrant.staked) - : 0 - - return ( - <> - - - - - - } - /> - - - withdraw tokens - - - ) -} diff --git a/solidity-v1/dashboard/src/components/TokenOverview.jsx b/solidity-v1/dashboard/src/components/TokenOverview.jsx deleted file mode 100644 index 3e09415540..0000000000 --- a/solidity-v1/dashboard/src/components/TokenOverview.jsx +++ /dev/null @@ -1,181 +0,0 @@ -import React, { useMemo } from "react" -import TokenAmount from "./TokenAmount" -import * as Icons from "./Icons" -import { colors } from "../constants/colors" -import { add, percentageOf } from "../utils/arithmetics.utils" -import Divider from "./Divider" -import ProgressBar from "./ProgressBar" -import Chip from "./Chip" -import ResourceTooltip from "./ResourceTooltip" -import { KEEP } from "../utils/token.utils" -import { Skeleton } from "./skeletons" -import { useWeb3Context } from "./WithWeb3Context" -import resourceTooltipProps from "../constants/tooltips" -import DelegationPage from "../pages/delegation" -import { formatValue } from "../utils/general.utils" -import NavLink from "./NavLink" - -const TokenOverview = ({ - totalKeepTokenBalance, - totalGrantedTokenBalance, - totalGrantedStakedBalance, - totalOwnedStakedBalance, - isFetching, -}) => { - return ( -
    - - - -
    - ) -} - -const TotalKeepBalance = ({ - walletKeepBalance, - grantedKeepBalance, - isFetching, -}) => { - const { isConnected } = useWeb3Context() - - const totalKeep = useMemo(() => { - return add(walletKeepBalance, grantedKeepBalance) - }, [walletKeepBalance, grantedKeepBalance]) - - return ( -
    -

    Total KEEP Balance

    - -
    -

    Granted Tokens

    - {isFetching ? ( - - ) : ( -

    - {isConnected - ? `${KEEP.displayAmountWithSymbol(grantedKeepBalance)}` - : "No data to display"} -

    - )} -
    - -
    -

    Wallet Tokens

    - {isFetching ? ( - - ) : ( -

    - {isConnected - ? `${KEEP.displayAmountWithSymbol(walletKeepBalance)}` - : "No data to display"} -

    - )} -
    -
    - ) -} - -const TokenBalance = ({ - tooltipProps, - totalBalance = 0, - staked = 0, - type = "wallet", - icon: IconComponent = Icons.Wallet, - isFetching = false, -}) => { - const { isConnected } = useWeb3Context() - - const inPercentage = useMemo(() => { - return formatValue(percentageOf(staked, totalBalance)) - }, [staked, totalBalance]) - - const renderAmount = () => { - if (!isConnected) { - return "No Data" - } else if (isConnected && isFetching) { - return - } else if (isConnected && !isFetching) { - return ( -

    - {totalBalance ? ( - - ) : ( - "No data" - )} -

    - ) - } - } - - return ( -
    -
    - } - color="disabled" - className={`balance__${type}__chip`} - /> -
    -

    - {type}  - {tooltipProps && } -

    - {renderAmount()} -
    -
    - - - - - - - {isConnected ? inPercentage : "-"}% Staked - - - stake - -
    - ) -} - -export default React.memo(TokenOverview) diff --git a/solidity-v1/dashboard/src/components/Tooltip.jsx b/solidity-v1/dashboard/src/components/Tooltip.jsx deleted file mode 100644 index 0fba600795..0000000000 --- a/solidity-v1/dashboard/src/components/Tooltip.jsx +++ /dev/null @@ -1,120 +0,0 @@ -import React, { useEffect, useState, useRef } from "react" -import { CSSTransition } from "react-transition-group" - -export const TOOLTIP_DIRECTION = { - TOP: "top", - BOTTOM: "bottom", -} - -const Tooltip = ({ - triggerComponent: TriggerComponent, - children, - direction = TOOLTIP_DIRECTION.BOTTOM, - simple = false, - delay = 300, - className = "", - shouldShowTooltip = true, - contentWrapperStyles = {}, - tooltipContentWrapperClassName = "", -}) => { - const timeout = useRef(null) - const [active, setActive] = useState(false) - const contentRef = useRef(null) - const arrowRef = useRef(null) - - useEffect(() => { - return () => { - if (timeout.current) { - clearTimeout(timeout.current) - } - } - }) - - /** - * Check if tooltip is out of the RIGHT side of the view. - * If it is it will move the tooltip to the left. - */ - const handleDropdownPosition = () => { - if (!contentRef || !contentRef.current) return - if (!arrowRef || !arrowRef.current) return - const contentRect = contentRef.current.getBoundingClientRect() - const contentRightX = contentRect.x + contentRect.width - - if (contentRightX > window.outerWidth) { - contentRef.current.style.transform = `translateX(calc(-100% + 9px))` - if (direction === TOOLTIP_DIRECTION.TOP) { - contentRef.current.style.borderBottomRightRadius = "0" - } else if (direction === TOOLTIP_DIRECTION.BOTTOM) { - contentRef.current.style.borderTopRightRadius = "0" - } - - arrowRef.current.style.left = "auto" - arrowRef.current.style.right = "calc(0%)" - } - } - - const showTooltip = () => { - handleDropdownPosition() - setActive(true) - clearTimeout(timeout.current) - } - - const hideTooltip = () => { - timeout.current = setTimeout(() => { - setActive(false) - }, delay) - } - - const _wrapperClassName = `tooltip__content-wrapper ${ - tooltipContentWrapperClassName ? tooltipContentWrapperClassName : "" - }` - - return ( -
    -
    - -
    - -
    -
    - {children} -
    - -
    - ) -} - -Tooltip.Divider = () =>
    - -Tooltip.Header = ({ text, className = "" }) => ( -
    -
    {text}
    -
    -) - -Tooltip.Content = ({ children }) => ( -
    {children}
    -) - -export default Tooltip diff --git a/solidity-v1/dashboard/src/components/TopUpsDataTable.jsx b/solidity-v1/dashboard/src/components/TopUpsDataTable.jsx deleted file mode 100644 index 4d5b083897..0000000000 --- a/solidity-v1/dashboard/src/components/TopUpsDataTable.jsx +++ /dev/null @@ -1,66 +0,0 @@ -import React, { useCallback } from "react" -import { DataTable, Column } from "./DataTable" -import AddressShortcut from "./AddressShortcut" -import { SubmitButton } from "./Button" -import { commitTopUp } from "../actions/web3" -import { KEEP } from "../utils/token.utils" -import { connect } from "react-redux" - -export const TopUpsDataTable = ({ topUps, commitTopUp }) => { - const onCommitTopUpBtn = useCallback( - async (operator, awaitingPromise) => { - commitTopUp(operator, awaitingPromise) - }, - [commitTopUp] - ) - - return ( - - - `${KEEP.displayAmountWithSymbol(availableTopUpAmount)}` - } - /> - ( - - )} - /> - ( - - onCommitTopUpBtn(operatorAddress, awaitingPromise) - } - className="btn btn-secondary btn-sm" - disabled={isInUndelegation || !readyToBeCommitted} - > - commit top-up - - )} - /> - - ) -} - -const mapDispatchToProps = { - commitTopUp, -} - -export default connect(null, mapDispatchToProps)(TopUpsDataTable) diff --git a/solidity-v1/dashboard/src/components/UndelegateStakeButton.jsx b/solidity-v1/dashboard/src/components/UndelegateStakeButton.jsx deleted file mode 100644 index 1d4cac8cda..0000000000 --- a/solidity-v1/dashboard/src/components/UndelegateStakeButton.jsx +++ /dev/null @@ -1,120 +0,0 @@ -import React from "react" -import { connect } from "react-redux" -import Button, { SubmitButton } from "./Button" -import { useModal } from "../hooks/useModal" -import { ContractsLoaded } from "../contracts" -import { LINK, MODAL_TYPES } from "../constants/constants" -import { cancelStake, undelegateStake } from "../actions/web3" -import ReactTooltip from "react-tooltip" - -const UndelegateStakeButton = (props) => { - const { openConfirmationModal, openModal } = useModal() - - const onCancelStake = async (awaitingPromise) => { - const { isFromGrant, operator, cancelStake } = props - if (isFromGrant) { - const { tokenStakingEscrow } = await ContractsLoaded - await openConfirmationModal( - MODAL_TYPES.ConfirmCancelDelegationFromGrant, - { - tokenStakingEscrowAddress: tokenStakingEscrow.options.address, - } - ) - } - cancelStake(operator, awaitingPromise) - } - - const undelegate = () => { - const { operator, undelegationPeriod, amount, authorizer, beneficiary } = - props - - openModal(MODAL_TYPES.UndelegateStake, { - undelegationPeriod, - amount, - authorizer, - operator, - beneficiary, - }) - } - - const renderUndelegateStakeButton = () => { - if (props.disabled) { - return ( - <> - - - - - - This stake is staked on Threshold. You first need to undelegate - this stake from the{" "} - - Threshold dashboard here - - - - - ) - } - - return ( - - ) - } - - return props.isInInitializationPeriod ? ( - - cancel - - ) : ( - renderUndelegateStakeButton() - ) -} - -UndelegateStakeButton.defaultProps = { - btnClassName: "btn btn-primary btn-sm", - btnText: "undelegate", - isInInitializationPeriod: false, - successCallback: () => {}, - isFromGrant: false, - disabled: false, -} - -const mapDispatchToProps = { - cancelStake, - undelegateStake, -} - -export default connect(null, mapDispatchToProps)(UndelegateStakeButton) diff --git a/solidity-v1/dashboard/src/components/Undelegations.jsx b/solidity-v1/dashboard/src/components/Undelegations.jsx deleted file mode 100644 index b925575566..0000000000 --- a/solidity-v1/dashboard/src/components/Undelegations.jsx +++ /dev/null @@ -1,132 +0,0 @@ -import React from "react" -import { formatDate } from "../utils/general.utils" -import { KEEP } from "../utils/token.utils" -import AddressShortcut from "./AddressShortcut" -import RecoverStakeButton from "./RecoverStakeButton" -import StatusBadge, { BADGE_STATUS } from "./StatusBadge" -import { PENDING_STATUS, COMPLETE_STATUS } from "../constants/constants" -import { DataTable, Column } from "./DataTable" -import Tile from "./Tile" -import resourceTooltipProps from "../constants/tooltips" -import useUpdatePendingUndelegations from "../hooks/useUpdatePendingUndelegations" - -const Undelegations = ({ undelegations, title }) => { - useUpdatePendingUndelegations(undelegations) - - return ( - - - { - return ( - <> -
    {KEEP.displayAmountWithSymbol(amount)}
    -
    - {isFromGrant ? "Grant Tokens" : "Wallet Tokens"} -
    - - ) - }} - /> - { - const undelegationStatus = undelegation.canRecoverStake - ? COMPLETE_STATUS - : PENDING_STATUS - const statusBadgeText = - undelegationStatus === PENDING_STATUS - ? `${undelegationStatus.toLowerCase()}, ${undelegation.undelegationCompleteAt.fromNow( - true - )}` - : formatDate(undelegation.undelegationCompleteAt) - - return ( - <> - -
    - {undelegation.undelegationCompleteAt.format("HH:mm:ss")} -
    - - ) - }} - /> - ( - - )} - /> - ( - - )} - /> - ( - - )} - /> - - undelegation.isCopiedStake ? ( -
    - -
    - ) : ( - undelegation.canRecoverStake && ( -
    - -
    - ) - ) - } - /> -
    -
    - ) -} - -Undelegations.defaultProps = { - title: "Undelegations", -} - -export default Undelegations diff --git a/solidity-v1/dashboard/src/components/UpgradeToTButton.jsx b/solidity-v1/dashboard/src/components/UpgradeToTButton.jsx deleted file mode 100644 index 47fbe7ed3f..0000000000 --- a/solidity-v1/dashboard/src/components/UpgradeToTButton.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react" -import { LINK } from "../constants/constants" - -const UpgradeToTButton = ({ className }) => { - return ( - - upgrade to t ↗ - - ) -} - -export default UpgradeToTButton diff --git a/solidity-v1/dashboard/src/components/ViewInBlockExplorer.jsx b/solidity-v1/dashboard/src/components/ViewInBlockExplorer.jsx deleted file mode 100644 index 72aac722a5..0000000000 --- a/solidity-v1/dashboard/src/components/ViewInBlockExplorer.jsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from "react" -import { useEtherscanUrl } from "../hooks/useEtherscanUrl" - -export const ViewInBlockExplorer = React.memo( - ({ type, id, hashParam, text, ...restProps }) => { - const etherscanDefaultUrl = useEtherscanUrl() - - return ( - - {text} - - ) - } -) - -ViewInBlockExplorer.defaultProps = { - text: "View in Block Explorer", - type: "address", - hashParam: "", -} - -export const ViewAddressInBlockExplorer = React.memo( - ({ address, text, urlSuffix }) => { - return ( - - ) - } -) - -ViewAddressInBlockExplorer.defaultProps = { - urlSuffix: "#code", -} diff --git a/solidity-v1/dashboard/src/components/ViewTxMsgContent.jsx b/solidity-v1/dashboard/src/components/ViewTxMsgContent.jsx deleted file mode 100644 index a79b7b94fc..0000000000 --- a/solidity-v1/dashboard/src/components/ViewTxMsgContent.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react" -import { ViewInBlockExplorer } from "./ViewInBlockExplorer" - -const TransactionIsPendingMsgContent = ({ txHash }) => { - return ( -
    - Transaction hash: {txHash} - -
    - ) -} - -export default React.memo(TransactionIsPendingMsgContent) diff --git a/solidity-v1/dashboard/src/components/WalletOptions.jsx b/solidity-v1/dashboard/src/components/WalletOptions.jsx deleted file mode 100644 index 722ef99d2c..0000000000 --- a/solidity-v1/dashboard/src/components/WalletOptions.jsx +++ /dev/null @@ -1,116 +0,0 @@ -import React from "react" -import * as Icons from "./Icons" -import { useWeb3Context } from "./WithWeb3Context" -import { useModal } from "../hooks/useModal" -import { - TrezorConnector, - LedgerConnector, - LEDGER_DERIVATION_PATHS, - metaMaskInjectedConnector, - WalletConnectV2Connector, - tallyInjectedConnector, -} from "../connectors" -import { MODAL_TYPES, WALLETS } from "../constants/constants" -import { ExplorerModeConnector } from "../connectors/explorer-mode-connector" -import { messageType, useShowMessage } from "./Message" - -const WALLETS_OPTIONS = [ - { - label: "Tally", - icon: Icons.Tally, - isHardwareWallet: false, - connector: tallyInjectedConnector, - modalType: MODAL_TYPES.Tally, - }, - { - label: "MetaMask", - icon: Icons.MetaMask, - isHardwareWallet: false, - connector: metaMaskInjectedConnector, - modalType: MODAL_TYPES.MetaMask, - }, - { - label: "Ledger", - icon: Icons.Ledger, - isHardwareWallet: true, - connector: { - // Add additional filed `name` to handle `switch` statement in - // `renderModalContent` function in `Wallet` component. The `LedgerModal` - // component is able to handle this pseudo connector object correctly and - // choose the right connector from the object depending on user - // preferences. - name: WALLETS.LEDGER.name, - LEDGER_LIVE: new LedgerConnector(LEDGER_DERIVATION_PATHS.LEDGER_LIVE), - LEDGER_LEGACY: new LedgerConnector(LEDGER_DERIVATION_PATHS.LEDGER_LEGACY), - }, - modalType: MODAL_TYPES.Ledger, - }, - { - label: "Trezor", - icon: Icons.Trezor, - isHardwareWallet: true, - connector: new TrezorConnector(), - modalType: MODAL_TYPES.Trezor, - }, - { - label: "WalletConnect", - icon: Icons.WalletConnect, - isHardwareWallet: false, - connector: new WalletConnectV2Connector(), - modalType: MODAL_TYPES.WalletConnect, - }, - { - label: "Explorer Mode", - icon: Icons.Explore, - isHardwareWallet: false, - connector: new ExplorerModeConnector(), - modalType: MODAL_TYPES.ExplorerMode, - }, -] - -const WalletOptions = ({ displayExplorerMode = true }) => { - return ( -
      - {WALLETS_OPTIONS.filter( - (wallet) => - !( - !displayExplorerMode && wallet.label === WALLETS.EXPLORER_MODE.label - ) - ).map(renderWallet)} -
    - ) -} - -const renderWallet = (wallet) => - -const Wallet = ({ label, icon: IconComponent, connector, modalType }) => { - const { openModal } = useModal() - const { connectAppWithWallet } = useWeb3Context() - const showMessage = useShowMessage() - - const openWalletModal = () => { - if (label === "MetaMask" && window.ethereum?.isTally) { - showMessage({ - messageType: messageType.ERROR, - messageProps: { - content: `Please uncheck "Use Tally as default wallet" option in Tally wallet to connect to MetaMask`, - sticky: true, - }, - }) - } else { - openModal(modalType, { - connector, - connectAppWithWallet, - }) - } - } - - return ( -
  • - - {label} -
  • - ) -} - -export default WalletOptions diff --git a/solidity-v1/dashboard/src/components/Web3ContextProvider.jsx b/solidity-v1/dashboard/src/components/Web3ContextProvider.jsx deleted file mode 100644 index d50747bb9a..0000000000 --- a/solidity-v1/dashboard/src/components/Web3ContextProvider.jsx +++ /dev/null @@ -1,223 +0,0 @@ -import React from "react" -import Web3 from "web3" -import { Web3Context } from "./WithWeb3Context" -import { MessagesContext } from "./Message" -import { - getContracts, - resolveWeb3Deferred, - Web3Loaded, - ContractsLoaded, - Keep, - KeepExplorerMode, -} from "../contracts" -import { getNetworkName } from "../utils/ethereum.utils" -import { isSameEthAddress } from "../utils/general.utils" -import { WALLETS } from "../constants/constants" -import { getWsUrl } from "../connectors/utils" -import { ExplorerModeConnector } from "../connectors/explorer-mode-connector" - -class Web3ContextProvider extends React.Component { - static contextType = MessagesContext - - constructor(props) { - super(props) - this.state = { - web3: null, - isFetching: false, - yourAddress: "", - networkType: "", - token: { options: { address: "" } }, - stakingContract: { options: { address: "" } }, - grantContract: { options: { address: "" } }, - utils: {}, - eth: {}, - error: "", - isConnected: false, - connector: null, - } - } - - componentWillUnmount() { - this.disconnect(false) - } - - connectAppWithWallet = async (connector, shouldSetError = true) => { - this.setState({ isFetching: true }) - let web3 - let yourAddress - let contracts - let networkId - let chainId - try { - const accounts = await connector.enable() - networkId = await connector.getNetworkId() - chainId = await connector.getChainId() - console.log( - `Connected to the network; chainId: ${chainId.toString()}, networkId: ${networkId}` - ) - yourAddress = accounts[0] - - this.checkIfConnectionToWalletIsPossible( - this.state.connector, - this.state.yourAddress, - connector, - yourAddress - ) - - web3 = new Web3(connector.getProvider()) - web3.eth.defaultAccount = yourAddress - - await resolveWeb3Deferred(web3) - Keep.setProvider(connector.getProvider()) - Keep.defaultAccount = yourAddress - - const explorerModeConnector = new ExplorerModeConnector() - explorerModeConnector.setSelectedAccount(yourAddress) - explorerModeConnector.enable() - KeepExplorerMode.setProvider(explorerModeConnector.getProvider()) - KeepExplorerMode.defaultAccount = yourAddress - } catch (error) { - this.setState({ providerError: error.message, isFetching: false }) - throw error - } - - try { - contracts = await getContracts(web3, networkId) - } catch (error) { - this.setState({ - isFetching: false, - error: shouldSetError ? error.message : null, - }) - throw error - } - - connector.on("accountsChanged", this.onAccountsChanged) - connector.on("chainChanged", () => window.location.reload()) - connector.once("disconnect", this.disconnect) - - this.setState({ - web3, - yourAddress, - networkType: getNetworkName(chainId), - chainId, - networkId, - ...contracts, - utils: web3.utils, - eth: web3.eth, - isFetching: false, - connector, - isConnected: true, - }) - } - - abortWalletConnection = () => { - this.setState({ - web3: null, - isFetching: false, - yourAddress: "", - networkType: "", - token: { options: { address: "" } }, - stakingContract: { options: { address: "" } }, - grantContract: { options: { address: "" } }, - utils: {}, - eth: {}, - error: "", - isConnected: false, - }) - } - - connectAppWithAccount = async () => { - const { connector } = this.state - await this.connectAppWithWallet(connector) - } - - onAccountsChanged = async (yourAddress) => { - if (!yourAddress) { - await this.disconnect() - return - } - - const web3 = await Web3Loaded - web3.eth.defaultAccount = yourAddress - const contracts = await ContractsLoaded - Keep.defaultAccount = yourAddress - KeepExplorerMode.defaultAccount = yourAddress - for (const contractInstance of Object.values(contracts)) { - contractInstance.options.from = web3.eth.defaultAccount - } - - this.setState({ - web3, - yourAddress, - ...contracts, - utils: web3.utils, - eth: web3.eth, - isConnected: true, - }) - } - - disconnect = async (shouldSetState = true) => { - const { connector } = this.state - // Set provider to the default one to fetch data w/o connected wallet. - Keep.setProvider(new Web3.providers.WebsocketProvider(getWsUrl())) - KeepExplorerMode.setProvider( - new Web3.providers.WebsocketProvider(getWsUrl()) - ) - if (!connector) { - return - } - - await connector.disconnect() - if (shouldSetState) { - this.setState({ - web3: null, - isFetching: false, - yourAddress: "", - networkType: "", - utils: {}, - eth: {}, - error: "", - isConnected: false, - connector: null, - }) - } - } - - checkIfConnectionToWalletIsPossible = ( - prevConnector, - prevAddress, - nextConnector, - nextAddress - ) => { - // Checks if an address on the wallet that the user is trying to connect to - // is the same that was used in Explorer Mode - if ( - prevConnector?.name === WALLETS.EXPLORER_MODE.name && - nextConnector?.name !== WALLETS.EXPLORER_MODE.name && - prevAddress && - !isSameEthAddress(prevAddress, nextAddress) - ) { - throw new Error( - "Connected address is different from the one used in Explorer Mode." - ) - } - } - - render() { - return ( - - {this.props.children} - - ) - } -} - -export default Web3ContextProvider diff --git a/solidity-v1/dashboard/src/components/Web3Status.jsx b/solidity-v1/dashboard/src/components/Web3Status.jsx deleted file mode 100644 index 0a6f80ff66..0000000000 --- a/solidity-v1/dashboard/src/components/Web3Status.jsx +++ /dev/null @@ -1,80 +0,0 @@ -import React from "react" -import { useSelector } from "react-redux" -import { useWeb3Context } from "./WithWeb3Context" -import { NetworkStatus } from "./NetworkStatus" -import * as Icons from "./Icons" -import { shortenAddress } from "../utils/general.utils" -import WalletOptions from "./WalletOptions" -import CopyToClipboard from "./CopyToClipboard" -import { KEEP } from "../utils/token.utils" -import { WALLETS } from "../constants/constants" -import CurrentWalletIconTooltip from "./CurrentWalletIconTooltip" - -export const Web3Status = () => { - const { yourAddress, isConnected, connector } = useWeb3Context() - - return ( -
    -
    -
    - -
    - {isConnected && } -
    - -
    - {isConnected ? shortenAddress(yourAddress) : "connect wallet"} -
    -
    -
    - {isConnected ? : } -
    -
    -
    -
    -
    - ) -} - -const WalletMenu = () => { - const { yourAddress, disconnect } = useWeb3Context() - const keepTokenBalance = useSelector((state) => state.keepTokenBalance) - return ( - <> - { - return ( -
    - - {copyProps.copyStatus} - -
    - ) - }} - /> -
    -
    - {keepTokenBalance.isFetching - ? "loading KEEP balance..." - : `${KEEP.displayAmountWithSymbol(keepTokenBalance.value)}`} -
    -
    - Disconnect -
    - - ) -} diff --git a/solidity-v1/dashboard/src/components/WithWeb3Context.jsx b/solidity-v1/dashboard/src/components/WithWeb3Context.jsx deleted file mode 100644 index 98951236e4..0000000000 --- a/solidity-v1/dashboard/src/components/WithWeb3Context.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import React, { useContext } from "react" -import { useSelector } from "react-redux" - -export const Web3Context = React.createContext({ - web3: null, - // Points to the currently selected account and it's used as a seneder of the transaction. - yourAddress: "", - networkType: "", - token: { options: { address: "" } }, - stakingContract: { options: { address: "" } }, - grantContract: { options: { address: "" } }, - utils: {}, - eth: {}, - error: "", -}) - -export const useWeb3Context = () => { - const web3Context = useContext(Web3Context) - - if (!web3Context) { - throw new Error("Web3Context not found") - } - - return web3Context -} - -export const useWeb3Address = () => { - return useSelector((state) => state.app.address) -} - -const withWeb3Context = (Component) => { - return (props) => ( - - {(web3) => } - - ) -} - -export default withWeb3Context diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/Step0.jsx b/solidity-v1/dashboard/src/components/copy-stake-steps/Step0.jsx deleted file mode 100644 index 12ca952af1..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/Step0.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react" -import Button from "../Button" -import * as Icons from "../Icons" - -const styles = { - subtitle: { textAlign: "justify" }, - newFeaturesSection: { borderRadius: "10px", width: "100%" }, -} - -const newFeaturesItems = [ - { - title: "faster dashboard performance", - icon: Icons.CarDashboardSpeed, - }, - { - title: "add tokens to existing stake", - icon: Icons.Fees, - }, - { - title: "more user friendly staking", - icon: Icons.UserFriendly, - }, -] - -const CopyStakeStepO = ({ incrementStep }) => { - return ( - <> -

    - Move your stake to Keep’s upgraded staking contract! -

    -

    - To continue running smoothly on the Keep network, any stake that was - delegated to the previous contract version will need to move to the - upgraded staking contract. -

    -
    -

    New Features

    -
    - {newFeaturesItems.map(renderNewFeatureItem)} -
    -
    - - - ) -} - -const renderNewFeatureItem = (item) => ( - -) - -const NewFeatureItem = ({ title, icon: IconComponent }) => { - return ( -
    - -
    {title}
    -
    - ) -} - -export default CopyStakeStepO diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/Step1.jsx b/solidity-v1/dashboard/src/components/copy-stake-steps/Step1.jsx deleted file mode 100644 index 85f0d98398..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/Step1.jsx +++ /dev/null @@ -1,123 +0,0 @@ -import React from "react" -import TokenAmount from "../TokenAmount" -import Button from "../Button" -import { KeepLoadingIndicator } from "../Loadable" -import { colors } from "../../constants/colors" - -const styles = { - title: { - marginBottom: "1rem", - }, - tileTitle: { - textAlign: "justify", - marginBottom: "2rem", - }, - addressWrapper: { - marginBottom: "0.5rem", - }, - delegationsList: { width: "100%" }, - delegationItem: { - borderRadius: "10px", - }, - selectedDelegationItem: { - borderRadius: "10px", - border: `1px solid ${colors.secondary}`, - }, -} - -const CopyStakeStep1 = ({ - isFetching, - delegations, - decrementStep, - incrementStep, - onSelectDelegation, - selectedDelegation, -}) => { - return ( - <> -

    Stake balances to be upgraded.

    -

    - Choose the stake delegation to be upgraded. -

    - {isFetching ? ( -
    - -
    - ) : ( -
      - {delegations.map((delegation) => ( - - ))} -
    - )} -
    - - -
    - - ) -} - -const DelegationItem = ({ delegation, onSelect, selectedOperatorAddress }) => { - const { amount, authorizerAddress, operatorAddress, beneficiaryAddress } = - delegation - const isSelected = operatorAddress === selectedOperatorAddress - - return ( -
  • - onSelect(delegation)} - /> - -
  • - ) -} - -const Address = ({ label, address }) => ( -
    -
    {label}
    -
    {address}
    -
    -) - -export default CopyStakeStep1 diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/Step2.jsx b/solidity-v1/dashboard/src/components/copy-stake-steps/Step2.jsx deleted file mode 100644 index 1f183562ca..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/Step2.jsx +++ /dev/null @@ -1,120 +0,0 @@ -import React from "react" -import Button from "../Button" -import Badge from "../Badge" -import { colors } from "../../constants/colors" - -const options = [ - { - id: 1, - type: "COPY_STAKE_FLOW", - title: "Copy stake balance to an upgraded delegation.", - subtitle: - "Avoid waiting the undelegation period and copy over your stake balance to a newly upgraded delegation. Your current stake will undelegate.", - recomended: true, - }, - { - id: 2, - type: "WAIT_FLOW", - title: - "Undelegate and wait the undelegation period to stake to a newly upgraded delegation.", - subtitle: - "Undelegate and wait the 60 day undelegation period in order to stake on the upgraded staking contract. You can start new delegations with any tokens not already staked.", - recomended: false, - }, -] - -const CopyStakeStep2 = ({ - incrementStep, - decrementStep, - selectedStrategy, - setStrategy, -}) => { - const onSetStrategy = (event) => { - setStrategy(event.target.value) - } - - return ( - <> -

    - Choose how to move your current stake to an upgraded delegation. -

    -
      - {options.map((option) => ( -
    -
    - - -
    - - ) -} - -const styles = { - optionTile: { - borderRadius: "10px", - }, - recomendeLabel: { - marginLeft: "auto", - marginTop: "-1.5rem", - marginRight: "-2rem", - }, - selectedOption: { - borderRadius: "10px", - border: `1px solid ${colors.secondary}`, - }, -} - -const Option = ({ - title, - subtitle, - isSelected, - type, - id, - onChange, - recomended, -}) => { - return ( -
  • - {recomended && ( -
    - -
    - )} - - -
  • - ) -} - -export default CopyStakeStep2 diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/Step3.jsx b/solidity-v1/dashboard/src/components/copy-stake-steps/Step3.jsx deleted file mode 100644 index 321a8b597e..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/Step3.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react" -import TokenAmount from "../TokenAmount" -import Button from "../Button" -import { KeepLoadingIndicator } from "../Icons" - -const styles = { - title: { - marginBottom: "2.5rem", - }, - subtitle: { - textAlign: "justify", - marginBottom: "2.5rem", - }, - addressWrapper: { - marginBottom: "0.5rem", - }, -} - -const subtitle = { - COPY_STAKE_FLOW: - "This stake balance will be copied to a newly upgraded delegation. Your current stake will start the undelegation process from the old staking contract.", - WAIT_FLOW: - "The total balance of the following stake will start the undelegation process from the old staking contract.", -} - -const CopyStakeStep3 = ({ - delegation, - strategy, - incrementStep, - decrementStep, - isProcessing, -}) => { - const getSubtitle = () => { - if (strategy === "WAIT_FLOW") { - if ( - delegation && - delegation.isUndelegating && - !delegation.canRecoverStake - ) { - return `Your delegation has been already undelegated. You can recover stake after - ${delegation.undelegationCompleteAt.fromNow(true)}` - } else if (delegation && delegation.canRecoverStake) { - return `Your delegation has been already undelegated. Hit confirm recover to transfer back.` - } else { - return subtitle[strategy] - } - } else if (strategy === "COPY_STAKE_FLOW") { - return subtitle[strategy] - } - } - - const getSubmitBtnText = () => { - if ( - strategy === "WAIT_FLOW" && - delegation && - (delegation.canRecoverStake || delegation.isUndelegating) - ) { - return "confirm recover" - } else if ( - strategy === "WAIT_FLOW" && - delegation && - !delegation.isUndelegating - ) { - return "confirm undelegation" - } - - return "confirm upgrade" - } - - const isBtnDisabled = () => { - if ( - strategy === "WAIT_FLOW" && - delegation.isUndelegating && - !delegation.canRecoverStake - ) { - return true - } - - return false - } - - return isProcessing ? ( - - ) : ( - <> -

    Review your stake details below.

    -

    - {getSubtitle()} -

    -
    -

    - Stake balance to - {strategy === "COPY_STAKE_FLOW" ? " Copy" : " Undelegate"} -

    - -
    -
    -
    -
    -
    - - -
    - - ) -} - -const Address = ({ label, address }) => ( -
    -
    {label}
    -
    {address}
    -
    -) - -export default CopyStakeStep3 diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/Step4.jsx b/solidity-v1/dashboard/src/components/copy-stake-steps/Step4.jsx deleted file mode 100644 index e7ea778f1f..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/Step4.jsx +++ /dev/null @@ -1,90 +0,0 @@ -import React from "react" -import * as Icons from "../Icons" -import Button from "../Button" -import moment from "moment" - -const content = { - WAIT_FLOW: { - title: - "Success! The undelegation process for your stake balance has started.", - subtitles: [ - "Your tokens will be available in undelegationCompletedAt", - "Once available, hit recover to transfer to your balance.", - "In the meantime, continue staking unstaked tokens. Any new stakes will now use the upgraded staking contract.", - ], - }, - WAIT_FLOW_RECOVER: { - title: "Success! The recovery process for your stake balance has finished.", - subtitles: [ - "Your tokens are available.", - "You can stake tokens to the upgraded staking contract.", - ], - }, - COPY_STAKE_FLOW: { - title: "Success! Your stake balance copied and redelegated.", - subtitles: [ - "Your former stake will be available in undelegationCompletedAt.", - "You’ll need to initiate the recovery process in the dashboard.", - "You’ll see a notification in the dashboard when it’s time to do this.", - ], - }, -} - -const styles = { - title: { textAlign: "left" }, - listItem: { marginBottom: "1.25rem" }, - iconWrapper: { - backgroundColor: "black", - padding: "0.5rem", - borderRadius: "50%", - }, -} - -const CopyStakeStep4 = ({ - onClose, - strategy, - undelegationPeriod, - selectedDelegation, -}) => { - const getUndelegationCompleteAt = () => { - if (selectedDelegation && selectedDelegation.undelegationCompleteAt) { - return selectedDelegation.undelegationCompleteAt.fromNow(true) - } - - return moment().add(undelegationPeriod, "seconds").fromNow(true) - } - - const getContent = () => { - if (strategy === "WAIT_FLOW" && selectedDelegation.canRecoverStake) { - return content.WAIT_FLOW_RECOVER - } else { - return content[strategy] - } - } - - return ( - <> -
    - -
    -

    - {getContent().title} -

    -
      - {getContent().subtitles.map((subtitle, index) => ( -
    • - {subtitle.replace( - "undelegationCompletedAt", - getUndelegationCompleteAt() - )} -
    • - ))} -
    - - - ) -} - -export default CopyStakeStep4 diff --git a/solidity-v1/dashboard/src/components/copy-stake-steps/index.js b/solidity-v1/dashboard/src/components/copy-stake-steps/index.js deleted file mode 100644 index 4c5840bf00..0000000000 --- a/solidity-v1/dashboard/src/components/copy-stake-steps/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import CopyStakeStepO from "./Step0" -import CopyStakeStep1 from "./Step1" -import CopyStakeStep2 from "./Step2" -import CopyStakeStep3 from "./Step3" -import CopyStakeStep4 from "./Step4" - -export { - CopyStakeStepO, - CopyStakeStep1, - CopyStakeStep2, - CopyStakeStep3, - CopyStakeStep4, -} diff --git a/solidity-v1/dashboard/src/components/coverage-pools/AddAmountToWithdrawalForm.jsx b/solidity-v1/dashboard/src/components/coverage-pools/AddAmountToWithdrawalForm.jsx deleted file mode 100644 index 949611fc56..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/AddAmountToWithdrawalForm.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from "react" -import { FormInputBase } from "../../components/FormInput" -import MaxAmountAddon from "../MaxAmountAddon" -import { - formatFloatingAmount, - normalizeFloatingAmount, -} from "../../forms/form.utils" -import { covKEEP, KEEP } from "../../utils/token.utils" -import TokenAmount from "../TokenAmount" -import { useSetMaxAmountToken } from "../../hooks/useSetMaxAmountToken" -import { Keep } from "../../contracts" -import { COV_POOLS_FORMS_MAX_DECIMAL_PLACES } from "../../constants/constants" - -const AddAmountToWithdrawalForm = ({ - tokenAmount, - onSubmit, - totalValueLocked, - covTotalSupply, - setMaxAmount, - inputProps, -}) => { - const onAddonClick = useSetMaxAmountToken( - inputProps.name, - tokenAmount, - setMaxAmount, - covKEEP, - covKEEP.decimals - ) - - return ( -
    -
    -

    Add your available balance?

    -
    - - -
    - { - return normalizeFloatingAmount( - value, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - }} - format={(value) => { - return formatFloatingAmount( - value, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - }} - inputAddon={ - - } - leftIconComponent={ - - covKEEP - - } - /> -
    -
    - ) -} - -export default AddAmountToWithdrawalForm diff --git a/solidity-v1/dashboard/src/components/coverage-pools/CooldownPeriodBanner.jsx b/solidity-v1/dashboard/src/components/coverage-pools/CooldownPeriodBanner.jsx deleted file mode 100644 index c5553dd30f..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/CooldownPeriodBanner.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from "react" -import Banner from "../Banner" -import * as Icons from "../Icons" - -const infoBannerTitle = "The cooldown period is 21 days." - -const infoBannerDescription = - "A withdrawn deposit will be available to claim after 21 days. During cooldown, your funds will accumulate rewards but are also subject to risk to cover for a hit." - -const styles = { - banner: { minWidth: "100%" }, - iconWrapper: { flex: "0 0 auto" }, -} - -const CooldownPeriodBanner = () => { - return ( - -
    - -
    -
    - {infoBannerTitle} - {infoBannerDescription} -
    -
    - ) -} - -export default CooldownPeriodBanner diff --git a/solidity-v1/dashboard/src/components/coverage-pools/DepositForm.jsx b/solidity-v1/dashboard/src/components/coverage-pools/DepositForm.jsx deleted file mode 100644 index 7c86743e47..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/DepositForm.jsx +++ /dev/null @@ -1,189 +0,0 @@ -import React from "react" -import { withFormik } from "formik" -import FormInput from "../../components/FormInput" -import Button from "../../components/Button" -import Divider from "../../components/Divider" -import MaxAmountAddon from "../MaxAmountAddon" -import { - formatFloatingAmount, - normalizeFloatingAmount, -} from "../../forms/form.utils" -import { KEEP } from "../../utils/token.utils" -import List from "../List" -import * as Icons from "../Icons" -import Chip from "../Chip" -import TokenAmount from "../TokenAmount" -import { - validateAmountInRange, - getErrorsObj, -} from "../../forms/common-validators" -import { lte } from "../../utils/arithmetics.utils" -import useSetMaxAmountToken from "../../hooks/useSetMaxAmountToken" -import { displayPercentageValue } from "../../utils/general.utils" -import OnlyIf from "../OnlyIf" -import { - COV_POOLS_FORMS_MAX_DECIMAL_PLACES, - LINK, -} from "../../constants/constants" - -const DepositForm = ({ tokenAmount, apy, ...formikProps }) => { - const onAddonClick = useSetMaxAmountToken( - "tokenAmount", - tokenAmount, - KEEP, - KEEP.decimals - ) - - const getEstimatedReward = () => { - if (!formikProps.values.tokenAmount) { - return null - } else if (!isFinite(apy) || apy > 999) { - return Infinity - } else { - return KEEP.fromTokenUnit(formikProps.values.tokenAmount) - .multipliedBy(apy.toString()) - .toFixed() - .toString() - } - } - - return ( -
    -
    - { - return normalizeFloatingAmount( - value, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - }} - format={(value) => { - return formatFloatingAmount( - value, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - }} - leftIconComponent={ - - } - inputAddon={ - - } - additionalInfoText={ - <> - Keep Balance  - - - } - /> -
    - - Estimated Rewards - - - - - - -

    - Risk warning:  - - Read the documentation - -

    - - ) -} - -const EstimatedAPYListItem = ({ apy, reward, label }) => { - return ( - -
    - -   - {label} -   - - - Enter amount above - - - - - - - -
    -
    - ) -} - -export default withFormik({ - validateOnChange: true, - validateOnBlur: true, - mapPropsToValues: () => ({ - tokenAmount: "0", - }), - validate: (values, props) => { - const { tokenAmount } = values - const errors = {} - - if (lte(props.tokenAmount || 0, 0)) { - errors.tokenAmount = "Insufficient funds" - } else { - errors.tokenAmount = validateAmountInRange( - tokenAmount, - props.tokenAmount, - KEEP.fromTokenUnit(1) - ) - } - - return getErrorsObj(errors) - }, - handleSubmit: (values, { props, resetForm }) => { - props.onSubmit(values) - resetForm({ tokenAmount: "0" }) - }, - displayName: "CovPoolsDepositForm", -})(DepositForm) diff --git a/solidity-v1/dashboard/src/components/coverage-pools/ExchangeRate.jsx b/solidity-v1/dashboard/src/components/coverage-pools/ExchangeRate.jsx deleted file mode 100644 index 7bf1351d79..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/ExchangeRate.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import React, { useEffect, useMemo, useState } from "react" -import BigNumber from "bignumber.js" -import { Keep } from "../../contracts" -import moment from "moment" -import * as Icons from "../Icons" -import Tooltip from "../Tooltip" - -const BaseExchangeRate = ({ - covToken, - collateralToken, - amount, - htmlTag = "div", - className = "", - style = {}, -}) => { - const Tag = htmlTag - return ( - - {`1 ${covToken.symbol}`} =  - {collateralToken.displayAmountWithSymbol(amount, 3, (amount) => - new BigNumber(amount).toFormat(3, BigNumber.ROUND_DOWN) - )} - - ) -} - -export const CoveragePoolV1ExchangeRate = ({ - covToken, - collateralToken, - covTotalSupply, - totalValueLocked, - ...restProps -}) => { - const [ - exchangeRateCalculatedUnixTimestamp, - setExchangeRateCalculatedUnixTimestamp, - ] = useState(0) - - const calculateAmount = useMemo(() => { - const amount = Keep.coveragePoolV1.estimatedBalanceFor( - collateralToken.fromTokenUnit(1).toString(), - covTotalSupply, - totalValueLocked - ) - return amount - }, [collateralToken, covTotalSupply, totalValueLocked]) - - useEffect(() => { - setExchangeRateCalculatedUnixTimestamp(moment().unix()) - }, [calculateAmount]) - - const exchangeRateCalculatedMoment = useMemo(() => { - return moment.unix(exchangeRateCalculatedUnixTimestamp) - }, [exchangeRateCalculatedUnixTimestamp]) - - return ( - <> - - - {exchangeRateCalculatedUnixTimestamp === 0 - ? "Loading..." - : `Rate calculated on ${exchangeRateCalculatedMoment.format( - "MM/DD/YYYY" - )} at ${exchangeRateCalculatedMoment.format("HH:mm:ss")}`} - - - ) -} diff --git a/solidity-v1/dashboard/src/components/coverage-pools/MetricsSection.jsx b/solidity-v1/dashboard/src/components/coverage-pools/MetricsSection.jsx deleted file mode 100644 index e482646cb0..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/MetricsSection.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import React from "react" - -import MetricsTile from "..//MetricsTile" -import { APY } from "../liquidity" -import { Skeleton } from "../skeletons" -import TokenAmount from "../TokenAmount" -import ResourceTooltip from "../ResourceTooltip" -import OnlyIf from "../OnlyIf" -import { TOOLTIP_DIRECTION } from "../Tooltip" - -const MetricsSection = ({ - tvl, - tvlInUSD, - rewardRate, - isRewardRateFetching, - totalAllocatedRewards, - isTotalAllocatedRewardsFetching, - lifetimeCovered, - isLifetimeCoveredFetching, - classes = {}, -}) => { - return ( -
    -
    -
    -

    Total Value Locked

    - -
    - -

    {`$${tvlInUSD.toString()} USD`}

    -
    - -
    - - - Estimated rate of rewards that you will receive annually. - - -
    annual rewards rate
    -
    -
    - -
    - - - Rewards distributed from the rewards pool contract since the start - of the pool. - - - - - - {" "} - -
    lifetime rewards
    -
    -
    - -
    - - - Amount of KEEP used from the coverage pool to cover a loss since the - start of the pool. - - - - - - - -
    lifetime covered
    -
    -
    -
    - ) -} - -export default MetricsSection diff --git a/solidity-v1/dashboard/src/components/coverage-pools/PendingWithdrawals.jsx b/solidity-v1/dashboard/src/components/coverage-pools/PendingWithdrawals.jsx deleted file mode 100644 index 2fb558a191..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/PendingWithdrawals.jsx +++ /dev/null @@ -1,367 +0,0 @@ -import React from "react" -import { reinitiateWithdraw } from "../../actions/coverage-pool" -import { useDispatch, useSelector } from "react-redux" -import { useModal } from "../../hooks/useModal" -import ProgressBar from "../ProgressBar" -import { colors } from "../../constants/colors" -import moment from "moment" -import * as Icons from "../Icons" -import Tooltip from "../Tooltip" -import BigNumber from "bignumber.js" -import { Column, DataTable } from "../DataTable" -import resourceTooltipProps from "../../constants/tooltips" -import TokenAmount from "../TokenAmount" -import { covKEEP, KEEP } from "../../utils/token.utils" -import Button from "../Button" -import { Keep } from "../../contracts" -import { useWeb3Address } from "../WithWeb3Context" -import { ResourceTooltipContent } from "../ResourceTooltip" -import { - COVERAGE_POOL_CLAIM_TOKENS_CALENDAR_EVENT, - MODAL_TYPES, -} from "../../constants/constants" -import AddToCalendar from "../AddToCalendar" -import useCurrentDate from "../../hooks/useCurrentDate" - -const PendingWithdrawals = ({ covTokensAvailableToWithdraw }) => { - const dispatch = useDispatch() - const { openModal } = useModal() - const yourAddress = useWeb3Address() - - const { - totalValueLocked, - covTotalSupply, - withdrawalDelay, - withdrawalTimeout, - pendingWithdrawal, - withdrawalInitiatedTimestamp, - } = useSelector((state) => state.coveragePool) - const currentDateInUnix = useCurrentDate() - - const onClaimTokensSubmitButtonClick = (covAmount) => { - openModal(MODAL_TYPES.CovPoolClaimTokens, { - covAmount, - address: yourAddress, - collateralTokenAmount: Keep.coveragePoolV1.estimatedBalanceFor( - covAmount, - covTotalSupply, - totalValueLocked - ), - }) - } - - const onReinitiateWithdrawal = () => { - dispatch(reinitiateWithdraw()) - } - - const formattedDataForDataTable = - withdrawalInitiatedTimestamp > 0 - ? [ - { - covAmount: pendingWithdrawal, - timestamp: withdrawalInitiatedTimestamp, - }, - ] - : [] - - const renderProgressBar = ( - withdrawalDate, - endOfWithdrawalDelayDate, - currentDate - ) => { - const progressBarValueInSeconds = currentDate.diff( - withdrawalDate, - "seconds" - ) - const progressBarTotalInSeconds = endOfWithdrawalDelayDate.diff( - withdrawalDate, - "seconds" - ) - return ( - - - - - - ) - } - - const renderCooldownStatus = (timestamp) => { - const withdrawalDate = moment.unix(timestamp) - const currentDate = moment.unix(currentDateInUnix) - const endOfWithdrawalDelayDate = moment - .unix(timestamp) - .add(withdrawalDelay, "seconds") - - const days = endOfWithdrawalDelayDate.diff(currentDate, "days") - const hours = moment - .duration(endOfWithdrawalDelayDate.diff(currentDate)) - .hours() - const minutes = moment - .duration(endOfWithdrawalDelayDate.diff(currentDate)) - .minutes() - const seconds = moment - .duration(endOfWithdrawalDelayDate.diff(currentDate)) - .seconds() - - const timeUntilAvailable = - days > 0 - ? `${days}d ${hours}h ${minutes}m` - : `${hours}h ${minutes}m ${seconds}s` - - let cooldownStatus = <> - if (currentDate.isBefore(endOfWithdrawalDelayDate, "seconds")) { - cooldownStatus = ( - <> - {renderProgressBar( - withdrawalDate, - endOfWithdrawalDelayDate, - currentDate - )} -
    - {`Available: ${endOfWithdrawalDelayDate.format( - "MM/DD/YYYY" - )}, in ${timeUntilAvailable}`} -
    - - - ) - } else { - cooldownStatus = ( - <> -
    - {" "} - Cooldown completed -
    -
    - - {endOfWithdrawalDelayDate.format("MM/DD/YYYY")} at{" "} - {endOfWithdrawalDelayDate.format("HH:mm:ss")}{" "} - -
    - - ) - } - - return ( -
    - {cooldownStatus} -
    - ) - } - - const isWithdrawalDelayOver = (pendingWithdrawalTimestamp) => { - const currentDate = moment.unix(currentDateInUnix) - const endOfWithdrawalDelayDate = moment - .unix(pendingWithdrawalTimestamp) - .add(withdrawalDelay, "seconds") - - return currentDate.isAfter(endOfWithdrawalDelayDate) - } - - const isWithdrawalTimeoutOver = (pendingWithdrawalTimestamp) => { - const currentDate = moment.unix(currentDateInUnix) - const endOfWithdrawalTimeoutDate = moment - .unix(pendingWithdrawalTimestamp) - .add(withdrawalDelay, "seconds") - .add(withdrawalTimeout, "seconds") - - return currentDate.isAfter(endOfWithdrawalTimeoutDate, "second") - } - - const renderTimeLeftToClaimText = (pendingWithdrawalTimestamp) => { - const currentDate = moment.unix(currentDateInUnix) - const endOfWithdrawalDelayDate = moment - .unix(pendingWithdrawalTimestamp) - .add(withdrawalDelay, "seconds") - - if (currentDate.isBefore(endOfWithdrawalDelayDate, "second")) { - return <> - } - - const endOfWithdrawalTimeoutDate = moment - .unix(pendingWithdrawalTimestamp) - .add(withdrawalDelay, "seconds") - .add(withdrawalTimeout, "seconds") - - const days = endOfWithdrawalTimeoutDate.diff(currentDate, "days") - const hours = moment - .duration(endOfWithdrawalTimeoutDate.diff(currentDate)) - .hours() - const minutes = moment - .duration(endOfWithdrawalTimeoutDate.diff(currentDate)) - .minutes() - const seconds = moment - .duration(endOfWithdrawalTimeoutDate.diff(currentDate)) - .seconds() - - const timeToClaimWithUnits = - days > 0 - ? `${days}d ${hours}h ${minutes}m` - : `${hours}h ${minutes}m ${seconds}s` - - let timeToClaim = <> - if (!isWithdrawalTimeoutOver(pendingWithdrawalTimestamp)) { - timeToClaim = ( -
    -
    -

    - Available for:{" "} - 0 ? "text-black" : "text-error"}> - {timeToClaimWithUnits} - -

    - - - -
    - - Expires:  - {endOfWithdrawalTimeoutDate.format("MM/DD/YYYY")} at{" "} - {endOfWithdrawalTimeoutDate.format("HH:mm:ss")}{" "} - -
    - ) - } else { - timeToClaim = ( -
    -

    Claim window expired

    - - - -
    - ) - } - - return timeToClaim - } - - const renderPendingWithdrawalButtonText = (pendingWithdrawalTimestamp) => { - let pendingWithdrawalButtonText = claim tokens - if (isWithdrawalTimeoutOver(pendingWithdrawalTimestamp)) { - pendingWithdrawalButtonText = ( - - - re-initiate - - ) - } - return pendingWithdrawalButtonText - } - - return ( -
    - - { - return ( -
    - - -
    - ) - }} - /> - { - return renderCooldownStatus(timestamp) - }} - /> - ( -
    - - - {renderTimeLeftToClaimText(timestamp)} - -
    - )} - /> -
    -
    - ) -} - -export default PendingWithdrawals diff --git a/solidity-v1/dashboard/src/components/coverage-pools/WithdrawAmountForm.jsx b/solidity-v1/dashboard/src/components/coverage-pools/WithdrawAmountForm.jsx deleted file mode 100644 index e1b9f107dc..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/WithdrawAmountForm.jsx +++ /dev/null @@ -1,100 +0,0 @@ -import React from "react" -import { withFormik } from "formik" -import { lte } from "../../utils/arithmetics.utils" -import { - getErrorsObj, - validateAmountInRange, -} from "../../forms/common-validators" -import { - formatFloatingAmount, - normalizeFloatingAmount, -} from "../../forms/form.utils" -import FormInput from "../FormInput" -import MaxAmountAddon from "../MaxAmountAddon" -import Button from "../Button" -import useSetMaxAmountToken from "../../hooks/useSetMaxAmountToken" -import { covKEEP } from "../../utils/token.utils" -import { COV_POOLS_FORMS_MAX_DECIMAL_PLACES } from "../../constants/constants" - -const WithdrawAmountForm = ({ - onCancel, - submitBtnText, - withdrawAmount, - withdrawalDelay, // in seconds - ...formikProps -}) => { - const onAddonClick = useSetMaxAmountToken( - "withdrawAmount", - withdrawAmount, - covKEEP, - covKEEP.decimals - ) - - return ( -
    - { - return normalizeFloatingAmount( - value, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - }} - format={(value) => { - return formatFloatingAmount(value, COV_POOLS_FORMS_MAX_DECIMAL_PLACES) - }} - inputAddon={} - leftIconComponent={ - - covKEEP - - } - /> - - - ) -} - -const WithdrawAmountFormWithFormik = withFormik({ - validateOnChange: true, - validateOnBlur: true, - mapPropsToValues: () => ({ - withdrawAmount: "0", - }), - validate: (values, props) => { - const { withdrawAmount } = values - const errors = {} - - if (lte(props.withdrawAmount || 0, 0)) { - errors.withdrawAmount = "Insufficient funds" - } else { - errors.withdrawAmount = validateAmountInRange( - withdrawAmount, - props.withdrawAmount, - covKEEP.fromTokenUnit(0.000001).toNumber(), - covKEEP, - COV_POOLS_FORMS_MAX_DECIMAL_PLACES - ) - } - - return getErrorsObj(errors) - }, - handleSubmit: (values, { props, resetForm }) => { - props.onSubmit(values) - resetForm({ withdrawAmount: "0" }) - }, - displayName: "CoveragePoolsWithdrawAmountForm", -})(WithdrawAmountForm) - -export default WithdrawAmountFormWithFormik diff --git a/solidity-v1/dashboard/src/components/coverage-pools/index.js b/solidity-v1/dashboard/src/components/coverage-pools/index.js deleted file mode 100644 index f2f689a2b7..0000000000 --- a/solidity-v1/dashboard/src/components/coverage-pools/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import DepositForm from "./DepositForm" -import MetricsSection from "./MetricsSection" -import CooldownPeriodBanner from "./CooldownPeriodBanner" -import WithdrawAmountForm from "./WithdrawAmountForm" - -export { DepositForm, MetricsSection, CooldownPeriodBanner, WithdrawAmountForm } diff --git a/solidity-v1/dashboard/src/components/empty-states/EmptyState.jsx b/solidity-v1/dashboard/src/components/empty-states/EmptyState.jsx deleted file mode 100644 index ab70f66b1b..0000000000 --- a/solidity-v1/dashboard/src/components/empty-states/EmptyState.jsx +++ /dev/null @@ -1,47 +0,0 @@ -import React from "react" -import ResourceTooltip from "../ResourceTooltip" -import ConnectWalletBtn from "../ConnectWalletBtn" - -const EmptyState = ({ children }) => { - return
    {children}
    -} - -EmptyState.Title = ({ - text, - tag = "h2", - wrapperClassName = "", - classname = "", - tooltipProps = null, -}) => { - const Tag = tag - return ( -
    - {text} - {tooltipProps && ( - - )} -
    - ) -} - -EmptyState.Subtitle = ({ text, tag = "h3", className = "" }) => { - const Tag = tag - return {text} -} - -EmptyState.Skeleton = ({ children, className = "" }) => { - return
    {children}
    -} - -EmptyState.ConnectWalletBtn = ({ - text = "connect wallet", - btnClassName = "", -}) => { - // TODO connect to a wallet onClick - return -} - -export default EmptyState diff --git a/solidity-v1/dashboard/src/components/liquidity/APY.jsx b/solidity-v1/dashboard/src/components/liquidity/APY.jsx deleted file mode 100644 index 4ac66bbe0b..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/APY.jsx +++ /dev/null @@ -1,63 +0,0 @@ -import React, { useMemo } from "react" -import CountUp from "react-countup" -import BigNumber from "bignumber.js" -import { Skeleton } from "../skeletons" -import { displayPercentageValue, formatValue } from "../../utils/general.utils" - -export const APY = ({ - apy, - isFetching = false, - skeletonProps = { tag: "h2", shining: true, color: "grey-10" }, - className = "", -}) => { - const formattedApy = useMemo(() => { - const bn = new BigNumber(apy).multipliedBy(100) - if (bn.isEqualTo(Infinity)) { - return Infinity - } else if (bn.isLessThan(0.01) && bn.isGreaterThan(0)) { - return 0.01 - } else if (bn.isGreaterThan(999)) { - return 999 - } - - return formatValue(bn) - }, [apy]) - - return isFetching ? ( - - ) : ( -

    - {formattedApy === Infinity ? ( - - ) : ( - - )} -

    - ) -} - -APY.TooltipContent = () => { - return ( - <> - Pool APY is calculated using the  - - Uniswap subgraph API - -  to fetch the total pool value and KEEP token in USD. - - ) -} - -export default APY diff --git a/solidity-v1/dashboard/src/components/liquidity/KeepOnlyPoolCard.jsx b/solidity-v1/dashboard/src/components/liquidity/KeepOnlyPoolCard.jsx deleted file mode 100644 index 160c494f28..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/KeepOnlyPoolCard.jsx +++ /dev/null @@ -1,121 +0,0 @@ -import React, { useCallback, useMemo } from "react" -import * as Icons from "../Icons" -import { MODAL_TYPES } from "../../constants/constants" -import CountUp from "react-countup" -import { KEEP } from "../../utils/token.utils" -import { add, gt } from "../../utils/arithmetics.utils" -import Divider from "../Divider" -import { SubmitButton } from "../Button" -import { useModal } from "../../hooks/useModal" -import LiquidityRewardCard from "../LiquidityRewardCard" - -const KeepOnlyPoolCard = ({ - poolId = "KEEP_ONLY", - title, - MainIcon, - lpBalance, - rewardBalance, - withdrawLiquidityRewards, -}) => { - const { openConfirmationModal } = useModal() - - const lockedKEEP = useMemo(() => { - return add(lpBalance, rewardBalance) - }, [lpBalance, rewardBalance]) - - const formattingFn = useCallback((value) => { - return KEEP.displayAmount(KEEP.fromTokenUnit(value)) - }, []) - - const withdrawKEEP = useCallback( - async (awaitingPromise) => { - const { amount } = await openConfirmationModal( - MODAL_TYPES.KeepOnlyPoolWithdrawKeep, - { - availableAmount: lpBalance, - rewardedAmount: rewardBalance, - } - ) - - withdrawLiquidityRewards( - poolId, - KEEP.fromTokenUnit(amount).toString(), - awaitingPromise - ) - }, - [ - withdrawLiquidityRewards, - lpBalance, - openConfirmationModal, - rewardBalance, - poolId, - ] - ) - - return ( - - -
    -

    - Your KEEP pool balance -

    -
    -

    - - KEEP -

    -

    - -

    -
    -
    -

    Deposited

    -

    - -

    -
    - -
    -

    Rewarded

    -

    - -

    -
    -
    - - withdraw all - -
    - ) -} - -export default KeepOnlyPoolCard diff --git a/solidity-v1/dashboard/src/components/liquidity/LPTokenBalance.jsx b/solidity-v1/dashboard/src/components/liquidity/LPTokenBalance.jsx deleted file mode 100644 index 7034528443..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/LPTokenBalance.jsx +++ /dev/null @@ -1,68 +0,0 @@ -import React, { useMemo } from "react" -import * as Icons from "../Icons" -import CountUp from "react-countup" -import BigNumber from "bignumber.js" -import { formatValue } from "../../utils/general.utils" -import Tooltip from "../Tooltip" -import { LPToken } from "../../utils/token.utils" - -const LPTokenBalance = ({ lpTokens, lpTokenBalance }) => { - const formattedLPTokenBalance = useMemo(() => { - const token0BN = new BigNumber(lpTokenBalance.token0) - const token1BN = new BigNumber(lpTokenBalance.token1) - - const token0 = formatValue(token0BN, 0) - const token1 = formatValue(token1BN, 0) - - return { - token0: LPToken.toTokenUnit(token0), - token1: LPToken.toTokenUnit(token1), - } - }, [lpTokenBalance.token0, lpTokenBalance.token1]) - - if (lpTokens && lpTokens.length === 0) return null - return ( -
    -

    - Your LP Token Balance   - - Estimated value of the LP tokens deposited on the LPRewards contract - -

    - {lpTokens.map((lpToken, i) => { - const IconComponent = Icons[lpToken.iconName] - return ( -
    -
    -

    - - {lpToken.tokenName} -

    -

    - -

    -
    - {i !== lpTokens.length - 1 && ( -
    - + -
    - )} -
    - ) - })} -
    - ) -} - -export default LPTokenBalance diff --git a/solidity-v1/dashboard/src/components/liquidity/RewardMultiplier.jsx b/solidity-v1/dashboard/src/components/liquidity/RewardMultiplier.jsx deleted file mode 100644 index f3f8401364..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/RewardMultiplier.jsx +++ /dev/null @@ -1,42 +0,0 @@ -import React, { useMemo } from "react" -import { Skeleton } from "../skeletons" -import CountUp from "react-countup" -import { formatValue } from "../../utils/general.utils" - -export const RewardMultiplier = ({ - rewardMultiplier, - isFetching = false, - skeletonProps = { tag: "h2", shining: true, color: "grey-10" }, - className = "", -}) => { - const formattedRewardMultiplier = useMemo(() => { - return formatValue(rewardMultiplier, 1) - }, [rewardMultiplier]) - - return isFetching ? ( - - ) : ( -

    - -

    - ) -} - -RewardMultiplier.TooltipContent = () => { - // TODO: content of the tooltip - return ( - <> - Deposit liquidity tokens for 30 days to achieve a 3x reward multiplier. - The multiplier is individual for each stake, so this value is an average - of the boosts of all your stakes.{" "} - - ) -} - -export default RewardMultiplier diff --git a/solidity-v1/dashboard/src/components/liquidity/ShareOfPool.jsx b/solidity-v1/dashboard/src/components/liquidity/ShareOfPool.jsx deleted file mode 100644 index ee5e347840..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/ShareOfPool.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { useMemo } from "react" -import CountUp from "react-countup" -import BigNumber from "bignumber.js" -import { Skeleton } from "../skeletons" -import { displayPercentageValue, formatValue } from "../../utils/general.utils" - -const ShareOfPool = ({ - percentageOfTotalPool, - isFetching = false, - skeletonProps = { tag: "h2", shining: true, color: "grey-10" }, - className = "", -}) => { - const formattedPercentageOfTotalPool = useMemo(() => { - const bn = new BigNumber(percentageOfTotalPool) - return bn.isLessThan(0.01) && bn.isGreaterThan(0) ? 0.01 : formatValue(bn) - }, [percentageOfTotalPool]) - - return isFetching ? ( - - ) : ( -

    - -

    - ) -} - -export default ShareOfPool diff --git a/solidity-v1/dashboard/src/components/liquidity/index.js b/solidity-v1/dashboard/src/components/liquidity/index.js deleted file mode 100644 index c105a7d25b..0000000000 --- a/solidity-v1/dashboard/src/components/liquidity/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import APY from "./APY" -import ShareOfPool from "./ShareOfPool" -import LPTokenBalance from "./LPTokenBalance" - -export { APY, ShareOfPool, LPTokenBalance } diff --git a/solidity-v1/dashboard/src/components/messages/DelegationAlreadyCopiedMessage.jsx b/solidity-v1/dashboard/src/components/messages/DelegationAlreadyCopiedMessage.jsx deleted file mode 100644 index fb7a0b410c..0000000000 --- a/solidity-v1/dashboard/src/components/messages/DelegationAlreadyCopiedMessage.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -const DelegationAlreadyCopiedMessage = ({ - sticky, - withTransactionHash, - txHash, - messageId, - onMessageClose, -}) => { - const icon = Icons.Success - const title = `Delegation already copied` - const classes = { - iconClassName: "success-icon green", - } - - return ( - - ) -} - -export default React.memo(DelegationAlreadyCopiedMessage) diff --git a/solidity-v1/dashboard/src/components/messages/ErrorMessage.jsx b/solidity-v1/dashboard/src/components/messages/ErrorMessage.jsx deleted file mode 100644 index 293e5856e7..0000000000 --- a/solidity-v1/dashboard/src/components/messages/ErrorMessage.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -const ErrorMessage = ({ sticky, content, messageId, onMessageClose }) => { - const icon = Icons.Warning - const title = `Error` - - return ( - - ) -} - -export default React.memo(ErrorMessage) diff --git a/solidity-v1/dashboard/src/components/messages/InfoMessage.jsx b/solidity-v1/dashboard/src/components/messages/InfoMessage.jsx deleted file mode 100644 index 11c07e4289..0000000000 --- a/solidity-v1/dashboard/src/components/messages/InfoMessage.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -// TODO: use info message somewhere or delete this component completely -const InfoMessage = ({ sticky, content, messageId, onMessageClose }) => { - const icon = Icons.MoreInfo - const title = `Info` - - return ( - - ) -} - -export default React.memo(InfoMessage) diff --git a/solidity-v1/dashboard/src/components/messages/LPTokensInWalletMessage.jsx b/solidity-v1/dashboard/src/components/messages/LPTokensInWalletMessage.jsx deleted file mode 100644 index 1ffac48a54..0000000000 --- a/solidity-v1/dashboard/src/components/messages/LPTokensInWalletMessage.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from "react" -import * as Icons from "../Icons" -import { Message } from "../Message" -import NavLink from "../NavLink" - -const LPTokensInWalletMessage = ({ - liquidityRewardPairName, - sticky, - messageId, - onMessageClose, -}) => { - const icon = Icons.Wallet - const title = `[${liquidityRewardPairName}] Your wallet has LP Tokens!` - const content = ( - Deposit them and earn rewards - ) - const classes = { - bannerDescription: "m-0", - iconClassName: "wallet-icon grey-50", - } - - return ( - - ) -} - -export default React.memo(LPTokensInWalletMessage) diff --git a/solidity-v1/dashboard/src/components/messages/LiquidityRewardsEarnedMessage.jsx b/solidity-v1/dashboard/src/components/messages/LiquidityRewardsEarnedMessage.jsx deleted file mode 100644 index cdefbbdde4..0000000000 --- a/solidity-v1/dashboard/src/components/messages/LiquidityRewardsEarnedMessage.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import React from "react" -import { Message } from "../Message" -import * as Icons from "../Icons" -import { Link } from "react-router-dom" -import { useDispatch, useSelector } from "react-redux" - -const LiquidityRewardsEarnedMessage = ({ - sticky, - messageId, - onMessageClose, -}) => { - const { - liquidityRewardNotification: { pairsDisplayed }, - } = useSelector((state) => state.notificationsData) - - const icon = Icons.Rewards - const content = View your balance - const classes = { - bannerDescription: "m-0", - iconClassName: "reward-icon brand-violet", - } - const dispatch = useDispatch() - - const formattedTitle = (liquidityRewardPairNames) => { - const mainText = "You've earned rewards" - let pairNamesContent = "" - if (liquidityRewardPairNames.length > 0) { - pairNamesContent = " for " - for (const [i, pairName] of liquidityRewardPairNames.entries()) { - pairNamesContent = pairNamesContent.concat(pairName.replace("_", "+")) - if ( - i !== liquidityRewardPairNames.length - 1 && - i !== liquidityRewardPairNames.length - 2 - ) { - pairNamesContent = pairNamesContent.concat(", ") - } else if (i === liquidityRewardPairNames.length - 2) { - pairNamesContent = pairNamesContent.concat(" and ") - } - } - } - pairNamesContent = pairNamesContent.concat("!") - return mainText.concat(pairNamesContent) - } - - /** - * Clears the pairs saved in the redux store. - * - * This function should be called whenever notification is being closed - */ - const clearNotificationData = () => { - dispatch({ - type: "notifications_data/liquidityRewardNotification/pairs_displayed_updated", - payload: [], - }) - } - - return ( - { - onMessageClose(messageId) - setTimeout(() => { - clearNotificationData() - }, 300) - }} - /> - ) -} - -export default React.memo(LiquidityRewardsEarnedMessage) diff --git a/solidity-v1/dashboard/src/components/messages/PendingActionMessage.jsx b/solidity-v1/dashboard/src/components/messages/PendingActionMessage.jsx deleted file mode 100644 index 1c936b913e..0000000000 --- a/solidity-v1/dashboard/src/components/messages/PendingActionMessage.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -const PendingActionMessage = ({ - sticky, - withTransactionHash, - txHash, - messageId, - onMessageClose, -}) => { - const icon = Icons.Time - const title = `Pending transaction` - - return ( - - ) -} - -export default React.memo(PendingActionMessage) diff --git a/solidity-v1/dashboard/src/components/messages/StakeReadyToBeStakedToT.jsx b/solidity-v1/dashboard/src/components/messages/StakeReadyToBeStakedToT.jsx deleted file mode 100644 index e9d41debfd..0000000000 --- a/solidity-v1/dashboard/src/components/messages/StakeReadyToBeStakedToT.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import { Message } from "../Message" -import React from "react" -import * as Icons from "../Icons" -import NavLink from "../NavLink" - -const StakeReadyToBeStakedToT = ({ - sticky, - numberOfStakes = 0, - linkText = "Go to Applications →", - messageId, - onMessageClose, -}) => { - const icon = Icons.TTokenSymbol - const content = {linkText} - - const inflectionOfAStakeWord = numberOfStakes === 1 ? "stake" : "stakes" - const title = `You have ${numberOfStakes} ${inflectionOfAStakeWord} to stake on Threshold and earn rewards.` - - return ( - - ) -} - -export default React.memo(StakeReadyToBeStakedToT) diff --git a/solidity-v1/dashboard/src/components/messages/SuccessMessage.jsx b/solidity-v1/dashboard/src/components/messages/SuccessMessage.jsx deleted file mode 100644 index 9cbda2cb02..0000000000 --- a/solidity-v1/dashboard/src/components/messages/SuccessMessage.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -const SuccessMessage = ({ - sticky, - withTransactionHash, - txHash, - messageId, - onMessageClose, -}) => { - const icon = Icons.Success - const title = `Success!` - const classes = { - iconClassName: "success-icon green", - } - - return ( - - ) -} - -export default React.memo(SuccessMessage) diff --git a/solidity-v1/dashboard/src/components/messages/TopUpReadyToBeCommittedMessage.jsx b/solidity-v1/dashboard/src/components/messages/TopUpReadyToBeCommittedMessage.jsx deleted file mode 100644 index f7d7fcac06..0000000000 --- a/solidity-v1/dashboard/src/components/messages/TopUpReadyToBeCommittedMessage.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react" -import * as Icons from "../Icons" -import { Message } from "../Message" -import NavLink from "../NavLink" - -const TopUpReadyToBeCommittedMessage = ({ - sticky, - messageId, - onMessageClose, - grantId = null, -}) => { - const icon = Icons.KeepGreenOutline - const title = "Top-up is ready to be committed" - const path = grantId - ? { - pathname: "/delegations/granted", - hash: `${grantId}`, - } - : "/delegations/wallet" - const content = Commit top up - - return ( - - ) -} - -export default React.memo(TopUpReadyToBeCommittedMessage) diff --git a/solidity-v1/dashboard/src/components/messages/WalletMessage.jsx b/solidity-v1/dashboard/src/components/messages/WalletMessage.jsx deleted file mode 100644 index 0bdd644bb1..0000000000 --- a/solidity-v1/dashboard/src/components/messages/WalletMessage.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as Icons from "../Icons" -import { Message } from "../Message" -import React from "react" - -const WalletMessage = ({ sticky, messageId, onMessageClose }) => { - const icon = Icons.Wallet - const title = `Waiting for the transaction confirmation...` - const classes = { - iconClassName: "wallet-icon grey-50", - } - - return ( - - ) -} - -export default React.memo(WalletMessage) diff --git a/solidity-v1/dashboard/src/components/modal/LegacyDashboardModal.jsx b/solidity-v1/dashboard/src/components/modal/LegacyDashboardModal.jsx deleted file mode 100644 index 616d21b1b4..0000000000 --- a/solidity-v1/dashboard/src/components/modal/LegacyDashboardModal.jsx +++ /dev/null @@ -1,99 +0,0 @@ -import React from "react" -import List from "../List" -import * as Icons from "../Icons" -import { - Modal, - ModalOverlay, - ModalCloseButton, - ModalContent, - ModalHeader, - ModalBody, - ModalFooter, -} from "./Modal" -import { LINK } from "../../constants/constants" -import Button from "../Button" -import { colors } from "../../constants/colors" -import { useShouldShowLegacyDappModal } from "../../hooks/useShowLegacyDappModal" - -const styles = { - header: { - background: colors.yellow30, - color: colors.yellowSecondary, - borderBottomColor: "inherit", - }, - body: { - illustration: { - marginTop: "1.5rem", - }, - title: { - marginTop: "2rem", - marginBottom: "1.5rem", - }, - }, - footer: { - link: { - textDecoration: "underline !important", - }, - }, -} - -export const LegacyDashboardModal = ({ isOpen, onClose, size }) => { - const { modalHasBeenClosed } = useShouldShowLegacyDappModal() - - const _onClose = () => { - onClose() - modalHasBeenClosed() - } - - return ( - - - - - - Take note! This is a Legacy Dashboard - - - -

    - The Keep Network Dashboard is in legacy mode. -

    -
    -

    - Only the following features are supported in legacy mode: -

    - - Stake delegation/undelegation - Token grant withdrawal - Stake upgrade for Threshold Network - -

    - Visit{" "} - - Threshold Dashboard - {" "} - for the tBTC v2 dApp and staking in Threshold Network. -

    -
    -
    - - - - Go to Threshold dashboard - - -
    -
    - ) -} diff --git a/solidity-v1/dashboard/src/components/modal/MobileUsersModal.jsx b/solidity-v1/dashboard/src/components/modal/MobileUsersModal.jsx deleted file mode 100644 index 077e4bd0de..0000000000 --- a/solidity-v1/dashboard/src/components/modal/MobileUsersModal.jsx +++ /dev/null @@ -1,66 +0,0 @@ -import React from "react" -import Button from "../Button" -import * as Icons from "../Icons" -import { LINK } from "../../constants/constants" -import { - Modal, - ModalOverlay, - ModalCloseButton, - ModalContent, - ModalBody, -} from "./Modal" - -const MobileUsersModal = ({ onClose }) => { - return ( - - - - - -
    - -
    -

    - {"The dashboard shines on desktop."} -

    - - { - "Switch to a desktop for the best viewing experience of the dashboard" - } - -
    - - {"VIEW WEBSITE"} - - - - {"Curious for more? "} - { - - Join our Discord - - } - -
    -
    -
    -
    - ) -} - -export default MobileUsersModal diff --git a/solidity-v1/dashboard/src/components/modal/Modal.jsx b/solidity-v1/dashboard/src/components/modal/Modal.jsx deleted file mode 100644 index 56dc22ec48..0000000000 --- a/solidity-v1/dashboard/src/components/modal/Modal.jsx +++ /dev/null @@ -1,119 +0,0 @@ -import React, { useContext } from "react" -import * as Icons from "../Icons" -import OnlyIf from "../OnlyIf" - -const ModalContext = React.createContext({ - isOpen: false, - onClose: () => {}, - isCentered: true, - closeOnOverlayClick: true, - size: "md", -}) - -const useModalContext = () => { - const context = useContext(ModalContext) - - if (!context) { - throw new Error("ModalContext used outside of Modal component") - } - - return context -} - -export const Modal = ({ - isOpen, - onClose, - isCentered, - children, - closeOnOverlayClick = false, - size = "md", -}) => { - return ( - - -
    {children}
    -
    -
    - ) -} - -export const ModalOverlay = ({ - className = "", - color = "", - onClick = () => {}, -}) => { - const { onClose, closeOnOverlayClick } = useModalContext() - - const _onClose = (event) => { - event.stopPropagation() - if (closeOnOverlayClick) { - onClose() - } - onClick() - } - - return ( -
    - ) -} - -export const ModalContent = ({ className = "", ...restProps }) => { - const { size } = useModalContext() - return ( -
    -
    -
    - ) -} - -export const ModalHeader = ({ className = "", ...restProps }) => { - return
    -} - -export const ModalBody = ({ className = "", ...restProps }) => { - return
    -} - -export const ModalFooter = ({ className = "", ...restProps }) => { - return
    - {icon} -

    {name}

    -
    - {websiteName} - - - {description} - - - manage - -