@qidao/sdk 5.3.7 → 5.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("jsbi"),t=require("tiny-invariant"),n=require("tiny-warning"),f=require("@ethersproject/address"),a=require("decimal.js-light"),i=require("big.js"),p=require("toformat"),s=require("ethers");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var F,P,o,y,r,d=/*#__PURE__*/u(e),l=/*#__PURE__*/u(t),S=/*#__PURE__*/u(n),U=/*#__PURE__*/u(a),D=/*#__PURE__*/u(i),c=/*#__PURE__*/u(p),A="0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",m="0xB0aed7923f7fBEAf5bb2caa4A049A51d638Be2c9",b="0x1D864EDCA89b99580C46CEC4091103D7fb85aDCF",T="0x83D41737d086033A9c3acE2F1Ad9350d7d91cf02",x="0x652195e546A272c5112DF3c1b5fAA65591320C95",E="0xeA97a391aD06a1F81C565CE29Fd4AD09c6FBE1B9",M="0x5AA5079A8037f9D050D838AEFCe10bA7B8b8b001";exports.ChainId=void 0,(o=exports.ChainId||(exports.ChainId={}))[o.MAINNET=1]="MAINNET",o[o["GÖRLI"]=5]="GÖRLI",o[o.KOVAN=42]="KOVAN",o[o.MATIC=137]="MATIC",o[o.MATIC_TESTNET=80001]="MATIC_TESTNET",o[o.FANTOM=250]="FANTOM",o[o.FANTOM_TESTNET=4002]="FANTOM_TESTNET",o[o.XDAI=100]="XDAI",o[o.BSC=56]="BSC",o[o.BSC_TESTNET=97]="BSC_TESTNET",o[o.ARBITRUM=42161]="ARBITRUM",o[o.MOONBASE=1287]="MOONBASE",o[o.AVALANCHE=43114]="AVALANCHE",o[o.FUJI=43113]="FUJI",o[o.HECO=128]="HECO",o[o.HECO_TESTNET=256]="HECO_TESTNET",o[o.HARMONY=16666e5]="HARMONY",o[o.HARMONY_TESTNET=16667e5]="HARMONY_TESTNET",o[o.MOONRIVER=1285]="MOONRIVER",o[o.CRONOS=25]="CRONOS",o[o.OPTIMISM=10]="OPTIMISM",o[o.SYSCOIN=57]="SYSCOIN",o[o.METIS=1088]="METIS",o[o.MOONBEAM=1284]="MOONBEAM",o[o.MILKOMEDA=2001]="MILKOMEDA",o[o.KAVA=2222]="KAVA",o[o.IOTEX=4689]="IOTEX",o[o.KLAYTN=8217]="KLAYTN",o[o.CELO=42220]="CELO",o[o.AURORA=1313161554]="AURORA",o[o.BOBA=288]="BOBA",o[o.CUBE=1818]="CUBE",o[o.CANTO=7700]="CANTO",o[o.DOGECHAIN=2e3]="DOGECHAIN",o[o.ZKEVM=1101]="ZKEVM",o[o.BASE=8453]="BASE",o[o.LINEA=59144]="LINEA",o[o.SCROLL=534352]="SCROLL",exports.TradeType=void 0,(y=exports.TradeType||(exports.TradeType={}))[y.EXACT_INPUT=0]="EXACT_INPUT",y[y.EXACT_OUTPUT=1]="EXACT_OUTPUT",exports.Rounding=void 0,(r=exports.Rounding||(exports.Rounding={}))[r.ROUND_DOWN=0]="ROUND_DOWN",r[r.ROUND_HALF_UP=1]="ROUND_HALF_UP",r[r.ROUND_UP=2]="ROUND_UP";var H,O=d.default.BigInt(1e3),C=d.default.BigInt(0),I=d.default.BigInt(1),R=d.default.BigInt(2),v=d.default.BigInt(3),W=d.default.BigInt(5),h=d.default.BigInt(10),w=d.default.BigInt(100),L=d.default.BigInt(997),B=d.default.BigInt(1e3);exports.SolidityType=void 0,(H=exports.SolidityType||(exports.SolidityType={})).uint8="uint8",H.uint256="uint256";var g=((F={})[exports.SolidityType.uint8]=d.default.BigInt("0xff"),F[exports.SolidityType.uint256]=d.default.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),F),N=((P={})[exports.ChainId.MAINNET]="0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441",P[exports.ChainId.KOVAN]="0x2cc8688C5f75E365aaEEb4ea8D6a480405A48D2A",P[exports.ChainId.GÖRLI]="0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e",P[exports.ChainId.FANTOM]="0x63B8310c5093ac917552931D8b15d5AB6945c0a6",P[exports.ChainId.FANTOM_TESTNET]="",P[exports.ChainId.MATIC]="0x95028E5B8a734bb7E2071F96De89BABe75be9C8E",P[exports.ChainId.MATIC_TESTNET]="0x9Fc8e50Eb08C1F463b45d1AFb9c261B0a1903006",P[exports.ChainId.XDAI]="0xb5b692a88BDFc81ca69dcB1d924f59f0413A602a",P[exports.ChainId.BSC]="0xe348b292e8eA5FAB54340656f3D374b259D658b8",P[exports.ChainId.BSC_TESTNET]="0xe348b292e8eA5FAB54340656f3D374b259D658b8",P[exports.ChainId.ARBITRUM]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",P[exports.ChainId.MOONBASE]="0x9B7D5fa91b4747031d8E7807DaEC906F0f683E78",P[exports.ChainId.AVALANCHE]="0x0FB54156B496b5a040b51A71817aED9e2927912E",P[exports.ChainId.FUJI]="0x0053957E18A0994D3526Cf879A4cA7Be88e8936A",P[exports.ChainId.HECO]="0xc9a9F768ebD123A00B52e7A0E590df2e9E998707",P[exports.ChainId.HECO_TESTNET]="0x935Bfe9AfaA2Be26049ea4EDE40A3A2243361F87",P[exports.ChainId.HARMONY]="0xFE4980f62D708c2A84D3929859Ea226340759320",P[exports.ChainId.HARMONY_TESTNET]="0xbcd3451992B923531615293Cb2b2c38ba8DE9529",P[exports.ChainId.MOONRIVER]="0xe05349d6fE12602F6084550995B247a5C80C0E2C",P[exports.ChainId.CRONOS]="0xA25da25BD11A26F1dd4ea195948305fb7C8cA102",P[exports.ChainId.OPTIMISM]="0x142e2feac30d7fc3b61f9ee85fccad8e560154cc",P[exports.ChainId.SYSCOIN]="",P[exports.ChainId.METIS]="0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",P[exports.ChainId.MOONBEAM]="0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",P[exports.ChainId.MILKOMEDA]="",P[exports.ChainId.KAVA]="",P[exports.ChainId.IOTEX]="0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",P[exports.ChainId.KLAYTN]="0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",P[exports.ChainId.CELO]="0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",P[exports.ChainId.AURORA]="0x32b50c286DEFd2932a0247b8bb940b78c063F16c",P[exports.ChainId.BOBA]="0xfb91c019D9F12A0f9c23B4762fa64A34F8daDb4A",P[exports.ChainId.CUBE]="",P[exports.ChainId.CANTO]="0xcA11bde05977b3631167028862bE2a173976CA11",P[exports.ChainId.DOGECHAIN]="0xa51317d3365e8Ac0758bf3962A63892F612b942E",P[exports.ChainId.ZKEVM]="0xcA11bde05977b3631167028862bE2a173976CA11",P[exports.ChainId.BASE]="0xcA11bde05977b3631167028862bE2a173976CA11",P[exports.ChainId.LINEA]="0xcA11bde05977b3631167028862bE2a173976CA11",P[exports.ChainId.SCROLL]="0xcA11bde05977b3631167028862bE2a173976CA11",P),J={weth:{shortDescription:"Wrapped ETH (WETH) is originally the ERC-20 compatible token pegged 1:1 of ETH on the Ethereum. It was first developed and implemented by a group of Ethereum projects led by 0x labs. Generally, all ETH assets on other blockchains rather than Ethereum could be categorized as wrapped ETH. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WETH_WETH.png",name:"Wrapped ETH"},"wrapped-bitcoinwbtc":{shortDescription:"Wrapped Bitcoin ($WBTC) is the first ERC-20 token that represents Bitcoin ($BTC) on the Ethereum blockchain. WBTC is created in 2019 by BitGo, Kyber and Ren. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedBitcoin_WBTC.png",name:"Wrapped Bitcoin"},"lido-staked-ether":{shortDescription:"Lido Staked Ether ($stETH) is a staked $ETH in Lido based on multiple networks, combining the value of the initial deposit and staking rewards. The Lido is an Ethereum Liquid Staking Protocol, built on Ethereum 2.0's Beacon chain, allowing its users to earn staking rewards on the Beacon chain without locking Ether or maintaining staking infrastructure. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoStakedEther_stETH.png",name:"Lido Staked Ether"},"yearn-finance":{shortDescription:"Yearn Finance is a suite of decentralized finance (DeFi) products on Ethereum that let users optimize their earnings on crypto assets through lending and trading services. The ecosystem is controlled by YFI token holders who submit and vote on proposals that govern the platform.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/yearn.finance_YFI.jpeg",name:"yearn.finance"},chainlink:{shortDescription:"The Chainlink token ($LINK) is an ERC-677 token used as the payment for all services the Chainlink Network provides. Chainlink is a decentralized oracle network, which aims to serve as a middleware between smart contracts on smart contracting platforms and external data sources, allowing smart contracts to securely access off-chain data feeds.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Chainlink_LINK.png",name:"Chainlink"},"curve-finance":{shortDescription:"Curve Finance is a decentralized exchange on multi-chains optimized for low slippage swaps between stablecoins or similar assets that peg to the same value (e.g. WBTC/renBTC) through employment of an Automated Market Maker.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/CurveFinance_CRV.jpeg",name:"Curve Finance"},"coinbase-wrapped-staked-eth":{shortDescription:"$cbETH is a wrapped token issued by Coinbase on the Ethereum blockchain for $ETH stakers.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/CoinbaseWrappedStakedETH_CBETH.png",name:"Coinbase Wrapped Staked ETH"},"lido-dao-token":{shortDescription:"Lido DAO provides decentralized liquid staking solutions for Ethereum and other PoS chains, allowing the staked assets to remain liquid and therefore able to earn extra yield across other DeFi applications.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoDAOToken_LDO.png",name:"Lido DAO Token"},optimism:{shortDescription:"Optimism ($OP) is an Layer-2 scaling solution of Ethereum using optimistic rollup.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Optimism_OP.jpeg",name:"Optimism"},daidai:{shortDescription:"$DAI is a decentralized collateral stable coin soft-pegged to the US Dollar issued by MakerDAO.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dai_DAI.png",name:"Dai"},"kyber-network-crystal":{shortDescription:"Kyber Network is a multi-chain crypto trading and liquidity hub for decentralized applications.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/KyberNetworkCrystal_KNC.jpg",name:"Kyber Network Crystal"},"wrapped-bnb":{shortDescription:"Wrapped BNB is a wrapped version of the BNB native tokens on the BEP-20 standard on the Binance Smart Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedBNB_WBNB.png",name:"Wrapped BNB"},pancakeswap:{shortDescription:"PancakeSwap is a decentralized exchange for swapping BEP20 tokens on BNB Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/PancakeSwap_CAKE.jpeg",name:"PancakeSwap"},dodo:{shortDescription:"DODO is a decentralized exchange platform which adopts the Proactive Market Maker (PMM) algorithm on Ethereum and BNB Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/DODO_DODO.png",name:"DODO"},gnosis:{shortDescription:"GnosisDAO ($GNO) is a Web 3.0 project to build a decentralized infrastructure for the Ethereum ecosystem, founded in 2015 with an initial focus on building a decentralized prediction marketplace.​",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Gnosis_GNO.jpeg",name:"GnosisDAO"},"wrapped-matic":{shortDescription:"",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedMatic_WMATIC.jpeg",name:"Wrapped Matic"},aave:{shortDescription:"Aave is a decentralized finance lending protocol built on multiple blockchains that allow people to lend and borrow crypto. It was previously known as ETHLend when it was founded in November 2017 by Stani Kulechov.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Aave_AAVE.png",name:"Aave"},balancer:{shortDescription:"Balancer is an AMM-based DEX, an automated portfolio management tool and a price sensor on Ethereum. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Balancer_BAL.png",name:"Balancer"},quickswap:{shortDescription:"QuickSwap, a fork of Uniswap, is a DEX on Polygon that facilitates token swaps at lower cost relative to exchanges like Uniswap v2.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/QuickSwap(OLD)_QUICK.jpeg",name:"QuickSwap"},"dragon-s-quick":{shortDescription:"",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dragon'sQuick_DQUICK.png",name:"Dragon's Quick"},aavegotchi:{shortDescription:"Aavegotchi ($GHST) is an open-source, community-owned NFT gaming protocol on Polygon and Ethereum.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Aavegotchi_GHST.jpeg",name:"Aavegotchi"},"stake-dao-crv":{shortDescription:"Stake DAO is a non-custodial platform that enables anyone to easily grow their crypto portfolio, and $sdCRV is the governance token of Curve.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/StakeDAOCRV_SDCRV.png",name:"Stake DAO CRV"},tether:{shortDescription:"Tether ($USDT) is an asset-backed cryptocurrency stablecoin launched by Tether Limited Inc, whose value is pegged to the US dollar.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Tether_USDT.png",name:"Tether"},"usd-coin":{shortDescription:"$USDC provides a fully collateralized US dollar stablecoin based on the open-source asset-backed stablecoin framework developed by Centre, an independent, member-based consortium founded by Coinbase and Circle in 2018.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/USDCoin_USDC.png",name:"USD Coin"},"frax-share":{shortDescription:"Frax share (FXS) is the governance token of Frax Protocol. The Frax Protocol is the first fractional-algorithmic stablecoin system. Frax is open-source, permissionless, and entirely on-chain – currently implemented on Ethereum, Avalanche, BSC, Fantom and Solana. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/FraxShare_FXS.png",name:"Frax Share"},ethereum:{shortDescription:"Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (ETH or Ξ) is the native cryptocurrency of the platform. Ethereum was proposed in 2013 by programmer Vitalik Buterin. Development was crowdfunded in 2014, and the network went live on 30 July 2015.",logo:"https://s2.tokeninsight.com/static/coins/img/content/imgUrl/Ethereum-ETH.png",name:"Ethereum"},cardano:{shortDescription:"Cardano is an PoS based open-source, smart-contract platform that aims to provide multiple features through layered design. Its modularization will eventually allow for network delegation, sidechains, and light client data structures. The network native token called $ADA, which gives stakers a claim on new issuance in proportion to their holdings and allows users to pay for transactions.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Cardano_ADA.jpeg",name:"Cardano"},dogecoin:{shortDescription:"Dogecoin ($DOGE) is the world's first community-driven meme coin that features the Shiba Inu meme. It was created in 2013 as a fork of Lucky Coin – a fork of Litecoin, which is a fork of Bitcoin.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dogecoin_DOGE.png",name:"Dogecoin"},celsius:{shortDescription:"Celsius is a democratized reward-earning and crypto lending platform accessible via a mobile app. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Celsius_CEL.png",name:"Celsius"},"the-sandbox":{shortDescription:"The Sandbox is a Metaverse Play-to-Earn project on Ethereum where players can create NFTs, earn upload them to an in-game marketplace and integrate them into the games. $SAND is the ERC-20 token that can be used all across The Sandbox metaverse.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/TheSandbox_SAND.jpeg",name:"The Sandbox"},"mai-finance":{shortDescription:"Decentralized collateral stable coin on multi-chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/MaiFinance_MIMATIC.jpeg",name:"Mai Finance"},"lido-staked-matic":{shortDescription:"Lido on Polygon is a liquid staking solution for MATIC backed by industry-leading staking providers.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoStakedMatic_STMATIC.png",name:"Lido Staked Matic"},gns:{shortDescription:"Gains Network or GNS is a decentralized trading platform. It provides users with both crypto and forex trading options with leverage.",logo:"https://gainsnetwork.io/images/logo_header.png",name:"Gains Network (GNS)"},"stader-maticx":{shortDescription:"Staked Matic on Stader.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/StaderMaticX_MATICX.jpg",name:"Stader MaticX"},fantom:{shortDescription:"Fantom is a DAG-based Layer-1 smart-contract platform founded by Andre Cronje featuring a self-developed Lachesis Protocol, which is its aBFT consensus mechanism that makes Fantom more cost-efficient.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Fantom_FTM.png",name:"Fantom"},sushiswap:{shortDescription:"SushiSwap is a decentralized exchange built on Ethereum that utilizes an automated market making system rather than a traditional order-book.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/SushiSwap_SUSHI.png",name:"SushiSwap"},"beefy-finance":{shortDescription:"Beefy Finance ($BIFI) is a decentralized, multi-chain yield optimizer platform that allows its users to earn compound interest on their crypto holdings.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/BeefyFinance_BIFI.jpg",name:"Beefy Finance"},spookyswap:{shortDescription:"SpookySwap is an automated market-making (AMM) decentralized exchange (DEX) for the Fantom Opera network and its smart contract is built on Fantom, Avalanche, and Ethereum.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Spookyswap_BOO.jpeg",name:"Spookyswap"},"metis-token":{shortDescription:"Metis ($METIS) is a Ethereum Layer 2 (Optimism rollup) solution. It is compatible with Ethereum layer 1, and aims to solve some of Ethereum’s biggest challenges, including scalability, transaction speed, and high gas fees.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/MetisToken_METIS.png",name:"Metis Token"},moonbeam:{shortDescription:"Moonbeam is an Ethereum-compatible smart contract parachain on Polkadot. $GLMR is the utility token.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Moonbeam_GLMR.jpeg",name:"Moonbeam"},moonriver:{shortDescription:"Moonriver is an Ethereum-compatible smart-contract parachain on Kusama. It is also a companion canary network to Moonbeam.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Moonriver_MOVR.png",name:"Moonriver"},arbitrum:{shortDescription:"Arbitrum is a layer 2 Ethereum scaling solution for smart contracts.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Arbitrum_-.jpeg",name:"Arbitrum"},avalanche:{shortDescription:"Avalanche is an open-source decentralized smart contracts platform for DeFi applications. It is also a PoS public Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Avalanche_AVAX.png",name:"Avalanche"},harmony:{shortDescription:"Harmony ($ONE) is an Ethereum-based cross-chain platform designed to facilitate the creation and use of decentralized applications by sharding and scaling.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Harmony_ONE.jpeg",name:"Harmony"}},k="0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",V="0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",Z="0xa5B55ab1dAF0F8e1EFc0eB1931a957fd89B918f4",_="0xD6DF932A45C0f255f85145f286eA0b292B21C90B",K="0xD533a949740bb3306d119CC777fa900bA034cd52",Q="0x912CE59144191C1204E64559FE8253a0e49E6548",G="0xBe9895146f7AF43049ca1c1AE358B0541Ea49704",X="0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",Y="0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",q="0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",z="0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",j="0xaf204776c7245bF4147c2612BF6e5972Ee483701",$="0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F",ee="0x11A33631a5B5349AF3F165d2B7901A4d67e561ad",te="0x578375c3af7d61586c2C3A7BA87d2eEd640EFA40",ne="0x7dDA5e1A389E0C1892CaF55940F5fcE6588a9ae0",fe="0xD2FE44055b5C874feE029119f70336447c8e8827",ae="0x7efB260662a6FA95c1CE1092c53Ca23733202798",ie="0x571F42886C31f9b769ad243e81D06D0D144BE7B4",pe="0x6d6029557a06961aCC5F81e1ffF5A474C54e32Fd",se="0x7aE52477783c4E3e5c1476Bbb29A8D029c920676",ue="0x682E473FcA490B0adFA7EfE94083C1E63f28F034",Fe="0xfA19c1d104F4AEfb8d5564f02B3AdCa1b515da58",Pe="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",oe="0x514910771AF9Ca656af840dff83E8264EcF986CA",ye="0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",re="0xC88C8ADA95d92c149377AA660837460775Dcc6d9",de="0x9A05b116b56304F5f4B3F1D5DA4641bFfFfae6Ab",le="0xF1104493eC315aF2cb52f0c19605443334928D38",Se="0xB1F28350539B06D5A35d016908EEf0424bd13c4b",Ue="0xd371281896f2F5f7A2C65F49d23A2B6ecfd594f3",De="0xe47ca047Cb7E6A9AdE9405Ca68077d63424F34eC",ce="0xA864956fF961CE62C266a8563B46577d3573372E",Ae="0x4ce4C542D96Ce1872fEA4fa3fbB2E7aE31862Bad",me="0x5773e8953cF60F495eB3c2Db45DD753b5c4b7473",be="0x7333fd58d8D73a8e5FC1a16C8037ADa4f580FA2B",Te="0x654a31Ba7D714cfCab19b17D0066171c1A292349",xe="0x79AFAD49e968E7bEA7a23933E294a94E33E60158";function Ee(e,t){for(var n=0;n<t.length;n++){var f=t[n];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(e,f.key,f)}}function Me(e,t,n){return t&&Ee(e.prototype,t),n&&Ee(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f])}return e},He.apply(this,arguments)}function Oe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Ie(e,t)}function Ce(e){return Ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ce(e)}function Ie(e,t){return Ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ie(e,t)}function Re(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ve(e,t,n){return ve=Re()?Reflect.construct.bind():function(e,t,n){var f=[null];f.push.apply(f,t);var a=new(Function.bind.apply(e,f));return n&&Ie(a,n.prototype),a},ve.apply(null,arguments)}function We(e){var t="function"==typeof Map?new Map:void 0;return We=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ve(e,arguments,Ce(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Ie(n,e)},We(e)}function he(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var we,Le="setPrototypeOf"in Object,Be=/*#__PURE__*/function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientReservesError=!0,n.name=n.constructor.name,Le&&Object.setPrototypeOf(he(n),(this instanceof t?this.constructor:void 0).prototype),n}return Oe(t,e),t}(/*#__PURE__*/We(Error)),ge=/*#__PURE__*/function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientInputAmountError=!0,n.name=n.constructor.name,Le&&Object.setPrototypeOf(he(n),(this instanceof t?this.constructor:void 0).prototype),n}return Oe(t,e),t}(/*#__PURE__*/We(Error));function Ne(e,t){l.default(d.default.greaterThanOrEqual(e,C),e+" is not a "+t+"."),l.default(d.default.lessThanOrEqual(e,g[t]),e+" is not a "+t+".")}function Je(e){try{var t=f.getAddress(e);return S.default(e===t,e+" is not checksummed."),t}catch(t){l.default(!1,e+" is not a valid address.")}}function ke(e){return e instanceof d.default?e:d.default.BigInt("bigint"==typeof e?e.toString():e)}var Ve=/*#__PURE__*/function(){function e(e,t,n){this.decimals=void 0,this.symbol=void 0,this.name=void 0,Ne(d.default.BigInt(e),exports.SolidityType.uint8),this.decimals=e,this.symbol=t,this.name=n}e.getNativeCurrency=function(t){if(!t)throw Error("No chainId "+t);if(!(t in e.NATIVE))throw Error("No native currency defined for chainId "+t);return e.NATIVE[t]},e.getNativeCurrencySymbol=function(e){return this.getNativeCurrency(e).symbol},e.getNativeCurrencyName=function(e){return this.getNativeCurrency(e).name};var t=e.prototype;return t.getSymbol=function(t){return t&&"ETH"===(null==this?void 0:this.symbol)?e.getNativeCurrencySymbol(t):null==this?void 0:this.symbol},t.getName=function(t){return t&&"Ether"===(null==this?void 0:this.name)?e.getNativeCurrencyName(t):null==this?void 0:this.name},e}();Ve.ETHER=new Ve(18,"ETH","Ether"),Ve.BNB=new Ve(18,"BNB","Binance Coin"),Ve.FTM=new Ve(18,"FTM","Fantom"),Ve.MATIC=new Ve(18,"MATIC","Matic"),Ve.XDAI=new Ve(18,"XDAI","xDai"),Ve.GLMR=new Ve(18,"GLMR","Glimmer"),Ve.AVAX=new Ve(18,"AVAX","Avalanche"),Ve.HT=new Ve(18,"HT","Heco Token"),Ve.ONE=new Ve(18,"ONE","Harmony"),Ve.MOVR=new Ve(18,"MOVR","Moonriver"),Ve.CRO=new Ve(18,"CRO","Cronos"),Ve.SYSCOIN=new Ve(18,"WSYS","Wrapped Syscoin"),Ve.METIS=new Ve(18,"METIS","Wrapped Metis"),Ve.MOONBEAM=new Ve(18,"WGLMR","Wrapped GLMR"),Ve.MILKOMEDA=new Ve(18,"WADA","Wrapped ADA"),Ve.KAVA=new Ve(18,"WKAVA","Wrapped Kava"),Ve.IOTEX=new Ve(18,"WIOTX","Wrapped IoTeX"),Ve.KLAYTN=new Ve(18,"WKLAY","Wrapped Klaytn"),Ve.CELO=new Ve(18,"WCELO","Wrapped Celo"),Ve.AURORA=new Ve(18,"WETH","Wrapped Ether"),Ve.BOBA=new Ve(18,"WETH","Wrapped Ether"),Ve.CUBE=new Ve(18,"WCUBE","Wrapped Cube"),Ve.CANTO=new Ve(18,"WCANTO","Wrapped Canto"),Ve.WWDOGE=new Ve(18,"WWDOGE","Wrapped Wrapped Doge"),Ve.NATIVE=((we={})[exports.ChainId.MAINNET]=Ve.ETHER,we[exports.ChainId.GÖRLI]=Ve.ETHER,we[exports.ChainId.KOVAN]=Ve.ETHER,we[exports.ChainId.FANTOM]=Ve.FTM,we[exports.ChainId.FANTOM_TESTNET]=Ve.FTM,we[exports.ChainId.MATIC]=Ve.MATIC,we[exports.ChainId.MATIC_TESTNET]=Ve.MATIC,we[exports.ChainId.XDAI]=Ve.XDAI,we[exports.ChainId.BSC]=Ve.BNB,we[exports.ChainId.BSC_TESTNET]=Ve.BNB,we[exports.ChainId.ARBITRUM]=Ve.ETHER,we[exports.ChainId.MOONBASE]=Ve.GLMR,we[exports.ChainId.AVALANCHE]=Ve.AVAX,we[exports.ChainId.FUJI]=Ve.AVAX,we[exports.ChainId.HECO]=Ve.HT,we[exports.ChainId.HECO_TESTNET]=Ve.HT,we[exports.ChainId.HARMONY]=Ve.ONE,we[exports.ChainId.HARMONY_TESTNET]=Ve.ONE,we[exports.ChainId.CRONOS]=Ve.CRO,we[exports.ChainId.MOONRIVER]=Ve.MOVR,we[exports.ChainId.OPTIMISM]=Ve.ETHER,we[exports.ChainId.SYSCOIN]=Ve.SYSCOIN,we[exports.ChainId.METIS]=Ve.METIS,we[exports.ChainId.MOONBEAM]=Ve.MOONBEAM,we[exports.ChainId.MILKOMEDA]=Ve.MILKOMEDA,we[exports.ChainId.KAVA]=Ve.KAVA,we[exports.ChainId.IOTEX]=Ve.IOTEX,we[exports.ChainId.KLAYTN]=Ve.KLAYTN,we[exports.ChainId.CELO]=Ve.CELO,we[exports.ChainId.AURORA]=Ve.AURORA,we[exports.ChainId.BOBA]=Ve.BOBA,we[exports.ChainId.CUBE]=Ve.CUBE,we[exports.ChainId.CANTO]=Ve.CANTO,we[exports.ChainId.DOGECHAIN]=Ve.WWDOGE,we[exports.ChainId.ZKEVM]=Ve.ETHER,we[exports.ChainId.BASE]=Ve.ETHER,we[exports.ChainId.LINEA]=Ve.ETHER,we[exports.ChainId.SCROLL]=Ve.ETHER,we);var Ze,_e=Ve.ETHER,Ke=/*#__PURE__*/function(e){function t(t,n,f,a,i){var p;return(p=e.call(this,f,a,i)||this).chainId=void 0,p.address=void 0,p.chainId=t,p.address=Je(n),p}Oe(t,e);var n=t.prototype;return n.equals=function(e){return this===e||this.chainId===e.chainId&&this.address===e.address},n.sortsBefore=function(e){return l.default(this.chainId===e.chainId,"CHAIN_IDS"),l.default(this.address!==e.address,"ADDRESSES"),this.address.toLowerCase()<e.address.toLowerCase()},t}(Ve);function Qe(e,t){return e instanceof Ke&&t instanceof Ke?e.equals(t):!(e instanceof Ke||t instanceof Ke||e!==t)}var Ge,Xe,Ye=((Ze={})[exports.ChainId.MAINNET]=new Ke(exports.ChainId.MAINNET,"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.GÖRLI]=new Ke(exports.ChainId.GÖRLI,"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.KOVAN]=new Ke(exports.ChainId.KOVAN,"0xd0A1E359811322d97991E03f863a0C30C2cF029C",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.FANTOM]=new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Wrapped FTM"),Ze[exports.ChainId.FANTOM_TESTNET]=new Ke(exports.ChainId.FANTOM_TESTNET,"0xf1277d1Ed8AD466beddF92ef448A132661956621",18,"FTM","Wrapped FTM"),Ze[exports.ChainId.MATIC]=new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped Matic"),Ze[exports.ChainId.MATIC_TESTNET]=new Ke(exports.ChainId.MATIC_TESTNET,"0x5B67676a984807a212b1c59eBFc9B3568a474F0a",18,"WMATIC","Wrapped Matic"),Ze[exports.ChainId.XDAI]=new Ke(exports.ChainId.XDAI,"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",18,"WXDAI","Wrapped xDai"),Ze[exports.ChainId.BSC]=new Ke(exports.ChainId.BSC,"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",18,"WBNB","Wrapped BNB"),Ze[exports.ChainId.BSC_TESTNET]=new Ke(exports.ChainId.BSC_TESTNET,"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",18,"WBNB","Wrapped BNB"),Ze[exports.ChainId.ARBITRUM]=new Ke(exports.ChainId.ARBITRUM,"0xf8456e5e6A225C2C1D74D8C9a4cB2B1d5dc1153b",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.MOONBASE]=new Ke(exports.ChainId.MOONBASE,"0xe73763DB808ecCDC0E36bC8E32510ED126910394",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.AVALANCHE]=new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),Ze[exports.ChainId.FUJI]=new Ke(exports.ChainId.FUJI,"0xd00ae08403B9bbb9124bB305C09058E32C39A48c",18,"WAVAX","Wrapped AVAX"),Ze[exports.ChainId.HECO]=new Ke(exports.ChainId.HECO,"0x5545153CCFcA01fbd7Dd11C0b23ba694D9509A6F",18,"WHT","Wrapped HT"),Ze[exports.ChainId.HECO_TESTNET]=new Ke(exports.ChainId.HECO_TESTNET,"0x5B2DA6F42CA09C77D577a12BeaD0446148830687",18,"WHT","Wrapped HT"),Ze[exports.ChainId.HARMONY]=new Ke(exports.ChainId.HARMONY,"0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a",18,"WONE","Wrapped ONE"),Ze[exports.ChainId.HARMONY_TESTNET]=new Ke(exports.ChainId.HARMONY_TESTNET,"0x7a2afac38517d512E55C0bCe3b6805c10a04D60F",18,"WONE","Wrapped ONE"),Ze[exports.ChainId.MOONRIVER]=new Ke(exports.ChainId.MOONRIVER,"0x98878B06940aE243284CA214f92Bb71a2b032B8A",18,"WMOVR","Wrapped MOVR"),Ze[exports.ChainId.CRONOS]=new Ke(exports.ChainId.CRONOS,"0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23",18,"WCRO","Wrapped CRO"),Ze[exports.ChainId.OPTIMISM]=new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.SYSCOIN]=new Ke(exports.ChainId.SYSCOIN,"0xd3e822f3ef011Ca5f17D82C956D952D8d7C3A1BB",18,"WSYS","Wrapped Syscoin"),Ze[exports.ChainId.METIS]=new Ke(exports.ChainId.METIS,"0x75cb093E4D61d2A2e65D8e0BBb01DE8d89b53481",18,"WETH","Wrapped Metis"),Ze[exports.ChainId.MOONBEAM]=new Ke(exports.ChainId.MOONBEAM,"0xAcc15dC74880C9944775448304B263D191c6077F",18,"WGLMR","Wrapped GLMR"),Ze[exports.ChainId.MILKOMEDA]=new Ke(exports.ChainId.MILKOMEDA,"0xAE83571000aF4499798d1e3b0fA0070EB3A3E3F9",18,"WADA","Wrapped ADA"),Ze[exports.ChainId.KAVA]=new Ke(exports.ChainId.KAVA,"0xc86c7C0eFbd6A49B35E8714C5f59D99De09A225b",18,"WKAVA","Wrapped Kava"),Ze[exports.ChainId.IOTEX]=new Ke(exports.ChainId.IOTEX,"0xA00744882684C3e4747faEFD68D283eA44099D03",18,"WIOTX","Wrapped IoTeX"),Ze[exports.ChainId.KLAYTN]=new Ke(exports.ChainId.KLAYTN,"0xfd844c2fcA5e595004b17615f891620d1cB9bBB2",18,"WKLAY","Wrapped Klaytn"),Ze[exports.ChainId.CELO]=new Ke(exports.ChainId.CELO,"0x3Ad443d769A07f287806874F8E5405cE3Ac902b9",18,"WCELO","Wrapped Celo"),Ze[exports.ChainId.AURORA]=new Ke(exports.ChainId.AURORA,"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.BOBA]=new Ke(exports.ChainId.BOBA,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.CUBE]=new Ke(exports.ChainId.CUBE,"0x9D3F61338d6Eb394e378D28C1Fd17d5909aC6591",18,"WCUBE","Wrapped Cube"),Ze[exports.ChainId.CANTO]=new Ke(exports.ChainId.CANTO,"0x826551890Dc65655a0Aceca109aB11AbDbD7a07B",18,"WCANTO","Wrapped Canto"),Ze[exports.ChainId.DOGECHAIN]=new Ke(exports.ChainId.DOGECHAIN,"0xB7ddC6414bf4F5515b52D8BdD69973Ae205ff101",18,"WWDOGE","Wrapped Wrapped Doge"),Ze[exports.ChainId.ZKEVM]=new Ke(exports.ChainId.ZKEVM,"0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.BASE]=new Ke(exports.ChainId.BASE,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.LINEA]=new Ke(exports.ChainId.LINEA,"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.SCROLL]=new Ke(exports.ChainId.SCROLL,"0x5300000000000000000000000000000000000004",18,"WETH","Wrapped Ether"),Ze),qe=c.default(U.default),ze=c.default(D.default),je=((Ge={})[exports.Rounding.ROUND_DOWN]=qe.ROUND_DOWN,Ge[exports.Rounding.ROUND_HALF_UP]=qe.ROUND_HALF_UP,Ge[exports.Rounding.ROUND_UP]=qe.ROUND_UP,Ge),$e=((Xe={})[exports.Rounding.ROUND_DOWN]=0,Xe[exports.Rounding.ROUND_HALF_UP]=1,Xe[exports.Rounding.ROUND_UP]=3,Xe),et=/*#__PURE__*/function(){function e(e,t){void 0===t&&(t=I),this.numerator=void 0,this.denominator=void 0,this.numerator=ke(e),this.denominator=ke(t)}var t=e.prototype;return t.invert=function(){return new e(this.denominator,this.numerator)},t.add=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(this.denominator,n.denominator)?new e(d.default.add(this.numerator,n.numerator),this.denominator):new e(d.default.add(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator)),d.default.multiply(this.denominator,n.denominator))},t.subtract=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(this.denominator,n.denominator)?new e(d.default.subtract(this.numerator,n.numerator),this.denominator):new e(d.default.subtract(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator)),d.default.multiply(this.denominator,n.denominator))},t.lessThan=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.lessThan(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.equalTo=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.greaterThan=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.greaterThan(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.multiply=function(t){var n=t instanceof e?t:new e(ke(t));return new e(d.default.multiply(this.numerator,n.numerator),d.default.multiply(this.denominator,n.denominator))},t.divide=function(t){var n=t instanceof e?t:new e(ke(t));return new e(d.default.multiply(this.numerator,n.denominator),d.default.multiply(this.denominator,n.numerator))},t.toSignificant=function(e,t,n){void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),l.default(Number.isInteger(e),e+" is not an integer."),l.default(e>0,e+" is not positive."),qe.set({precision:e+1,rounding:je[n]});var f=new qe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return f.toFormat(f.decimalPlaces(),t)},t.toFixed=function(e,t,n){return void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),l.default(Number.isInteger(e),e+" is not an integer."),l.default(e>=0,e+" is negative."),ze.DP=e,ze.RM=$e[n],new ze(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)},Me(e,[{key:"quotient",get:function(){return d.default.divide(this.numerator,this.denominator)}},{key:"remainder",get:function(){return new e(d.default.remainder(this.numerator,this.denominator),this.denominator)}}]),e}(),tt=new et(w),nt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}Oe(t,e);var n=t.prototype;return n.toSignificant=function(e,t,n){return void 0===e&&(e=5),this.multiply(tt).toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=2),this.multiply(tt).toFixed(e,t,n)},t}(et),ft=c.default(D.default),at=/*#__PURE__*/function(e){function t(t,n){var f,a=ke(n);return Ne(a,exports.SolidityType.uint256),(f=e.call(this,a,d.default.exponentiate(h,d.default.BigInt(t.decimals)))||this).currency=void 0,f.currency=t,f}Oe(t,e),t.ether=function(e){return new t(_e,e)};var n=t.prototype;return n.add=function(e){return l.default(Qe(this.currency,e.currency),"TOKEN"),new t(this.currency,d.default.add(this.raw,e.raw))},n.subtract=function(e){return l.default(Qe(this.currency,e.currency),"TOKEN"),new t(this.currency,d.default.subtract(this.raw,e.raw))},n.toSignificant=function(t,n,f){return void 0===t&&(t=6),void 0===f&&(f=exports.Rounding.ROUND_DOWN),e.prototype.toSignificant.call(this,t,n,f)},n.toFixed=function(t,n,f){return void 0===t&&(t=this.currency.decimals),void 0===f&&(f=exports.Rounding.ROUND_DOWN),l.default(t<=this.currency.decimals,"DECIMALS"),e.prototype.toFixed.call(this,t,n,f)},n.toExact=function(e){return void 0===e&&(e={groupSeparator:""}),ft.DP=this.currency.decimals,new ft(this.numerator.toString()).div(this.denominator.toString()).toFormat(e)},Me(t,[{key:"raw",get:function(){return this.numerator}}]),t}(et),it=/*#__PURE__*/function(e){function t(t,n){var f;return(f=e.call(this,t,n)||this).token=void 0,f.token=t,f}Oe(t,e);var n=t.prototype;return n.add=function(e){return l.default(this.token.equals(e.token),"TOKEN"),new t(this.token,d.default.add(this.raw,e.raw))},n.subtract=function(e){return l.default(this.token.equals(e.token),"TOKEN"),new t(this.token,d.default.subtract(this.raw,e.raw))},t}(at),pt=/*#__PURE__*/function(e){function t(t,n,f,a){var i;return(i=e.call(this,a,f)||this).baseCurrency=void 0,i.quoteCurrency=void 0,i.scalar=void 0,i.baseCurrency=t,i.quoteCurrency=n,i.scalar=new et(d.default.exponentiate(h,d.default.BigInt(t.decimals)),d.default.exponentiate(h,d.default.BigInt(n.decimals))),i}Oe(t,e);var n=t.prototype;return n.invert=function(){return new t(this.quoteCurrency,this.baseCurrency,this.numerator,this.denominator)},n.multiply=function(n){l.default(Qe(this.quoteCurrency,n.baseCurrency),"TOKEN");var f=e.prototype.multiply.call(this,n);return new t(this.baseCurrency,n.quoteCurrency,f.denominator,f.numerator)},n.quote=function(t){return l.default(Qe(t.currency,this.baseCurrency),"TOKEN"),this.quoteCurrency instanceof Ke?new it(this.quoteCurrency,e.prototype.multiply.call(this,t.raw).quotient):at.ether(e.prototype.multiply.call(this,t.raw).quotient)},n.toSignificant=function(e,t,n){return void 0===e&&(e=6),this.adjusted.toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=4),this.adjusted.toFixed(e,t,n)},Me(t,[{key:"raw",get:function(){return new et(this.numerator,this.denominator)}},{key:"adjusted",get:function(){return e.prototype.multiply.call(this,this.scalar)}}]),t}(et),st=[{inputs:[],name:"MustBeNominated",type:"error"},{inputs:[],name:"NotOwnerError",type:"error"},{inputs:[],name:"OwnerCannotBeZero",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract GDAY",name:"amToken",type:"address"},{internalType:"contract pToken",name:"_pToken",type:"address"},{internalType:"contract IStableQiVault",name:"pTokenVault",type:"address"}],internalType:"struct gainsZapper.GChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"}],ut=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(st)},e.connect=function(e,t){return new s.Contract(e,st,t)},e}();ut.abi=st;var Ft=[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],Pt="0x60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",ot=function(e){return e.length>1},yt=/*#__PURE__*/function(e){function t(){var t,n=[].slice.call(arguments);return ot(n)?(t=e.call.apply(e,[this].concat(n))||this).contractName=void 0:(t=e.call(this,Ft,Pt,n[0])||this).contractName=void 0,t.contractName="QiStablecoin",he(t)}Oe(t,e);var n=t.prototype;return n.deploy=function(t,n,f,a,i,p){return e.prototype.deploy.call(this,t,n,f,a,i,p||{})},n.getDeployTransaction=function(t,n,f,a,i,p){return e.prototype.getDeployTransaction.call(this,t,n,f,a,i,p||{})},n.attach=function(t){return e.prototype.attach.call(this,t)},n.connect=function(t){return e.prototype.connect.call(this,t)},t.createInterface=function(){return new s.utils.Interface(Ft)},t.connect=function(e,t){return new s.Contract(e,Ft,t)},t}(s.ContractFactory);yt.contractName=void 0,yt.bytecode=Pt,yt.abi=Ft;var rt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"unwrap",type:"bool"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],dt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(rt)},e.connect=function(e,t){return new s.Contract(e,rt,t)},e}();dt.abi=rt;var lt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],St=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(lt)},e.connect=function(e,t){return new s.Contract(e,lt,t)},e}();St.abi=lt;var Ut=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Dt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ut)},e.connect=function(e,t){return new s.Contract(e,Ut,t)},e}();Dt.abi=Ut;var ct=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"cfDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],At=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(ct)},e.connect=function(e,t){return new s.Contract(e,ct,t)},e}();At.abi=ct;var mt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],bt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(mt)},e.connect=function(e,t){return new s.Contract(e,mt,t)},e}();bt.abi=mt;var Tt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],xt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Tt)},e.connect=function(e,t){return new s.Contract(e,Tt,t)},e}();xt.abi=Tt;var Et=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Mt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Et)},e.connect=function(e,t){return new s.Contract(e,Et,t)},e}();Mt.abi=Et;var Ht=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Ot=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ht)},e.connect=function(e,t){return new s.Contract(e,Ht,t)},e}();Ot.abi=Ht;var Ct=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mimatic",type:"address"},{internalType:"address",name:"_collateral",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"mimatic",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],It=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ct)},e.connect=function(e,t){return new s.Contract(e,Ct,t)},e}();It.abi=Ct;var Rt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"AddedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"riskyVault",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newVault",type:"uint256"},{indexed:!1,internalType:"address",name:"riskyVaultBuyer",type:"address"},{indexed:!1,internalType:"uint256",name:"amountPaidtoBuy",type:"uint256"}],name:"BoughtRiskyDebtVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BurnedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"RemovedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"UpdatedAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedClosingFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"UpdatedDebtRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"_ethPriceSourceAddress",type:"address"}],name:"UpdatedEthPriceSource",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_adminFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_refFee",type:"uint256"}],name:"UpdatedFees",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"UpdatedGainRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"interestRate",type:"uint256"}],name:"UpdatedInterestRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMaxDebt",type:"uint256"}],name:"UpdatedMaxDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinCollateralRatio",type:"uint256"}],name:"UpdatedMinCollateralRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinDebt",type:"uint256"}],name:"UpdatedMinDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedOpeningFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"oracle",type:"string"}],name:"UpdatedOracleName",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newRef",type:"address"}],name:"UpdatedRef",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"UpdatedStabilityPool",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"uri",type:"string"}],name:"UpdatedTokenURI",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"earned",type:"uint256"}],name:"WithdrawInterest",type:"event"},{inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"accumulatedVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"addFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"adm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"adminFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"borrowToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"buyRiskDebtVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"promoFee",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkRiskyVault",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimalDifferenceRaisedToTen",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pay",type:"address"}],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTotalValueLocked",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"iR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_collateral",type:"uint256"},{internalType:"uint256",name:"debt",type:"uint256"}],name:"isValidCollateral",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"lastInterest",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"liquidateVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mai",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maiDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"payBackToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"paybackTokenAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"promoter",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"ref",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"refFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"removeFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adm",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_closingFee",type:"uint256"}],name:"setClosingFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_admin",type:"uint256"},{internalType:"uint256",name:"_ref",type:"uint256"}],name:"setFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_iR",type:"uint256"}],name:"setInterestRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_maxDebt",type:"uint256"}],name:"setMaxDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_openingFee",type:"uint256"}],name:"setOpeningFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_ref",type:"address"}],name:"setRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"},{internalType:"uint256",name:"cashback",type:"uint256"}],name:"updateFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_oracle",type:"string"}],name:"updateOracleName",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"updateVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawInterest",outputs:[],stateMutability:"nonpayable",type:"function"}],vt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Rt)},e.connect=function(e,t){return new s.Contract(e,Rt,t)},e}();vt.abi=Rt;var Wt,ht,wt={__proto__:null,GainsZapper__factory:ut,QiStablecoin__factory:yt,CrosschainNativeQiStablecoin__factory:dt,CrosschainQiStablecoin__factory:St,CrosschainQiStablecoinSlim__factory:Dt,CrosschainQiStablecoinSlimV2__factory:At,CrosschainQiStablecoinV2__factory:bt,CrosschainQiStablecoinwbtc__factory:xt,Erc20QiStablecoincamwbtc__factory:Mt,Erc20QiStablecoinwbtc__factory:Ot,Erc20Stablecoin__factory:It,StableQiVault__factory:vt},Lt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IPerfToken",name:"perfToken",type:"address"},{internalType:"contract ICrossChainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct ThreeStepQiZappah.AssetChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],Bt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IBeefyVault",name:"mooToken",type:"address"},{internalType:"contract IPerfToken",name:"perfToken",type:"address"},{internalType:"contract ICrossChainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct QiZappah.AssetChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],gt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"PauserAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"PauserRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{constant:!1,inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"account",type:"address"}],name:"addPauser",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"account",type:"address"}],name:"isPauser",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IBeefyVault",name:"mooToken",type:"address"},{internalType:"contract crosschainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct beefyZapper.MooChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"pause",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"pauseZapping",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renouncePauser",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"resumeZapping",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"unpause",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Nt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"unwrap",type:"bool"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Jt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],kt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Vt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"cfDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Zt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],_t=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Kt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Qt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Gt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mimatic",type:"address"},{internalType:"address",name:"_collateral",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"mimatic",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Xt={abi:[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],evm:{bytecode:{linkReferences:{},object:"60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",opcodes:"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x49DE CODESIZE SUB DUP1 PUSH3 0x49DE DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE PUSH1 0xA0 DUP2 LT ISZERO PUSH3 0x37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH3 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP2 ADD DUP5 DUP2 GT ISZERO PUSH3 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP6 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH3 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP3 SWAP2 SWAP1 PUSH1 0x20 ADD DUP1 MLOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH3 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP2 ADD DUP5 DUP2 GT ISZERO PUSH3 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP6 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH3 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP3 SWAP2 SWAP1 POP POP POP DUP5 DUP5 DUP5 DUP5 DUP5 DUP2 DUP2 PUSH1 0x12 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x11E SWAP3 SWAP2 SWAP1 PUSH3 0x369 JUMP JUMPDEST POP DUP2 PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x137 SWAP3 SWAP2 SWAP1 PUSH3 0x369 JUMP JUMPDEST POP DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x190 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x1CA JUMPI INVALID JUMPDEST PUSH1 0x0 DUP4 EQ ISZERO ISZERO ISZERO PUSH3 0x1D8 JUMPI INVALID JUMPDEST PUSH11 0x84595161401484A000000 PUSH1 0x9 DUP2 SWAP1 SSTORE POP PUSH1 0x32 PUSH1 0xA DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x7 DUP2 SWAP1 SSTORE POP POP POP POP POP POP PUSH3 0x299 PUSH3 0x361 PUSH5 0x100000000 MUL PUSH5 0x100000000 SWAP1 DIV JUMP JUMPDEST PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP PUSH3 0x418 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x3AC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x3DD JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x3DD JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x3DC JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x3BF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x3EC SWAP2 SWAP1 PUSH3 0x3F0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x415 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x411 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x3F7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x45B6 DUP1 PUSH3 0x428 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x28F JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x16C JUMPI DUP1 PUSH4 0xB1511CC9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xD4A9B2C5 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD4A9B2C5 EQ PUSH2 0xE5C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0xEAB JUMPI DUP1 PUSH4 0xE1C84EA4 EQ PUSH2 0xF30 JUMPI DUP1 PUSH4 0xF0F44260 EQ PUSH2 0xF5B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFAC JUMPI DUP1 PUSH4 0xFF24B9BC EQ PUSH2 0xFFD JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0xB1511CC9 EQ PUSH2 0xCE7 JUMPI DUP1 PUSH4 0xBAD4A01F EQ PUSH2 0xD22 JUMPI DUP1 PUSH4 0xBDA609F6 EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xCD44DB1B EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0xCE77F243 EQ PUSH2 0xDD2 JUMPI DUP1 PUSH4 0xD310F49B EQ PUSH2 0xE0D JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x9DC29FAC GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x9DC29FAC EQ PUSH2 0xAFD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0xB58 JUMPI DUP1 PUSH4 0xA525323D EQ PUSH2 0xBCB JUMPI DUP1 PUSH4 0xA5E98837 EQ PUSH2 0xC1E JUMPI DUP1 PUSH4 0xA7C6A100 EQ PUSH2 0xC49 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xC74 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x8F32D59B EQ PUSH2 0x9E8 JUMPI DUP1 PUSH4 0x94CD4BA7 EQ PUSH2 0xA17 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA42 JUMPI DUP1 PUSH4 0x98C3F2DB EQ PUSH2 0xAD2 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x61D027B3 GT PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8B5 JUMPI DUP1 PUSH4 0x767A7B05 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x85AF3C16 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x85E290A3 EQ PUSH2 0x956 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 EQ PUSH2 0x686 JUMPI DUP1 PUSH4 0x3E61FACD EQ PUSH2 0x6C1 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x42F371C6 EQ PUSH2 0x777 JUMPI DUP1 PUSH4 0x5D12928B EQ PUSH2 0x7CE JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x257 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x47E JUMPI DUP1 PUSH4 0x1C883E7B EQ PUSH2 0x4A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x4D4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x598 JUMPI DUP1 PUSH4 0x3C2ECFE5 EQ PUSH2 0x60B JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3C5A29B EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7960532 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x8EC5927 EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x40B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x104C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA PUSH2 0x110C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x33A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x31F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x367 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11AE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x409 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x126E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x464 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x493 PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57C PUSH2 0x16D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x644 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x179D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x692 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x17D0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x71A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x192C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x775 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x73F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1B8E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78C PUSH2 0x1C18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E3 PUSH2 0x1C3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x80E PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x89F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1D7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8CA PUSH2 0x1DC3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x8EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1F00 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x954 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x222A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2549 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A6 PUSH2 0x287A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9FD PUSH2 0x28A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2C PUSH2 0x2903 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA57 PUSH2 0x290D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA97 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA7C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xAC4 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE7 PUSH2 0x29AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB56 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AA6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC04 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xBEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2BFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC33 PUSH2 0x2C1E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5E PUSH2 0x2C28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCCD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD20 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C4C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD4E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2D34 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD65 PUSH2 0x2F35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDBC PUSH2 0x2F5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE0B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3052 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE46 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x338D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE95 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF1A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xECE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF45 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFAA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x344A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFFB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xFCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3543 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1036 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1020 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x35CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1054 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x11A4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1179 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11A4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1187 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x11B6 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1304 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x13DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D75737420626F72726F77206E6F6E2D7A65726F20616D6F756E740000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 SLOAD DUP3 PUSH2 0x145E PUSH2 0x15E9 JUMP JUMPDEST ADD GT ISZERO ISZERO ISZERO PUSH2 0x14B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4561 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xF PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO ISZERO PUSH2 0x14F0 JUMPI INVALID JUMPDEST PUSH2 0x150D PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1564 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4468 PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1586 CALLER DUP5 PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0x3E08DF88D8E28F37DF9BF227D3142AC506A364403445661A60891A49ED6792CA DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15DF PUSH2 0x15D8 PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1606 DUP5 DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH2 0x16C8 DUP5 PUSH2 0x1612 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x16C3 DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x441F PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x1679 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1793 PUSH2 0x16F7 PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x178E DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x1708 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xD PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x17D8 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 GT ISZERO ISZERO ISZERO PUSH2 0x18C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x436C6F73696E6720666565206D757374206265206F7665722030000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2710 LT ISZERO ISZERO ISZERO PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x451B PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xA DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x19C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0xA8159D062909288CFE1BC71A9CB71A800664F2658FC2588D52676A844F1B0F13 DUP4 CALLER DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x1B96 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1C0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C14 DUP3 DUP3 PUSH2 0x36D7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x1C65 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8B6C1D05C678FA59695E26465A85918CE0FC63A88F74AF53D1DAEF8F0A9C7804 DUP2 CALLER PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DCB PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1E3F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1F96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x206C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x20DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4321 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2186 JUMPI PUSH2 0x212E DUP2 PUSH1 0xF PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2185 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43E1 PUSH1 0x3E SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP5 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x21E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x6C0EA3BEA9DD66AFA8F9D39D6EB93D833466190330813B42835EFC650DCA4CB9 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x22C0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2710 PUSH1 0xA SLOAD DUP6 MUL DUP2 ISZERO ISZERO PUSH2 0x23AA JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP DUP1 PUSH2 0x23B8 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x242E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x546F6B656E2062616C616E636520746F6F206C6F770000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x249C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4346 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x24C7 CALLER DUP3 PUSH2 0x3E9E JUMP JUMPDEST PUSH2 0x2504 PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2710 PUSH1 0xA SLOAD DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x24FE JUMPI INVALID JUMPDEST DIV PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0xCA61A5A543395EF00F7DC6426B9F9B227C0EF853A44388CDD9FDDBBABD2E087A DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x25DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x26B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420686173206F75747374616E64696E672064656274000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO PUSH2 0x27B8 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x27B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0xE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH32 0x4FE08624EE65B341C38AB9693D216B909D4DDEE1BC8D3FE0FEA14026C361B465 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28E7 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x29A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x297A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2988 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x2A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x2AAE PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2B22 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B2C DUP3 DUP3 PUSH2 0x3E9E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF4 PUSH2 0x2B3D PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x2BEF DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x453C PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x2B68 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C42 PUSH2 0x2C3B PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2C54 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2CC8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2CD1 PUSH2 0x15E9 JUMP JUMPDEST GT ISZERO ISZERO ISZERO PUSH2 0x2D2A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4378 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x2ED9 JUMPI INVALID JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0x52C4E7127EC34E8FC95F09CE2D06B4F00ACCA12CCBCDFB246EF67EE6AEFE068D DUP4 CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x300C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x30E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x311A PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x312B JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x318A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x30 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44C7 PUSH1 0x30 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 SLOAD DUP5 DUP2 ISZERO ISZERO PUSH2 0x3199 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 PUSH2 0x31A6 PUSH2 0x2F5B JUMP JUMPDEST DUP3 DUP2 ISZERO ISZERO PUSH2 0x31B0 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xF PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP DUP1 PUSH2 0x31D7 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x3230 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43B0 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0xD PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0xF PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x32DC CALLER DUP4 PUSH2 0x3E9E JUMP JUMPDEST PUSH32 0xD5F2917D6C1A1057183BE88F3F1C867CF597030F2CD1197A2FDFE1F51376D0CB DUP9 DUP3 CALLER DUP6 PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xF PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x3452 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x34C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x34FF JUMPI INVALID JUMPDEST DUP1 PUSH1 0xB PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x354B PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x35BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35C8 DUP2 PUSH2 0x40DB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x3662 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2710 PUSH1 0xA SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 ISZERO ISZERO PUSH2 0x369A JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x36B2 DUP6 DUP6 PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x36C3 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x377C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3791 DUP2 PUSH1 0x2 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x37E8 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44F7 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x39AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42D9 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3B1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44A2 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3BA7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x426E PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C13 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x42FB PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3CA6 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 GT ISZERO DUP3 SWAP1 ISZERO ISZERO PUSH2 0x3E01 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DC6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DAB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3DF3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP4 DUP6 SUB SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3E94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3F26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4447 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F92 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4291 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3FE9 DUP2 PUSH1 0x2 SLOAD PUSH2 0x4223 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4066 PUSH2 0x29AF JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4070 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x407A PUSH2 0x2F5B JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4084 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x408E PUSH2 0x29AF JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x409E JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x40A8 PUSH2 0x2F5B JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x40B8 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP4 MUL SWAP1 POP DUP3 DUP2 GT ISZERO ISZERO PUSH2 0x40CB JUMPI INVALID JUMPDEST DUP1 DUP3 SWAP5 POP SWAP5 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x4163 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42B3 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4265 DUP4 DUP4 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x3D52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654F776E61 PUSH3 0x6C653A KECCAK256 PUSH15 0x6577206F776E657220697320746865 KECCAK256 PUSH27 0x65726F206164647265737345524332303A20617070726F76652074 PUSH16 0x20746865207A65726F20616464726573 PUSH20 0x45524332303A207472616E7366657220616D6F75 PUSH15 0x7420657863656564732062616C616E PUSH4 0x65566175 PUSH13 0x7420646F6573206E6F74206861 PUSH23 0x6520656E6F75676820636F6C6C61746572616C5661756C PUSH21 0x2064656274206C657373207468616E20616D6F756E PUSH21 0x20746F20706179206261636B2028706C7573206665 PUSH6 0x297365744365 PUSH10 0x6C696E673A204D757374 KECCAK256 PUSH3 0x65206F PUSH23 0x65722074686520616D6F756E74206F66206F7574737461 PUSH15 0x64696E6720646562742E546F6B656E KECCAK256 PUSH3 0x616C61 PUSH15 0x636520746F6F206C6F7720746F2070 PUSH2 0x7920 PUSH16 0x6666206F75747374616E64696E672064 PUSH6 0x627457697468 PUSH5 0x726177616C KECCAK256 PUSH24 0x6F756C6420707574207661756C742062656C6F77206D696E PUSH10 0x6D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH3 0x75726E KECCAK256 PUSH7 0x726F6D20746865 KECCAK256 PUSH27 0x65726F2061646472657373426F72726F7720776F756C6420707574 KECCAK256 PUSH23 0x61756C742062656C6F77206D696E696D756D20636F6C6C PUSH2 0x7465 PUSH19 0x616C2070657263656E7461676545524332303A KECCAK256 PUSH21 0x72616E736665722066726F6D20746865207A65726F KECCAK256 PUSH2 0x6464 PUSH19 0x6573735661756C74206973206E6F742062656C PUSH16 0x77206D696E696D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A20617070726F PUSH23 0x652066726F6D20746865207A65726F2061646472657373 NUMBER PUSH13 0x6F73696E6720666565206D7573 PUSH21 0x20626520756E646572203130302E30302545524332 ADDRESS GASPRICE KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726F626F7272 PUSH16 0x77546F6B656E3A2043616E6E6F74206D PUSH10 0x6E74206F76657220746F PUSH21 0x616C537570706C792EA165627A7A7230582060626F SWAP1 EXTCODEHASH CALLDATASIZE 0xd8 PUSH16 0xA4021458E90E426178621633154B8D84 0x5c 0xc3 LT 0x5f 0xb8 0x1e GT MOD STOP 0x29 ",sourceMap:"109:1541:7:-;;;160:364;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:364:7;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;160:364:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;160:364:7;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;160:364:7;;;;;;381:21;412:23;445:27;482:4;496:6;1404:4:8;1410:6;1418:2;512:4:4;504:5;:12;;;;;;;;;;;;:::i;:::-;;536:6;526:7;:16;;;;;;;;;;;;:::i;:::-;;564:8;552:9;;:20;;;;;;;;;;;;;;;;;;416:163;;;1479:1:8;1446:35;;:21;:35;;;;1439:43;;;;;;1534:1;1499:37;;:23;:37;;;;1492:45;;;;;;1585:1;1554:27;:32;;1547:40;;;;;;1659:26;1647:11;:38;;;;1734:2;1723:10;:13;;;;1784:21;1755:14;;:51;;;;;;;;;;;;;;;;;;1847:23;1816:16;;:55;;;;;;;;;;;;;;;;;;1912:27;1881:28;:58;;;;1189:757;;;;;707:12:2;:10;;;:12;;;:::i;:::-;698:6;;:21;;;;;;;;;;;;;;;;;;767:6;;;;;;;;;;;734:40;;763:1;734:40;;;;;;;;;;;;160:364:7;;;;;109:1541;;788:96:0;833:15;867:10;860:17;;788:96;:::o;109:1541:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"},deployedBytecode:{linkReferences:{},object:"60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",opcodes:"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x28F JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x16C JUMPI DUP1 PUSH4 0xB1511CC9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xD4A9B2C5 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD4A9B2C5 EQ PUSH2 0xE5C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0xEAB JUMPI DUP1 PUSH4 0xE1C84EA4 EQ PUSH2 0xF30 JUMPI DUP1 PUSH4 0xF0F44260 EQ PUSH2 0xF5B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFAC JUMPI DUP1 PUSH4 0xFF24B9BC EQ PUSH2 0xFFD JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0xB1511CC9 EQ PUSH2 0xCE7 JUMPI DUP1 PUSH4 0xBAD4A01F EQ PUSH2 0xD22 JUMPI DUP1 PUSH4 0xBDA609F6 EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xCD44DB1B EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0xCE77F243 EQ PUSH2 0xDD2 JUMPI DUP1 PUSH4 0xD310F49B EQ PUSH2 0xE0D JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x9DC29FAC GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x9DC29FAC EQ PUSH2 0xAFD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0xB58 JUMPI DUP1 PUSH4 0xA525323D EQ PUSH2 0xBCB JUMPI DUP1 PUSH4 0xA5E98837 EQ PUSH2 0xC1E JUMPI DUP1 PUSH4 0xA7C6A100 EQ PUSH2 0xC49 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xC74 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x8F32D59B EQ PUSH2 0x9E8 JUMPI DUP1 PUSH4 0x94CD4BA7 EQ PUSH2 0xA17 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA42 JUMPI DUP1 PUSH4 0x98C3F2DB EQ PUSH2 0xAD2 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x61D027B3 GT PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8B5 JUMPI DUP1 PUSH4 0x767A7B05 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x85AF3C16 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x85E290A3 EQ PUSH2 0x956 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 EQ PUSH2 0x686 JUMPI DUP1 PUSH4 0x3E61FACD EQ PUSH2 0x6C1 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x42F371C6 EQ PUSH2 0x777 JUMPI DUP1 PUSH4 0x5D12928B EQ PUSH2 0x7CE JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x257 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x47E JUMPI DUP1 PUSH4 0x1C883E7B EQ PUSH2 0x4A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x4D4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x598 JUMPI DUP1 PUSH4 0x3C2ECFE5 EQ PUSH2 0x60B JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3C5A29B EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7960532 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x8EC5927 EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x40B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x104C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA PUSH2 0x110C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x33A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x31F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x367 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11AE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x409 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x126E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x464 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x493 PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57C PUSH2 0x16D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x644 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x179D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x692 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x17D0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x71A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x192C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x775 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x73F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1B8E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78C PUSH2 0x1C18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E3 PUSH2 0x1C3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x80E PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x89F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1D7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8CA PUSH2 0x1DC3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x8EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1F00 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x954 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x222A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2549 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A6 PUSH2 0x287A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9FD PUSH2 0x28A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2C PUSH2 0x2903 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA57 PUSH2 0x290D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA97 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA7C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xAC4 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE7 PUSH2 0x29AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB56 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AA6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC04 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xBEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2BFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC33 PUSH2 0x2C1E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5E PUSH2 0x2C28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCCD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD20 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C4C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD4E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2D34 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD65 PUSH2 0x2F35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDBC PUSH2 0x2F5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE0B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3052 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE46 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x338D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE95 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF1A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xECE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF45 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFAA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x344A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFFB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xFCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3543 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1036 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1020 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x35CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1054 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x11A4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1179 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11A4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1187 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x11B6 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1304 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x13DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D75737420626F72726F77206E6F6E2D7A65726F20616D6F756E740000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 SLOAD DUP3 PUSH2 0x145E PUSH2 0x15E9 JUMP JUMPDEST ADD GT ISZERO ISZERO ISZERO PUSH2 0x14B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4561 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xF PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO ISZERO PUSH2 0x14F0 JUMPI INVALID JUMPDEST PUSH2 0x150D PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1564 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4468 PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1586 CALLER DUP5 PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0x3E08DF88D8E28F37DF9BF227D3142AC506A364403445661A60891A49ED6792CA DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15DF PUSH2 0x15D8 PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1606 DUP5 DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH2 0x16C8 DUP5 PUSH2 0x1612 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x16C3 DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x441F PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x1679 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1793 PUSH2 0x16F7 PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x178E DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x1708 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xD PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x17D8 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 GT ISZERO ISZERO ISZERO PUSH2 0x18C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x436C6F73696E6720666565206D757374206265206F7665722030000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2710 LT ISZERO ISZERO ISZERO PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x451B PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xA DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x19C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0xA8159D062909288CFE1BC71A9CB71A800664F2658FC2588D52676A844F1B0F13 DUP4 CALLER DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x1B96 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1C0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C14 DUP3 DUP3 PUSH2 0x36D7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x1C65 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8B6C1D05C678FA59695E26465A85918CE0FC63A88F74AF53D1DAEF8F0A9C7804 DUP2 CALLER PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DCB PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1E3F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1F96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x206C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x20DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4321 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2186 JUMPI PUSH2 0x212E DUP2 PUSH1 0xF PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2185 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43E1 PUSH1 0x3E SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP5 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x21E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x6C0EA3BEA9DD66AFA8F9D39D6EB93D833466190330813B42835EFC650DCA4CB9 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x22C0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2710 PUSH1 0xA SLOAD DUP6 MUL DUP2 ISZERO ISZERO PUSH2 0x23AA JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP DUP1 PUSH2 0x23B8 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x242E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x546F6B656E2062616C616E636520746F6F206C6F770000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x249C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4346 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x24C7 CALLER DUP3 PUSH2 0x3E9E JUMP JUMPDEST PUSH2 0x2504 PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2710 PUSH1 0xA SLOAD DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x24FE JUMPI INVALID JUMPDEST DIV PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0xCA61A5A543395EF00F7DC6426B9F9B227C0EF853A44388CDD9FDDBBABD2E087A DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x25DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x26B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420686173206F75747374616E64696E672064656274000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO PUSH2 0x27B8 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x27B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0xE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH32 0x4FE08624EE65B341C38AB9693D216B909D4DDEE1BC8D3FE0FEA14026C361B465 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28E7 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x29A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x297A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2988 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x2A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x2AAE PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2B22 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B2C DUP3 DUP3 PUSH2 0x3E9E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF4 PUSH2 0x2B3D PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x2BEF DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x453C PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x2B68 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C42 PUSH2 0x2C3B PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2C54 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2CC8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2CD1 PUSH2 0x15E9 JUMP JUMPDEST GT ISZERO ISZERO ISZERO PUSH2 0x2D2A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4378 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x2ED9 JUMPI INVALID JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0x52C4E7127EC34E8FC95F09CE2D06B4F00ACCA12CCBCDFB246EF67EE6AEFE068D DUP4 CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x300C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x30E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x311A PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x312B JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x318A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x30 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44C7 PUSH1 0x30 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 SLOAD DUP5 DUP2 ISZERO ISZERO PUSH2 0x3199 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 PUSH2 0x31A6 PUSH2 0x2F5B JUMP JUMPDEST DUP3 DUP2 ISZERO ISZERO PUSH2 0x31B0 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xF PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP DUP1 PUSH2 0x31D7 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x3230 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43B0 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0xD PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0xF PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x32DC CALLER DUP4 PUSH2 0x3E9E JUMP JUMPDEST PUSH32 0xD5F2917D6C1A1057183BE88F3F1C867CF597030F2CD1197A2FDFE1F51376D0CB DUP9 DUP3 CALLER DUP6 PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xF PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x3452 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x34C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x34FF JUMPI INVALID JUMPDEST DUP1 PUSH1 0xB PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x354B PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x35BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35C8 DUP2 PUSH2 0x40DB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x3662 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2710 PUSH1 0xA SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 ISZERO ISZERO PUSH2 0x369A JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x36B2 DUP6 DUP6 PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x36C3 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x377C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3791 DUP2 PUSH1 0x2 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x37E8 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44F7 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x39AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42D9 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3B1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44A2 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3BA7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x426E PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C13 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x42FB PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3CA6 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 GT ISZERO DUP3 SWAP1 ISZERO ISZERO PUSH2 0x3E01 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DC6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DAB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3DF3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP4 DUP6 SUB SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3E94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3F26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4447 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F92 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4291 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3FE9 DUP2 PUSH1 0x2 SLOAD PUSH2 0x4223 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4066 PUSH2 0x29AF JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4070 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x407A PUSH2 0x2F5B JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4084 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x408E PUSH2 0x29AF JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x409E JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x40A8 PUSH2 0x2F5B JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x40B8 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP4 MUL SWAP1 POP DUP3 DUP2 GT ISZERO ISZERO PUSH2 0x40CB JUMPI INVALID JUMPDEST DUP1 DUP3 SWAP5 POP SWAP5 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x4163 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42B3 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4265 DUP4 DUP4 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x3D52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654F776E61 PUSH3 0x6C653A KECCAK256 PUSH15 0x6577206F776E657220697320746865 KECCAK256 PUSH27 0x65726F206164647265737345524332303A20617070726F76652074 PUSH16 0x20746865207A65726F20616464726573 PUSH20 0x45524332303A207472616E7366657220616D6F75 PUSH15 0x7420657863656564732062616C616E PUSH4 0x65566175 PUSH13 0x7420646F6573206E6F74206861 PUSH23 0x6520656E6F75676820636F6C6C61746572616C5661756C PUSH21 0x2064656274206C657373207468616E20616D6F756E PUSH21 0x20746F20706179206261636B2028706C7573206665 PUSH6 0x297365744365 PUSH10 0x6C696E673A204D757374 KECCAK256 PUSH3 0x65206F PUSH23 0x65722074686520616D6F756E74206F66206F7574737461 PUSH15 0x64696E6720646562742E546F6B656E KECCAK256 PUSH3 0x616C61 PUSH15 0x636520746F6F206C6F7720746F2070 PUSH2 0x7920 PUSH16 0x6666206F75747374616E64696E672064 PUSH6 0x627457697468 PUSH5 0x726177616C KECCAK256 PUSH24 0x6F756C6420707574207661756C742062656C6F77206D696E PUSH10 0x6D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH3 0x75726E KECCAK256 PUSH7 0x726F6D20746865 KECCAK256 PUSH27 0x65726F2061646472657373426F72726F7720776F756C6420707574 KECCAK256 PUSH23 0x61756C742062656C6F77206D696E696D756D20636F6C6C PUSH2 0x7465 PUSH19 0x616C2070657263656E7461676545524332303A KECCAK256 PUSH21 0x72616E736665722066726F6D20746865207A65726F KECCAK256 PUSH2 0x6464 PUSH19 0x6573735661756C74206973206E6F742062656C PUSH16 0x77206D696E696D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A20617070726F PUSH23 0x652066726F6D20746865207A65726F2061646472657373 NUMBER PUSH13 0x6F73696E6720666565206D7573 PUSH21 0x20626520756E646572203130302E30302545524332 ADDRESS GASPRICE KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726F626F7272 PUSH16 0x77546F6B656E3A2043616E6E6F74206D PUSH10 0x6E74206F76657220746F PUSH21 0x616C537570706C792EA165627A7A7230582060626F SWAP1 EXTCODEHASH CALLDATASIZE 0xd8 PUSH16 0xA4021458E90E426178621633154B8D84 0x5c 0xc3 LT 0x5f 0xb8 0x1e GT MOD STOP 0x29 ",sourceMap:"109:1541:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;912:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;912:158:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;912:158:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;644:81:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:81:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;644:81:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;756:150:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;756:150:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;756:150:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;5511:608:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5511:608:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5511:608:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2500:149:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2500:149:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1559:89:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;419:25:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;419:25:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3107:300:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1472:81:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1472:81:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3802:207:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;533:45:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:45:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;533:45:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1280:223:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1280:223:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1280:223:7;;;;;;;;;;;;;;;;;:::i;:::-;;4395:180:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4395:180:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4395:180:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;530:107:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;530:107:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;530:107:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;224:33:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:33:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3642:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3642:286:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;451:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;451:23:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1706:108:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1642:137:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1642:137:2;;;:::i;:::-;;4913:592:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4913:592:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4913:592:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6355:570;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6355:570:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6355:570:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3934:455;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3934:455:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3934:455:8;;;;;;;;;;;;;;;;;:::i;:::-;;857:77:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;857:77:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1208:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1208:92:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2164:90:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2164:90:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;838:85:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:85:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;838:85:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:153:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2518:153:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;643:107:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;643:107:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;643:107:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4496:258:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4496:258:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;481:46:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;481:46:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;481:46:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2260:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2260:88:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;356:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:25:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2017:155:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2017:155:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1076:198:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1076:198:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1076:198:7;;;;;;;;;;;;;;;;;:::i;:::-;;4581:326:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4581:326:8;;;;;;;;;;;;;;;;;:::i;:::-;;263:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;263:35:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2354:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2354:157:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6931:1071;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6931:1071:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6931:1071:8;;;;;;;;;;;;;;;;;:::i;:::-;;640:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;640:44:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;640:44:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;584:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:50:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;584:50:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2230:132:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:132:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;387:26:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;387:26:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1509:139:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1509:139:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1509:139:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1928:107:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1928:107:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1928:107:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;6125:224:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6125:224:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6125:224:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;912:158:7;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:23:7;1008:16;;:55;;;;;;;;;;;;;;;;;;912:158;:::o;644:81:4:-;681:13;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;756:150:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:21:7;848:14;;:51;;;;;;;;;;;;;;;;;;756:150;:::o;5511:608:8:-;5589:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5625:1;5616:6;:10;5608:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5700:11;;5690:6;5676:13;:11;:13::i;:::-;:20;:35;;5668:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5769:15;5808:6;5787:9;:18;5797:7;5787:18;;;;;;;;;;;;:27;5769:45;;5842:9;:18;5852:7;5842:18;;;;;;;;;;;;5832:7;:28;5825:36;;;;;;5880:52;5898:15;:24;5914:7;5898:24;;;;;;;;;;;;5924:7;5880:17;:52::i;:::-;5872:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6027:7;6006:9;:18;6016:7;6006:18;;;;;;;;;;;:28;;;;6044:25;6050:10;6062:6;6044:5;:25::i;:::-;6084:28;6096:7;6105:6;6084:28;;;;;;;;;;;;;;;;;;;;;;;;2150:1;5511:608;;;:::o;2500:149:3:-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;419:25:8:-;;;;:::o;3107:300:3:-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;1472:81:4:-;1513:5;1537:9;;;;;;;;;;;1530:16;;1472:81;:::o;3802:207:3:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;533:45:8:-;;;;;;;;;;;;;;;;;;;;;;:::o;1280:223:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1361:6:7;1358:1;:9;;1350:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1423:6;1416:5;:13;;1408:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:6;1477:10;:19;;;;1280:223;:::o;4395:180:8:-;4471:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4512:2;4490:10;:19;4501:7;4490:19;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4530:38;4544:7;4553:10;4565:2;4530:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4395:180;;;:::o;530:107:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:22:7;614:7;623:6;608:5;:22::i;:::-;530:107;;:::o;224:33:8:-;;;;;;;;;;;;;:::o;3642:286::-;3683:7;3702:10;3715;;3702:23;;3749:1;3735:10;;:15;;;;;;;;;;;3782:2;3768:10;;:16;;3761:24;;;;;;3817:4;3796:14;:18;3811:2;3796:18;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3848:10;3831;:14;3842:2;3831:14;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3874;3886:2;3890:10;3874:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3919:2;3912:9;;;3642:286;:::o;451:23::-;;;;;;;;;;;;;:::o;1706:108:3:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;1642:137:2:-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:1;1703:40;;1724:6;;;;;;;;;;;1703:40;;;;;;;;;;;;1770:1;1753:6;;:19;;;;;;;;;;;;;;;;;;1642:137::o;4913:592:8:-;4998:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5053:6;5025:15;:24;5041:7;5025:24;;;;;;;;;;;;:34;;5017:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5112:21;5163:6;5136:15;:24;5152:7;5136:24;;;;;;;;;;;;:33;5112:57;;5205:1;5183:9;:18;5193:7;5183:18;;;;;;;;;;;;:23;;5180:180;;;5230:52;5248:13;5263:9;:18;5273:7;5263:18;;;;;;;;;;;;5230:17;:52::i;:::-;5222:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5180:180;5397:13;5370:15;:24;5386:7;5370:24;;;;;;;;;;;:40;;;;5420:10;:19;;:27;5440:6;5420:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5420:27:8;5463:35;5482:7;5491:6;5463:35;;;;;;;;;;;;;;;;;;;;;;;;2150:1;4913:592;;;:::o;6355:570::-;6434:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6453:20;6506:6;6499:5;6487:10;;6478:6;:19;6477:27;;;;;;;;6476:36;6453:59;;6555:12;6530:21;6540:10;6530:9;:21::i;:::-;:37;;6522:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6633:12;6611:9;:18;6621:7;6611:18;;;;;;;;;;;;:34;;6603:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6733:6;6711:9;:18;6721:7;6711:18;;;;;;;;;;;;:28;;;;;;;;;;;6749:31;6755:10;6767:12;6749:5;:31::i;:::-;6830:44;6836:8;;;;;;;;;;;6868:5;6856:10;;6847:6;:19;6846:27;;;;;;;;6830:5;:44::i;:::-;6889:29;6902:7;6911:6;6889:29;;;;;;;;;;;;;;;;;;;;;;;;2150:1;6355:570;;;:::o;3934:455::-;3997:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4046:1;4024:9;:18;4034:7;4024:18;;;;;;;;;;;;:23;4016:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4120:1;4092:15;:24;4108:7;4092:24;;;;;;;;;;;;:29;;4089:104;;;4137:10;:19;;:45;4157:15;:24;4173:7;4157:24;;;;;;;;;;;;4137:45;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4137:45:8;4089:104;4210:14;:23;4225:7;4210:23;;;;;;;;;;;;4203:30;;;;;;;;;;;4250:10;:19;4261:7;4250:19;;;;;;;;;;;;4243:26;;;;;;;;;;;4286:15;:24;4302:7;4286:24;;;;;;;;;;;4279:31;;;4327:9;:18;4337:7;4327:18;;;;;;;;;;;4320:25;;;4361:21;4374:7;4361:21;;;;;;;;;;;;;;;;;;3934:455;;:::o;857:77:2:-;895:7;921:6;;;;;;;;;;;914:13;;857:77;:::o;1208:92::-;1248:4;1287:6;;;;;;;;;;;1271:22;;:12;:10;:12::i;:::-;:22;;;1264:29;;1208:92;:::o;2164:90:8:-;2211:7;2236:11;;2229:18;;2164:90;:::o;838:85:4:-;877:13;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:85;:::o;2518:153:8:-;2568:7;2588:9;2604:14;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2604:32:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2604:32:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2604:32:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2586:50;;;;;;2658:5;2646:18;;;2518:153;:::o;643:107:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;721:22:7;727:7;736:6;721:5;:22::i;:::-;643:107;;:::o;4496:258:3:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;481:46:8:-;;;;;;;;;;;;;;;;;;;;;;:::o;2260:88::-;2306:7;2331:10;;2324:17;;2260:88;:::o;356:25::-;;;;:::o;2017:155:3:-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;1076:198:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1170:6:7;1155:13;:11;:13::i;:::-;:21;;1147:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1261:6;1247:11;:20;;;;1076:198;:::o;4581:326:8:-;4657:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4676:21;4727:9;4700:15;:24;4716:7;4700:24;;;;;;;;;;;;:36;4676:60;;4771:15;:24;4787:7;4771:24;;;;;;;;;;;;4754:13;:41;;4747:49;;;;;;4834:13;4807:15;:24;4823:7;4807:24;;;;;;;;;;;:40;;;;4863:37;4881:7;4890:9;4863:37;;;;;;;;;;;;;;;;;;;;;;;;2150:1;4581:326;;:::o;263:35::-;;;;;;;;;;;;;:::o;2354:157::-;2406:7;2426:9;2442:16;;;;;;;;;;;:32;;;:34;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2442:34:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2442:34:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2442:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2424:52;;;;;;2498:5;2486:18;;;2354:157;:::o;6931:1071::-;6998:14;:23;7013:7;6998:23;;;;;;;;;;;;;;;;;;;;;6990:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7058:31;7091:17;7112:75;7142:15;:24;7158:7;7142:24;;;;;;;;;;;;7168:9;:18;7178:7;7168:18;;;;;;;;;;;;7112:29;:75::i;:::-;7057:130;;;;7198:28;7255:9;7229:23;:35;;;;;;;;7198:66;;7306:28;;7283:20;:51;7275:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7398:24;7451:28;;7425:23;:54;;;;;;;;7398:81;;7490:19;7531:21;:19;:21::i;:::-;7512:16;:40;;;;;;;;7490:62;;7563:22;7609:11;7588:9;:18;7598:7;7588:18;;;;;;;;;;;;:32;7563:57;;7664:14;7639:21;7649:10;7639:9;:21::i;:::-;:39;;7631:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7743:21;7767:10;:19;7778:7;7767:19;;;;;;;;;;;;;;;;;;;;;7743:43;;7819:10;7797;:19;7808:7;7797:19;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;7860:11;7839:9;:18;7849:7;7839:18;;;;;;;;;;;:32;;;;7881:33;7887:10;7899:14;7881:5;:33::i;:::-;7930:65;7944:7;7953:13;7968:10;7980:14;7930:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6931:1071;;;;;;;;:::o;640:44::-;;;;;;;;;;;;;;;;;:::o;584:50::-;;;;;;;;;;;;;;;;;:::o;2230:132:3:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;387:26:8:-;;;;:::o;1509:139:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:1:7;1587:23;;:9;:23;;;;1580:31;;;;;;1632:9;1621:8;;:20;;;;;;;;;;;;;;;;;;1509:139;:::o;1928:107:2:-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2000:28;2019:8;2000:18;:28::i;:::-;1928:107;:::o;6125:224:8:-;6189:7;6215:14;:23;6230:7;6215:23;;;;;;;;;;;;;;;;;;;;;6207:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6323:9;:18;6333:7;6323:18;;;;;;;;;;;;6316:5;6304:10;;6283:9;:18;6293:7;6283:18;;;;;;;;;;;;:31;6282:39;;;;;;;;6281:60;6273:69;;6125:224;;;:::o;3281:355::-;3364:4;3381:31;3414:17;3435:47;3465:10;3477:4;3435:29;:47::i;:::-;3380:102;;;;3493:28;3550:9;3524:23;:35;;;;;;;;3493:66;;3601:28;;3577:20;:52;;3570:59;;;;;3281:355;;;;:::o;5962:302:3:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;788:96:0:-;833:15;867:10;860:17;;788:96;:::o;7351:332:3:-;7461:1;7444:19;;:5;:19;;;;7436:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7541:1;7522:21;;:7;:21;;;;7514:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7623:6;7593:11;:18;7605:5;7593:18;;;;;;;;;;;;;;;:27;7612:7;7593:27;;;;;;;;;;;;;;;:36;;;;7660:7;7644:32;;7653:5;7644:32;;;7669:6;7644:32;;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:1:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6584:342:3:-;6678:1;6659:21;;:7;:21;;;;6651:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6750:68;6773:6;6750:68;;;;;;;;;;;;;;;;;;:9;:18;6760:7;6750:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;6729:9;:18;6739:7;6729:18;;;;;;;;;;;;;;;:89;;;;6843:24;6860:6;6843:12;;:16;;:24;;;;:::i;:::-;6828:12;:39;;;;6908:1;6882:37;;6891:7;6882:37;;;6912:6;6882:37;;;;;;;;;;;;;;;;;;6584:342;;:::o;2677:598:8:-;2772:7;2781;2830:1;2807:19;:17;:19::i;:::-;:24;;2800:32;;;;;;2874:1;2849:21;:19;:21::i;:::-;:26;;2842:34;;;;;;2887:23;2926:19;:17;:19::i;:::-;2913:10;:32;2887:58;;2982:10;2963:15;:29;;2956:37;;;;;;3004:17;3031:21;:19;:21::i;:::-;3024:4;:28;3004:48;;3083:4;3070:9;:17;;3063:25;;;;;;3099:31;3151:3;3133:15;:21;3099:55;;3198:15;3172:23;:41;3165:49;;;;;;3233:23;3258:9;3225:43;;;;;;;2677:598;;;;;:::o;2136:225:2:-;2229:1;2209:22;;:8;:22;;;;2201:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:8;2289:38;;2310:6;;;;;;;;;;;2289:38;;;;;;;;;;;;2346:8;2337:6;;:17;;;;;;;;;;;;;;;;;;2136:225;:::o;1274:134:1:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o"}},interface:[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],bytecode:"60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029"},Yt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"AddedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"riskyVault",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newVault",type:"uint256"},{indexed:!1,internalType:"address",name:"riskyVaultBuyer",type:"address"},{indexed:!1,internalType:"uint256",name:"amountPaidtoBuy",type:"uint256"}],name:"BoughtRiskyDebtVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BurnedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"RemovedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"UpdatedAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedClosingFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"UpdatedDebtRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"_ethPriceSourceAddress",type:"address"}],name:"UpdatedEthPriceSource",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_adminFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_refFee",type:"uint256"}],name:"UpdatedFees",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"UpdatedGainRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"interestRate",type:"uint256"}],name:"UpdatedInterestRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMaxDebt",type:"uint256"}],name:"UpdatedMaxDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinCollateralRatio",type:"uint256"}],name:"UpdatedMinCollateralRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinDebt",type:"uint256"}],name:"UpdatedMinDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedOpeningFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"oracle",type:"string"}],name:"UpdatedOracleName",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newRef",type:"address"}],name:"UpdatedRef",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"UpdatedStabilityPool",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"uri",type:"string"}],name:"UpdatedTokenURI",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"earned",type:"uint256"}],name:"WithdrawInterest",type:"event"},{inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"accumulatedVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"addFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"adm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"adminFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"borrowToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"buyRiskDebtVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"promoFee",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkRiskyVault",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimalDifferenceRaisedToTen",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pay",type:"address"}],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTotalValueLocked",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"iR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_collateral",type:"uint256"},{internalType:"uint256",name:"debt",type:"uint256"}],name:"isValidCollateral",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"lastInterest",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"liquidateVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mai",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maiDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"payBackToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"paybackTokenAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"promoter",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"ref",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"refFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"removeFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adm",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_closingFee",type:"uint256"}],name:"setClosingFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_admin",type:"uint256"},{internalType:"uint256",name:"_ref",type:"uint256"}],name:"setFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_iR",type:"uint256"}],name:"setInterestRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_maxDebt",type:"uint256"}],name:"setMaxDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_openingFee",type:"uint256"}],name:"setOpeningFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_ref",type:"address"}],name:"setRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"},{internalType:"uint256",name:"cashback",type:"uint256"}],name:"updateFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_oracle",type:"string"}],name:"updateOracleName",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"updateVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawInterest",outputs:[],stateMutability:"nonpayable",type:"function"}];exports.FRONTEND=void 0,(ht=exports.FRONTEND||(exports.FRONTEND={}))[ht.MAI=0]="MAI",ht[ht.MANHATTAN=1]="MANHATTAN",ht[ht.STELLASWAP=2]="STELLASWAP";var qt={CrosschainNativeQiStablecoin:Nt,CrosschainQiStablecoin:Jt,CrosschainQiStablecoinSlim:kt,CrosschainQiStablecoinSlimV2:Vt,CrosschainQiStablecoinV2:Zt,CrosschainQiStablecoinwbtc:_t,Erc20QiStablecoincamwbtc:Kt,Erc20QiStablecoinwbtc:Qt,Erc20Stablecoin:Gt,StableQiVault:Yt,QiStablecoin:Xt},zt=[{shortName:"weth",vaultAddress:"0x98eb27E5F24FB83b7D129D789665b08C258b4cCF",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,Pe,18,"WETH","Wrapped Ether"),discriminator:"StableQiVault",connect:vt.connect,minimumCDR:120,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Ethereum)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0x8C45969aD19D297c9B85763e90D0344C6E2ac9d1",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",8,"WBTC","Wrapped Bitcoin"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:120,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Ethereum)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"stake-dao-crv-eth-steth",fallbackUnderlyingAddress:V,vaultAddress:"0xcc61Ee649A95F2E2f0830838681f839BDb7CB823",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV","StakeDAO Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"StakeDAO Curve ETH/stETH (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"yvcrv-eth-steth",fallbackUnderlyingAddress:V,vaultAddress:"0x82E90EB7034C1DF646bD06aFb9E67281AAb5ed28",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xdCD90C7f6324cfa40d7169ef80b12031770B4325",18,"yvcurve-eth-steth","Yearn Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn Curve ETH/stETH (Ethereum)",underlyingIds:["yearn-finance","weth","lido-staked-ether"],platform:["Yearn","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"yveth",vaultAddress:"0xEcbd32bD581e241739be1763DFE7a8fFcC844ae1",fallbackUnderlyingAddress:Pe,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xa258C4606Ca8206D8aA700cE2143D7db854D168c",18,"YVETH","Yearn WETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn WETH (Ethereum)",underlyingIds:["yearn-finance","weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"yvlink",vaultAddress:"0x60d133c666919B54a3254E0d3F14332cB783B733",fallbackUnderlyingAddress:oe,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x671a912C10bba0CFA74Cfc2d6Fba9BA1ed9530B2",18,"YVLINK","Yearn Link"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn LINK (Ethereum)",underlyingIds:["chainlink"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"yvcurve-steth-f-perf",vaultAddress:"0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x5B8C556B8b2a78696F0B9B830B3d67623122E270",18,"yvCurve-stETH-f","Curve stETH Factory yVault"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn Curve ETH/stETH (Ethereum)",underlyingIds:["yearn-finance","weth","lido-staked-ether"],platform:["Yearn","Curve"],addedAt:1681002e3,deprecated:!1},{shortName:"stake-dao-crv-eth-steth-perf",vaultAddress:"0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV","StakeDAO Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"StakeDAO Curve ETH/stETH Perf (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["StakeDAO","Curve"],addedAt:1681002e3,deprecated:!1},{shortName:"beefy-eth-steth-crv-perf",vaultAddress:"0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xa7739fd3d12ac7F16D8329AF3Ee407e19De10D8D",18,"mooConvexStETH","Moo Convex stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Convex Perf (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Convex","Lido"],addedAt:1681002e3,deprecated:!1},{shortName:"crv",vaultAddress:"0xCA3EB45FB186Ed4e75B9B22A514fF1d4abAdD123",fallbackUnderlyingAddress:K,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,K,18,"CRV","Curve DAO Token"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Curve (Eth)",underlyingIds:["curve-finance"],platform:["Curve"],addedAt:1681390800,deprecated:!1},{shortName:"cbeth",vaultAddress:Ae,fallbackUnderlyingAddress:G,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,G,18,"cbETH","Coinbase Wrapped Staked ETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"cbEth (Eth)",underlyingIds:["coinbase-wrapped-staked-eth"],platform:["Coinbase"],addedAt:1685365200,deprecated:!1},{shortName:"steth",vaultAddress:me,fallbackUnderlyingAddress:X,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,X,18,"stETH","Liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"stEth (Eth)",underlyingIds:["lido-staked-ether"],addedAt:1685365200,deprecated:!1},{shortName:"ldo",vaultAddress:"0x954ac12c339c60eafbb32213b15af3f7c7a0dec2",fallbackUnderlyingAddress:Y,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,Y,18,"LDO","Lido DAO Token"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"LDO (Eth)",underlyingIds:["lido-dao-token"],platform:["Lido"],addedAt:1685365200,deprecated:!1}],jt=[{shortName:"ftm",vaultAddress:"0x1066b8FC999c1eE94241344818486D5f944331A0",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,k,18,"FTM","Fantom"),minimumCDR:130,native:!0,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-fantom-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WFTM (Fantom)",underlyingIds:["fantom"],addedAt:162009e4,deprecated:!0},{shortName:"yvwftm",vaultAddress:ae,fallbackUnderlyingAddress:k,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x0DEC85e74A92c52b7F708c4B10207D9560CEFaf0",18,"yvWFTM","Yearn Fantom"),minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-yvwftm-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault WFTM (Fantom)",underlyingIds:["yearn-finance","fantom"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvwbtc",vaultAddress:ie,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xd817A100AB8A29fE3DBd925c2EB489D67F758DA9",8,"yvWBTC","Yearn Wrapped Bitcoin"),fallbackUnderlyingAddress:"0x321162Cd933E2Be498Cd2267a90534A804051b11",minimumCDR:135,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault BTC (Fantom)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvyfi",vaultAddress:pe,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x2C850cceD00ce2b14AA9D658b7Cad5dF659493Db",18,"yvYFI","Yearn Vault YFI"),minimumCDR:135,fallbackUnderlyingAddress:"0x29b0Da86e484E1C0029B56e817912d778aC0EC69",connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault YFI (Fantom)",underlyingIds:["yearn-finance"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yveth",vaultAddress:se,chainId:exports.ChainId.FANTOM,fallbackUnderlyingAddress:"0x74b23882a30290451A17c44f4F05243b6b58C76d",token:new Ke(exports.ChainId.FANTOM,"0xCe2Fc0bDc18BD6a4d9A725791A3DEe33F3a23BB7",18,"yvWETH","Yearn Wrapped Ether"),minimumCDR:135,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault ETH (Fantom)",underlyingIds:["yearn-finance","weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvwdai",vaultAddress:ue,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x637eC617c86D24E421328e6CAEa1d92114892439",18,"yvDAI","Yearn DAI"),minimumCDR:110,fallbackUnderlyingAddress:"0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-yvdai-vaults",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["yearn-finance","daidai"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"ftmweth",vaultAddress:"0xD939c268C49c442F037E968F045ba02f499562D4",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"ETH","Ethereum"),minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-fantom-eth-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Fantom)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"aave",vaultAddress:"0xdB09908b82499CAdb9E6108444D5042f81569bD9",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x6a07A792ab2965C72a5B8088d3a069A7aC3a993B",18,"AAVE","Aave"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"AAVE (Fantom)",underlyingIds:["aave"],addedAt:162009e4,deprecated:!0},{shortName:"sushi",vaultAddress:"0x267bDD1C19C932CE03c7A62BBe5b95375F9160A6",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xae75A438b2E0cB8Bb01Ec1E1e376De11D44477CC",18,"SUSHI","Sushi"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"SUSHI (Fantom)",underlyingIds:["sushiswap"],addedAt:162009e4,deprecated:!0},{shortName:"link",vaultAddress:"0xd6488d586E8Fcd53220e4804D767F19F5C846086",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8",18,"LINK","ChainLink"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"LINK (Fantom)",underlyingIds:["chainlink"],addedAt:162009e4,deprecated:!0},{shortName:"btc",vaultAddress:"0xE5996a2cB60eA57F03bf332b5ADC517035d8d094",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"BTC","Bitcoin"),minimumCDR:130,connect:xt.connect,discriminator:"CrosschainQiStablecoinwbtc",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Fantom)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-scream-wbtc",vaultAddress:"0x5563Cc1ee23c4b17C861418cFF16641D46E12436",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x97927aBfE1aBBE5429cBe79260B290222fC9fbba",18,"mooScreamWBTC","Beefy Scream WBTC"),minimumCDR:135,fallbackUnderlyingAddress:"0x321162Cd933E2Be498Cd2267a90534A804051b11",connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4},{shortName:"beefy-scream-dai",vaultAddress:"0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x920786cff2A6f601975874Bb24C63f0115Df7dc8",18,"mooScreamDAI","Beefy Scream DAI"),fallbackUnderlyingAddress:"0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["daidai"],addedAt:162009e4},{shortName:"beefy-scream-eth",vaultAddress:"0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x0a03D2C1cFcA48075992d810cc69Bd9FE026384a",18,"mooScreamETH","Beefy Scream ETH"),fallbackUnderlyingAddress:"0x74b23882a30290451A17c44f4F05243b6b58C76d",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4},{shortName:"beefy-scream-ftm",vaultAddress:"0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x49c68eDb7aeBd968F197121453e41b8704AcdE0C",18,"mooScreamFTM","Beefy Scream FTM"),fallbackUnderlyingAddress:"0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["fantom"],addedAt:162009e4},{shortName:"beefy-scream-link",vaultAddress:"0x8e5e4D08485673770Ab372c05f95081BE0636Fa2",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x6DfE2AAEA9dAadADf0865B661b53040E842640f8",18,"mooScreamLINK","Beefy Scream LINK"),fallbackUnderlyingAddress:"0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["chainlink"],addedAt:162009e4},{shortName:"beefy-spooky-btc-ftm",vaultAddress:"0xF34e271312e41Bbd7c451B76Af2AF8339D6f16ED",deprecated:!0,chainId:exports.ChainId.FANTOM,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.FANTOM,"0xA3e3Af161943CfB3941B631676134bb048739727",18,"mooBooBTC-FTM","Beefy SpookySwap BTC-FTM LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc","fantom"],addedAt:162009e4},{shortName:"beefy-spooky-eth-ftm",vaultAddress:"0x9BA01B1279B1F7152b42aCa69fAF756029A9ABDe",deprecated:!0,chainId:exports.ChainId.FANTOM,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.FANTOM,"0x2a30C5e0d577108F694d2A96179cd73611Ee069b",18,"mooBooETH-FTM","Beefy SpookySwap ETH-FTM LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth","fantom"],addedAt:162009e4},{shortName:"beefy-bifi",vaultAddress:"0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xbF07093ccd6adFC3dEB259C557b61E94c1F66945",18,"mooFantomBIFI","Beefy Staked BIFI"),minimumCDR:140,fallbackUnderlyingAddress:"0xd6070ae98b8069de6b494332d1a1a81b6179d960",connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"mooBIFI (Fantom)",underlyingIds:["beefy-finance"],platform:["Beefy"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"xboo",vaultAddress:"0x3f6cf10e85e9c0630856599FAB8D8BFcd9C0E7D4",chainId:exports.ChainId.FANTOM,fallbackUnderlyingAddress:"0x841fad6eae12c286d1fd18d1d525dffa75c7effe",token:new Ke(exports.ChainId.FANTOM,"0xa48d959AE2E88f1dAA7D5F611E01908106dE7598",18,"XBOO","xBoo MirrorWorld"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"xBOO (Fantom)",underlyingIds:["spookyswap"],platform:["Spookyswap"],addedAt:162009e4,deprecated:!0}],$t=[{shortName:"beefy-aave-avax",vaultAddress:Fe,chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x1B156C5c75E9dF4CAAb2a5cc5999aC58ff4F9090",18,"mooAaveAVAX","Beefy Aave AVAX"),minimumCDR:135,fallbackUnderlyingAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Beefy Aave AVAX (Avalanche)",underlyingIds:["avalanche"],platform:["Beefy","AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"sdav3crv",vaultAddress:"0x13A7fE3Ab741ea6301Db8B164290bE711f546A73",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x0665eF3556520B21368754Fb644eD3ebF1993AD4",18,"sdav3CRV","Stake DAO av3CRV Strategy"),connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",minimumCDR:110,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["stake-dao-crv","tether","daidai","usd-coin"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"avaxwbtc",vaultAddress:"0x1f8f7a1d38e41eaf0ed916def29bdd13f2a3f11a",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x50b7545627a5162F82A992c33b87aDc75187B218",8,"WBTC.e","Wrapped BTC"),connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Avalanche)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"avaxweth",vaultAddress:"0xa9122dacf3fccf1aae6b8ddd1f75b6267e5cbbb8",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",18,"WETH","Wrapped Ethereum"),connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Avalanche)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"avax",vaultAddress:"0x73a755378788a4542a780002a75a7bae7f558730",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WAVAX (Avalanche)",underlyingIds:["avalanche"],addedAt:162009e4,deprecated:!0}],en=[{shortName:"weth-old",vaultAddress:"0xf5c2b1b92456fe1b1208c63d8ea040d464f74a72",chainId:exports.ChainId.ARBITRUM,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",token:new Ke(exports.ChainId.ARBITRUM,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH (OLD)","Wrapped Ether (OLD)"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"weth",vaultAddress:"0xC76a3cBefE490Ae4450B2fCC2c38666aA99f7aa0",chainId:exports.ChainId.ARBITRUM,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.ARBITRUM,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Arbitrum)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB237f4264938f0903F5EC120BB1Aa4beE3562FfF",chainId:exports.ChainId.ARBITRUM,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",token:new Ke(exports.ChainId.ARBITRUM,"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",8,"WBTC","Wrapped Bitcoin"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Arbitrum)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"gdai",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.ARBITRUM,minimumCDR:112,token:new Ke(exports.ChainId.ARBITRUM,"0xd85E038593d7A098614721EaE955EC2022B9B91B",18,"gDAI","Gains Network DAI"),frontend:exports.FRONTEND.MAI,vaultAddress:Ue,version:2,fallbackUnderlyingAddress:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",underlyingIds:["gns","daidai"],platform:["Gains"],addedAt:162009e4,deprecated:!1},{shortName:"knc",vaultAddress:De,chainId:exports.ChainId.ARBITRUM,token:new Ke(exports.ChainId.ARBITRUM,"0xe4DDDfe67E7164b0FE14E218d80dC4C08eDC01cB",18,"KNC","Kyber Network Crystal (v2)"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-eth-steth-crv",vaultAddress:ce,fallbackUnderlyingAddress:"0x5979D7b546E38E414F7E9822514be443A4800529",chainId:exports.ChainId.ARBITRUM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.ARBITRUM,"0x9E75f8298e458B76382870982788988A0799195b",18,"mooCurveWSTETH","Moo Curve wstETH"),minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Curve (Arbitrum)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Curve","Lido"],addedAt:1680483600,deprecated:!1},{shortName:"arb",vaultAddress:"0x950eCEeE9E7D7366a24fC9D2Ed4C0c37d17a0Fa9",fallbackUnderlyingAddress:Q,chainId:exports.ChainId.ARBITRUM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.ARBITRUM,Q,18,"ARB","Arbitrum"),minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Arb (Arbitrum)",underlyingIds:["arbitrum"],platform:["Arbitrum"],addedAt:1680483600,deprecated:!1}],tn=[{shortName:"weth",vaultAddress:"0x062016Cd29Fabb26c52BAB646878987fC9B0Bc55",chainId:exports.ChainId.OPTIMISM,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Optimism)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC",chainId:exports.ChainId.OPTIMISM,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",token:new Ke(exports.ChainId.OPTIMISM,"0x68f180fcCe6836688e9084f035309E29Bf0A2095",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Optimism)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"op",vaultAddress:"0xbf1aeA8670D2528E08334083616dD9C5F3B087aE",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000042",18,"OP","Optimism"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"OP (Optimism)",underlyingIds:["optimism"],platform:["Optimism"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-dai",vaultAddress:"0xB89c1b3d9f335B9d8Bb16016F3d60160AE71041f",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",fallbackUnderlyingAddress:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",token:new Ke(exports.ChainId.OPTIMISM,"0x4D153F47F03c237F6360a6eccd185b4aE09c63D0",18,"mooAaveDAI","Beefy OP Aave Dai"),minimumCDR:110,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["daidai"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-weth",vaultAddress:"0xF9CE2522027bD40D3b1aEe4abe969831FE3BeAf5",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x7eE71053102d54Fc843BaEBaf07277C2b6dB64f1",18,"mooAaveWETH","Beefy OP Aave WETH"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy Aave ETH (Optimism)",underlyingIds:["weth"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-wbtc",vaultAddress:"0xAB91c51b55F7Dd7B34F2FD7217506fD5b632B2B9",fallbackUnderlyingAddress:"0x68f180fcCe6836688e9084f035309E29Bf0A2095",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x8e2cDf8c6477439B7C989e86B917D80871B92339",18,"mooAaveWBTC","Beefy OP Aave WBTC"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy Aave BTC (Optimism)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"wsteth",vaultAddress:ye,fallbackUnderlyingAddress:"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x926B92B15385981416a5E0Dcb4f8b31733d598Cf",18,"wstETH","Wrapped liquid staked Ether 2.0"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Optimism)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:162009e4,deprecated:!1},{shortName:"yvweth",vaultAddress:"0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x22f39d6535dF5767f8F57FEE3B2F941410773ec4",18,"yvWETH","WETH yVault"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn vault ETH (Optimism)",underlyingIds:["weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"beefy-eth-steth-crv",vaultAddress:"0xa478E708A27853848C6Bc979668fe6225FEe46Fa",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x480798FAC621adD14113ECC82638305c260cEaf1",18,"mooCurveWSTETH","Beefy OP Curve ETH/stETH"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Curve (Optimism)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Curve","Lido"],addedAt:162009e4,deprecated:!1},{shortName:"knc",vaultAddress:re,chainId:exports.ChainId.OPTIMISM,token:new Ke(exports.ChainId.OPTIMISM,"0xa00E3A3511aAC35cA78530c85007AFCd31753819",18,"KNC","Kyber Network Crystal (v2)"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0}],nn=[{shortName:"eth",vaultAddress:"0x4a0474E3262d4DB3306Cea4F207B5d66eC8E0AA9",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C",18,"ETH","Ethereum"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"moo-solar-eth-usdc",vaultAddress:"0x97D811A7eb99Ef4Cb027ad59800cE27E68Ee1109",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x932009984bd2a7dA8C6396694E811Da5C0952d05",18,"mooSolarETH-USDC","Beefy Solarbeam ETH-USDC LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth","usd-coin"],addedAt:162009e4,deprecated:!0},{shortName:"movr",native:!0,vaultAddress:"0x5dB6617DDF077d76CFD9d7fC0Fa91aAabc3da683",chainId:exports.ChainId.MOONRIVER,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x98878B06940aE243284CA214f92Bb71a2b032B8A",18,"MOVR","Moonriver"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"MOVR (Moonriver)",underlyingIds:["moonriver"],addedAt:162009e4,deprecated:!0},{shortName:"moo-solar-movr-usdc",vaultAddress:"0xF4fa968578723580935a00d1e12Fe96Bc6401947",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x78Dc4b7C7A89812fb337dD8C3B0ccB3e04E02D7C",18,"mooSolarMOVR-USDC","Beefy Solarbeam MOVR-USDC LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["moonriver","usd-coin"],addedAt:162009e4,deprecated:!0}],fn=[{connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MOONBEAM,minimumCDR:200,token:new Ke(exports.ChainId.MOONBEAM,"0xAcc15dC74880C9944775448304B263D191c6077F",18,"WGLMT","Wrapped GLMR"),shortName:"GLMVT",frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x3A82F4da24F93a32dc3C2A28cFA9D6E63EC28531",version:2,underlyingIds:["moonbeam"],addedAt:162009e4,deprecated:!0},{connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MOONBEAM,minimumCDR:250,token:new Ke(exports.ChainId.MOONBEAM,"0x06A3b410b681c82417A906993aCeFb91bAB6A080",18,"xStella","xStella"),shortName:"xSMVT",frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x3756465c5b1C1C4cEe473880c9726E20875284f1",version:2,underlyingIds:[],addedAt:162009e4,deprecated:!0}],an=[{shortName:"eth",vaultAddress:"0x46469f995A5CB60708200C25EaD3cF1667Ed36d6",chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,token:new Ke(exports.ChainId.HARMONY,"0x6983D1E6DEf3690C4d616b13597A09e6193EA013",18,"1ETH","Wrapped Ethereum"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4},{shortName:"one",vaultAddress:"0x12FcB286D664F37981a42cbAce92eAf28d1dA94f",native:!0,chainId:exports.ChainId.HARMONY,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",deprecated:!0,token:new Ke(exports.ChainId.HARMONY,"0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a",18,"ONE","Harmony (ONE)"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["harmony"],addedAt:162009e4},{shortName:"btc_old",vaultAddress:"0x9f4E3d01c634441F284beb92bBAEeb76133BbB28",deprecated:!0,chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.HARMONY,"0x3095c7557bCb296ccc6e363DE01b760bA031F2d9",8,"1WBTC OLD","Wrapped Bitcoin OLD"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4},{shortName:"btc",vaultAddress:"0x4592e0bcf01121757e70404915f220a77ffb4e15",deprecated:!0,chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.HARMONY,"0x3095c7557bCb296ccc6e363DE01b760bA031F2d9",8,"1WBTC","Wrapped Bitcoin"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4}],pn=[{shortName:"wbnb",vaultAddress:"0xA56F9A54880afBc30CF29bB66d2D9ADCdcaEaDD6",chainId:exports.ChainId.BSC,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.BSC,"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",18,"Wrapped BNB","WBNB"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"BNB (BNB)",underlyingIds:["wrapped-bnb"],addedAt:162009e4,deprecated:!0},{shortName:"cake",vaultAddress:"0x014A177E9642d1b4E970418f894985dC1b85657f",connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",chainId:exports.ChainId.BSC,token:new Ke(exports.ChainId.BSC,"0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",18,"PancakeSwap Token","CAKE"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"CAKE (BNB)",underlyingIds:["pancakeswap"],addedAt:162009e4,deprecated:!0},{shortName:"dodo",vaultAddress:"0x7333fd58d8D73a8e5FC1a16C8037ADa4f580FA2B",chainId:exports.ChainId.BSC,token:new Ke(exports.ChainId.BSC,"0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2",18,"DODO","DODO"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:150,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"DODO (BNB)",underlyingIds:["dodo"],addedAt:162009e4,deprecated:!0}],sn=[{shortName:"weth",vaultAddress:"0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b",chainId:exports.ChainId.XDAI,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.XDAI,"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",18,"Wrapped Ether","WETH"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Gnosis Chain)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"gno",vaultAddress:"0x014a177e9642d1b4e970418f894985dc1b85657f",chainId:exports.ChainId.XDAI,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.XDAI,"0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb",18,"Gnosis","GNO"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"GNO (Gnosis Chain)",underlyingIds:["gnosis"],addedAt:162009e4,deprecated:!0},{shortName:"sdai",vaultAddress:xe,chainId:exports.ChainId.XDAI,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.XDAI,j,18,"sDAI","Savings xDAI"),minimumCDR:110,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Savings DAI (Gnosis Chain)",underlyingIds:["daidai"],addedAt:1697608800,deprecated:!1}],un=[{shortName:"matic",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-mai-finance-og",vaultAddress:A,token:new Ke(exports.ChainId.MATIC,s.constants.AddressZero,18,"MATIC","Polygon MATIC"),minimumCDR:150,connect:yt.connect,discriminator:"QiStablecoin",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"camwmatic",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-amwmatic-vaults",vaultAddress:"0x88d84a85A87ED12B8f098e8953B322fF789fCD1a",fallbackUnderlyingAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x7068Ea5255cb05931EFa8026Bd04b18F3DeB8b0B",18,"camWMATIC","Compounding Aave Market MATIC"),minimumCDR:135,aaveId:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf12700xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave MATIC (Polygon)",underlyingIds:["wrapped-matic"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"weth",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-weth-vaults",vaultAddress:"0x3fd939B017b31eaADF9ae50C7fF7Fa5c0661d47C",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Polygon)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"camweth",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-cam-weth-vaults",vaultAddress:ee,fallbackUnderlyingAddress:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x0470CD31C8FcC42671465880BA81D631F0B76C1D",18,"camWETH","Compounding Aave Market WETH"),minimumCDR:135,aaveId:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6190xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave ETH (Polygon)",underlyingIds:["weth"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"camaave",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-cam-aave-vaults",vaultAddress:te,fallbackUnderlyingAddress:_,token:new Ke(exports.ChainId.MATIC,"0xeA4040B21cb68afb94889cB60834b13427CFc4EB",18,"camAAVE","Compounding Aave Market AAVE"),minimumCDR:135,connect:It.connect,discriminator:"Erc20Stablecoin",aaveId:"0xd6df932a45c0f255f85145f286ea0b292b21c90b0xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave AAVE (Polygon)",underlyingIds:["aave"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"aave",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-aave-vaults",vaultAddress:"0x87ee36f780ae843A78D5735867bc1c13792b7b11",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,_,18,"AAVE","Aave"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"AAVE (Polygon)",underlyingIds:["aave"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"link",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-link-vaults",vaultAddress:"0x61167073E31b1DAd85a3E531211c7B8F1E5cAE72",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",18,"LINK","ChainLink Token"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"LINK (Polygon)",underlyingIds:["chainlink"],addedAt:162009e4,deprecated:!0},{shortName:"crv",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-curve-vaults",vaultAddress:"0x98B5F32dd9670191568b661a3e847Ed764943875",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x172370d5Cd63279eFa6d502DAB29171933a610AF",18,"CRV","Curve Dao Token"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"CRV (Polygon)",underlyingIds:["curve-finance"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-wbtc-vaults",vaultAddress:"0x37131aEDd3da288467B6EBe9A77C523A700E6Ca1",connect:Ot.connect,discriminator:"Erc20QiStablecoinwbtc",token:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"camwbtc",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-cam-wbtc-vaults",vaultAddress:ne,token:new Ke(exports.ChainId.MATIC,"0xBa6273A78a23169e01317bd0f6338547F869E8Df",8,"camWBTC","Compounding Aave Market WBTC"),minimumCDR:135,aaveId:"0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd60xd05e3e715d945b59290df0ae8ef85c1bdb684744",connect:Mt.connect,discriminator:"Erc20QiStablecoincamwbtc",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave WBTC (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"bal-old",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-bal-vaults",vaultAddress:"0xf6906b1Cf79Ab14c79DdC7D763c1A517cF9968A5",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3",18,"BAL OLD","Balancer"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["balancer"],addedAt:162009e4,deprecated:!0},{shortName:"dquick-old",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-dquick-vaults",vaultAddress:"0x9e6e3e8161Fffb31a6030E56a3E024842567154F",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0xf28164A485B0B2C90639E47b0f377b4a438a16B1",18,"dQUICK OLD","Dragon QUICK"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["quickswap"],addedAt:162009e4,deprecated:!0},{shortName:"bal",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-bal-vaults-v2",vaultAddress:"0x701A1824e5574B0b6b1c8dA808B184a7AB7A2867",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3",18,"BAL","Balancer"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"BAL (Polygon)",underlyingIds:["balancer"],addedAt:162009e4,deprecated:!0},{shortName:"dquick",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-dquick-vaults-v2",vaultAddress:"0x649Aa6E6b6194250C077DF4fB37c23EE6c098513",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0xf28164A485B0B2C90639E47b0f377b4a438a16B1",18,"dQUICK","Dragon QUICK"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["quickswap","dragon-s-quick"],platform:["QuickSwap"],addedAt:162009e4,deprecated:!0},{shortName:"ghst",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-ghst-vaults",vaultAddress:"0xF086dEdf6a89e7B16145b03a6CB0C0a9979F1433",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7",18,"GHST","Aavegotchi GHST"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"GHST (Polygon)",underlyingIds:["aavegotchi"],addedAt:162009e4,deprecated:!0},{shortName:"camdai",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-camdai-vaults",vaultAddress:fe,connect:St.connect,discriminator:"CrosschainQiStablecoin",fallbackUnderlyingAddress:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",token:new Ke(exports.ChainId.MATIC,"0xE6C23289Ba5A9F0Ef31b8EB36241D5c800889b7b",18,"camDAI","Compounding Aave Market DAI"),minimumCDR:110,aaveId:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a0630xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["daidai"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"sdam3crv",vaultAddress:"0x57Cbf36788113237D64E46f25A88855c3dff1691",connect:bt.connect,discriminator:"CrosschainQiStablecoinV2",chainId:exports.ChainId.MATIC,minimumCDR:110,token:new Ke(exports.ChainId.MATIC,"0x7d60F21072b585351dFd5E8b17109458D97ec120",18,"sdam3CRV","Stake DAO am3CRV Strategy"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["stake-dao-crv","tether","daidai","usd-coin"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"fxs",vaultAddress:"0xff2c44Fb819757225a176e825255a01B3B8BB051",chainId:exports.ChainId.MATIC,connect:St.connect,discriminator:"CrosschainQiStablecoin",minimumCDR:130,token:new Ke(exports.ChainId.MATIC,"0x1a3acf6D19267E2d3e7f898f42803e90C9219062",18,"FXS","Frax Share"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Frax Share (Polygon)",underlyingIds:["frax-share"],addedAt:162009e4,deprecated:!0},{shortName:"cxeth",vaultAddress:"0x7d36999a69f2B99BF3FB98866cBbE47aF43696C8",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0xfe4546feFe124F30788c4Cc1BB9AA6907A7987F9",18,"cxETH","CelsiusX ETH"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["ethereum"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"cxada",vaultAddress:"0x506533B9C16eE2472A6BF37cc320aE45a0a24F11",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x64875Aaa68d1d5521666C67d692Ee0B926b08b2F",18,"cxADA","CelsiusX Wrapped ADA"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["cardano"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"cxdoge",vaultAddress:"0x7CbF49E4214C7200AF986bc4aACF7bc79dd9C19a",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x9Bd9aD490dD3a52f096D229af4483b94D63BE618",18,"cxDOGE","CelsiusX Wrapped DOGE"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["dogecoin"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"vghst",vaultAddress:"0x1F0aa72b980d65518e88841bA1dA075BD43fa933",fallbackUnderlyingAddress:"0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x51195e21BDaE8722B29919db56d95Ef51FaecA6C",18,"vGHST","Gotchi Vault GHST"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"vGHST (Polygon)",underlyingIds:["aavegotchi"],addedAt:162009e4,deprecated:!0,platform:["GotchiVault"]},{shortName:"celsius",vaultAddress:"0x178f1c95C85Fe7221C7A6a3d6F12B7Da3253eeAe",chainId:exports.ChainId.MATIC,minimumCDR:135,connect:bt.connect,discriminator:"CrosschainQiStablecoinV2",token:new Ke(exports.ChainId.MATIC,"0xD85d1e945766Fea5Eda9103F918Bd915FbCa63E6",4,"CEL","Celsius"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["celsius"],addedAt:162009e4,deprecated:!0},{shortName:"sand",vaultAddress:"0x1DCc1f864A4Bd0b8f4Ad33594B758b68e9Fa872c",chainId:exports.ChainId.MATIC,minimumCDR:135,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683",18,"SAND","The Sandbox Game"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"SAND (Polygon)",underlyingIds:["the-sandbox"],addedAt:162009e4,deprecated:!0},{shortName:"wmatic",vaultAddress:"0x305f113ff78255d4F8524c8F50C7300B91B10f6A",chainId:exports.ChainId.MATIC,minimumCDR:120,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped Matic"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Wrapped MATIC (Polygon)",underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"xxdai",vaultAddress:"0xaa19d0e397c964a35e6e80262c692dbfC9C23451",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",minimumCDR:110,token:new Ke(exports.ChainId.MATIC,"0xf52B3250E026E0307d7d717AE0f331baAA4F83a8",18,"xxDAI","Tetu xxDAI"),connect:vt.connect,discriminator:"StableQiVault",frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["daidai"],platform:["Tetu"],addedAt:162009e4,deprecated:!0},{shortName:"xxlink",vaultAddress:"0x11826d20B6A16A22450978642404dA95B4640123",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",minimumCDR:150,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x6c5e2E7dF0372f834B7F40D16Ff4333Cf49Af235",18,"xxLINK","Tetu xxLINK"),frontend:exports.FRONTEND.MAI,version:2,snapshotName:"xxLINK (Polygon)",underlyingIds:["chainlink"],platform:["Tetu"],addedAt:162009e4,deprecated:!0},{shortName:"knc",vaultAddress:"0xa3b0A659f2147D77A443f70D96b3cC95E7A26390",chainId:exports.ChainId.MATIC,token:new Ke(exports.ChainId.MATIC,"0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C",18,"KNC","Kyber Network Crystal"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,snapshotName:"KNC (Polygon)",version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0},{shortName:"maidai",vaultAddress:"0x7d75F83f0aBe2Ece0b9Daf41CCeDdF38Cb66146b",chainId:exports.ChainId.MATIC,token:new Ke(exports.ChainId.MATIC,"0x873f4aE80867b9f97304B9Bb7Ef92c4d563fA48c",18,"aMAIDAI","Arrakis MAI/DAI"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:102,frontend:exports.FRONTEND.MAI,fallbackUnderlyingAddress:A,version:2,underlyingIds:["daidai","mai-finance"],platform:["Arrakis"],addedAt:162009e4,deprecated:!0},{shortName:"LSMMVT",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic"),frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x4b7509ce029656341D0B59D387D9B5312E41615a",version:2,underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"STMMVT",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMatic","Staked Matic"),frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x34fa22892256216a659D4f635354250b4D771458",version:2,underlyingIds:["lido-staked-matic"],platform:["Lido"],addedAt:162009e4,deprecated:!0},{shortName:"stmatic",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMATIC","Staked MATIC (PoS)"),frontend:exports.FRONTEND.MAI,vaultAddress:de,version:2,underlyingIds:["lido-staked-matic"],platform:["Lido"],addedAt:162009e4,deprecated:!1},{shortName:"gdai",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:112,token:new Ke(exports.ChainId.MATIC,"0x91993f2101cc758D0dEB7279d41e880F7dEFe827",18,"gDAI","Gains Network DAI"),frontend:exports.FRONTEND.MAI,vaultAddress:le,version:2,fallbackUnderlyingAddress:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",underlyingIds:["gns","daidai"],platform:["Gains"],addedAt:162009e4,deprecated:!1},{shortName:"maticx",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic (PoS)"),frontend:exports.FRONTEND.MAI,vaultAddress:Se,version:2,underlyingIds:["stader-maticx"],platform:["Stader"],addedAt:162009e4,deprecated:!1},{shortName:"wsteth",vaultAddress:"0x3bcbAC61456c9C9582132D1493A00E318EA9C122",fallbackUnderlyingAddress:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0xcC03032fBf096F14a2DE8809c79d8b584151212B",18,"wstETH","Wrapped liquid staked Ether 2.0"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Optimism)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1679274e3,deprecated:!1},{shortName:"wbtc-i",vaultAddress:"0x169d47043CC0c94c39fa327941c56CB0344dc508",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC-I (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:1683594e3,deprecated:!1},{shortName:"weth-i",vaultAddress:"0xB5B31E6A13aE856bc30b3C76B16eDaD9F432B54F",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH-I (Polygon)",underlyingIds:["weth"],addedAt:1683594e3,deprecated:!1}],Fn=[{shortName:"metis",vaultAddress:"0x10DcBEe8afA39a847707e16Aea5eb34c6b01aBA9",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"METIS","Metis"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"METIS (Metis)",underlyingIds:["metis-token"],addedAt:162009e4,deprecated:!0},{shortName:"weth",vaultAddress:"0xC09c73F7B32573d178138E76C0e286BA21085c20",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0x420000000000000000000000000000000000000A",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Metis)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB89c1b3d9f335B9d8Bb16016F3d60160AE71041f",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,Z,8,"WBTC","Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Metis)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"mwbtc",vaultAddress:"0x5A03716bd1f338D7849f5c9581AD5015ce0020B0",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0x433E43047B95cB83517abd7c9978Bdf7005E9938",8,"m.WBTC","Metis Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"m.WBTC (Metis)",fallbackUnderlyingAddress:Z,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"metis",vaultAddress:"0x19Cb63CCbfAC2f28B1fd79923f6aDfC096e6EBB4",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"METIS","Metis"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MANHATTAN,version:2,underlyingIds:["metis-token"],addedAt:1683853200,deprecated:!1}];exports,new Ke(exports.ChainId.ZKEVM,"0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",18,"WETH","Wrapped Ether"),exports,exports,new Ke(exports.ChainId.ZKEVM,"0xa2036f0538221a77A3937F1379699f44945018d0",18,"WMATIC","Wrapped Matic"),exports;var Pn,on,yn,rn,dn,ln,Sn,Un,Dn,cn,An,mn,bn,Tn,xn,En,Mn=[{shortName:"weth",vaultAddress:"0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6",chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Base)",underlyingIds:["weth"],addedAt:1686618e3,deprecated:!1},{shortName:"cbeth",vaultAddress:be,chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,q,18,"cbETH","Coinbase Wrapped Staked ETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"cbEth (Base)",underlyingIds:["coinbase-wrapped-staked-eth"],platform:["Coinbase"],addedAt:1685365200,deprecated:!1},{shortName:"wsteth",vaultAddress:Te,chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,z,18,"wstETH","liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Base)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1700096400,deprecated:!1}],Hn=[{shortName:"wsteth",vaultAddress:"0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,$,18,"WSTETH","Wrapped liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Linea)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1699923600,deprecated:!1},{shortName:"wbtc",vaultAddress:"0x8AB01c5Ee3422099156ab151eecB83c095626599",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,"0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4",8,"WBTC","Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Linea)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:1700096400,deprecated:!1},{shortName:"weth",vaultAddress:"0x7f9Dd991e8fD0cBb52CB8Eb35DD35c474a9a7a70",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Linea)",underlyingIds:["lido-staked-ether"],addedAt:1699923600,deprecated:!1}],On=((Wt={})[exports.ChainId.MAINNET]=zt,Wt[exports.ChainId.FANTOM]=jt,Wt[exports.ChainId.AVALANCHE]=$t,Wt[exports.ChainId.ARBITRUM]=en,Wt[exports.ChainId.OPTIMISM]=tn,Wt[exports.ChainId.MOONRIVER]=nn,Wt[exports.ChainId.MOONBEAM]=fn,Wt[exports.ChainId.HARMONY]=an,Wt[exports.ChainId.BSC]=pn,Wt[exports.ChainId.XDAI]=sn,Wt[exports.ChainId.MATIC]=un,Wt[exports.ChainId.METIS]=Fn,Wt[exports.ChainId.CUBE]=[],Wt[exports.ChainId.HECO]=[],Wt[exports.ChainId.KOVAN]=[],Wt[exports.ChainId.FUJI]=[],Wt[exports.ChainId.CELO]=[],Wt[exports.ChainId.MOONBASE]=[],Wt[exports.ChainId.BOBA]=[],Wt[exports.ChainId.AURORA]=[],Wt[exports.ChainId.GÖRLI]=[],Wt[exports.ChainId.MILKOMEDA]=[],Wt[exports.ChainId.BSC_TESTNET]=[],Wt[exports.ChainId.CRONOS]=[],Wt[exports.ChainId.MATIC_TESTNET]=[],Wt[exports.ChainId.FANTOM_TESTNET]=[],Wt[exports.ChainId.HARMONY_TESTNET]=[],Wt[exports.ChainId.HECO_TESTNET]=[],Wt[exports.ChainId.SYSCOIN]=[],Wt[exports.ChainId.IOTEX]=[],Wt[exports.ChainId.KAVA]=[],Wt[exports.ChainId.KLAYTN]=[],Wt[exports.ChainId.CANTO]=[],Wt[exports.ChainId.DOGECHAIN]=[],Wt[exports.ChainId.ZKEVM]=[],Wt[exports.ChainId.BASE]=Mn,Wt[exports.ChainId.LINEA]=Hn,Wt[exports.ChainId.SCROLL]=[],Wt),Cn={Beefy:{description:J["beefy-finance"].shortDescription,logo:J["beefy-finance"].logo},Yearn:{description:J["yearn-finance"].shortDescription,logo:J["yearn-finance"].logo},Curve:{description:J["curve-finance"].shortDescription,logo:J["curve-finance"].logo},AaveV2:{description:J.aave.shortDescription,logo:J.aave.logo},AaveV3:{description:J.aave.shortDescription,logo:J.aave.logo},Balancer:{description:J.balancer.shortDescription,logo:J.balancer.logo},Lido:{description:J["lido-dao-token"].shortDescription,logo:J["lido-dao-token"].logo},Arrakis:{description:"Arrakis is web3's trustless market making infrastructure protocol that enables running sophisticated algorithmic strategies on Uniswap V3. Liquidity providers can utilize Arrakis Vaults to have their liquidity be managed in an automated, capital efficient, non-custodial and transparent manner.",logo:"https://icons.llamao.fi/icons/protocols/arrakis-finance"},QuickSwap:{description:J.quickswap.shortDescription,logo:J.quickswap.logo},Gains:{description:J.gns.shortDescription,logo:J.gns.logo},GotchiVault:{description:"Gotchi Vault allows users to deposit their GHST and Aavegotchis into the Vault smart contracts to be collectively managed.",logo:"https://icons.llamao.fi/icons/protocols/gotchivault"},Stader:{description:"Stader offers the most convenient & safest way to maximize your returns on staking.",logo:"https://icons.llamao.fi/icons/protocols/stader"},StakeDAO:{description:"Stake Capital DAO is a revenue sharing DAO which tokenizes Stake Capital's DeFi services and uses staking derivatives to unlock additional decentralized products. The Stake Capital DAO distributes value generated by a basket of DeFi services to stakeholders.",logo:"https://icons.llamao.fi/icons/protocols/stakedao"},Tetu:{description:"Tetu is a decentralized organization committed to providing a next generation yield aggregator to DeFi investors.",logo:"https://icons.llamao.fi/icons/protocols/tetu"},Spookyswap:{description:"Automated Market Maker (AMM) built on the Fantom Opera Network.",logo:"https://icons.llamao.fi/icons/protocols/spookyswap"},Convex:{description:"Convex simplifies your Curve-boosting experience to maximize your yields.",logo:"https://icons.llamao.fi/icons/protocols/convex-finance"},Coinbase:{description:"Coinbase is a secure online platform for buying, selling, transferring, and storing digital currency.",logo:"https://s2.tokeninsight.com/static/elogo/64x64/536.png"},Optimism:{description:J.optimism.shortDescription,logo:J.optimism.logo},Arbitrum:{description:J.arbitrum.shortDescription,logo:J.arbitrum.logo}},In=function(e,t,n,f,a,i,p,u){try{var F=new s.Contract(t,gt,e);return Promise.resolve(F.beefyZapFromVault(i,p,n,f,a,He({gasLimit:35e5},u)))}catch(e){return Promise.reject(e)}},Rn=function(e,t,n,f,a,i,p,u){try{var F=new s.Contract(t,gt,e);return Promise.resolve(F.beefyZapToVault(i,p,n,f,a,u))}catch(e){return Promise.reject(e)}},vn="0xE2379CB4c4627E5e9dF459Ce08c2342C696C4c1f";function Wn(e){var t=e.underlying,n=e.mooAssetAddress,f=e.mooAssetVaultAddress,a=e.zapperAddress;return{vaultType:e.vaultType,zapperAddress:a,underlying:t,underlyingPriceSourceAddress:e.underlyingPriceSourceAddress,mooAssetAddress:n,collateralScaling:e.collateralScaling,underlyingScaling:e.underlyingScaling,zapInFunction:function(e,i,p,s){return Rn(p,a,t.address,n,f,e,i,s)},zapOutFunction:function(e,i,p,s){return In(p,a,t.address,n,f,e,i,s)}}}var hn=((yn={})[exports.ChainId.AVALANCHE]=((Pn={})[Fe]=Wn({vaultType:"BEEFY",zapperAddress:"0x1d0a9E2c445EB8f99767eF289832637921e6F6a5",underlying:new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),underlyingPriceSourceAddress:"0x0A77230d17318075983913bC2145DB16C7366156",mooAssetAddress:"0x1B156C5c75E9dF4CAAb2a5cc5999aC58ff4F9090",mooAssetVaultAddress:Fe}),Pn),yn[exports.ChainId.FANTOM]=((on={})[ae]=Wn({vaultType:"YEARN",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Fantom"),underlyingPriceSourceAddress:"0xf4766552D15AE4d256Ad41B6cf2933482B0680dc",mooAssetAddress:"0x0DEC85e74A92c52b7F708c4B10207D9560CEFaf0",mooAssetVaultAddress:ae}),on[ie]=Wn({vaultType:"YEARN",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"WBTC","Wrapped Bitcoin"),underlyingPriceSourceAddress:"0x8e94C22142F4A64b99022ccDd994f4e9EC86E4B4",collateralScaling:{priceScalingFactor:{scalingFactor:1e10,scaleVia:"mul"}},underlyingScaling:{liquidationScalingFactor:{scalingFactor:1e10,scaleVia:"div"}},mooAssetAddress:"0xd817A100AB8A29fE3DBd925c2EB489D67F758DA9",mooAssetVaultAddress:ie}),on[pe]=Wn({vaultType:"YEARN",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x29b0Da86e484E1C0029B56e817912d778aC0EC69",18,"YFI","Yearn.finance"),underlyingPriceSourceAddress:"0x9d5c6db3bf2904d9277a7b82698a588a05a0679a",mooAssetAddress:"0x2C850cceD00ce2b14AA9D658b7Cad5dF659493Db",mooAssetVaultAddress:pe}),on[se]=Wn({vaultType:"YEARN",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"WETH","Wrapped Ether"),underlyingPriceSourceAddress:"0x425eA1422DBF9764D9f84e6d581c3e0187C5A340",mooAssetAddress:"0xCe2Fc0bDc18BD6a4d9A725791A3DEe33F3a23BB7",mooAssetVaultAddress:se}),on[ue]=Wn({vaultType:"YEARN",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",18,"DAI","Dai Stablecoin"),underlyingPriceSourceAddress:"0x91d5DEFAFfE2854C7D02F50c80FA1fdc8A721e52",mooAssetAddress:"0x637ec617c86d24e421328e6caea1d92114892439",mooAssetVaultAddress:ue}),on["0x5563Cc1ee23c4b17C861418cFF16641D46E12436"]=Wn({vaultType:"BEEFY",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"BTC","Bitcoin"),underlyingPriceSourceAddress:"0x8e94C22142F4A64b99022ccDd994f4e9EC86E4B4",mooAssetAddress:"0x97927abfe1abbe5429cbe79260b290222fc9fbba",mooAssetVaultAddress:"0x5563Cc1ee23c4b17C861418cFF16641D46E12436",collateralScaling:{liquidationScalingFactor:{scalingFactor:Math.pow(10,10),scaleVia:"div"}}}),on["0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146"]=Wn({vaultType:"BEEFY",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",18,"DAI","Dai Stablecoin"),underlyingPriceSourceAddress:"0x91d5DEFAFfE2854C7D02F50c80FA1fdc8A721e52",mooAssetAddress:"0x920786cff2A6f601975874Bb24C63f0115Df7dc8",mooAssetVaultAddress:"0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146"}),on["0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e"]=Wn({vaultType:"BEEFY",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"ETH","Ethereum"),underlyingPriceSourceAddress:"0x11DdD3d147E5b83D01cee7070027092397d63658",mooAssetAddress:"0x0a03D2C1cFcA48075992d810cc69Bd9FE026384a",mooAssetVaultAddress:"0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e"}),on["0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90"]=Wn({vaultType:"BEEFY",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Wrapped Fantom"),underlyingPriceSourceAddress:"0xf4766552D15AE4d256Ad41B6cf2933482B0680dc",mooAssetAddress:"0x49c68eDb7aeBd968F197121453e41b8704AcdE0C",mooAssetVaultAddress:"0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90"}),on["0x8e5e4D08485673770Ab372c05f95081BE0636Fa2"]=Wn({vaultType:"BEEFY",zapperAddress:vn,underlying:new Ke(exports.ChainId.FANTOM,"0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8",18,"LINK","ChainLink"),underlyingPriceSourceAddress:"0x221C773d8647BC3034e91a0c47062e26D20d97B4",mooAssetAddress:"0x6DfE2AAEA9dAadADf0865B661b53040E842640f8",mooAssetVaultAddress:"0x8e5e4D08485673770Ab372c05f95081BE0636Fa2"}),on["0x75D4aB6843593C111Eeb02Ff07055009c836A1EF"]=Wn({vaultType:"BEEFY",underlying:new Ke(exports.ChainId.FANTOM,"0xd6070ae98b8069de6B494332d1A1a81B6179D960",18,"BIFI","Beefy.Finance"),underlyingPriceSourceAddress:"0x4F5Cc6a2291c964dEc4C7d6a50c0D89492d4D91B",mooAssetAddress:"0xbF07093ccd6adFC3dEB259C557b61E94c1F66945",mooAssetVaultAddress:"0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",zapperAddress:vn}),on),yn);function wn(e){var t=e.perfToken,n=e.underlying,f=e.mooAssetVaultAddress,a=e.zapperAddress;return{underlyingPriceSourceAddress:e.underlyingPriceSourceAddress,perfToken:t,underlying:n,zapperAddress:a,zapInFunction:function(e,i,p,u){return new s.Contract(a,Lt,p).beefyZapToVault(e,i,n.address,t,f,He({},u))},zapOutFunction:function(e,i,p,u){return new s.Contract(a,Lt,p).beefyZapFromVault(e,i,n.address,t,f,He({},u))}}}wn({perfToken:"0x4fC050d75dBA5bF2d6EbD3667FFEc731A45B1f35",mooAssetVaultAddress:Ue,underlying:new Ke(exports.ChainId.ARBITRUM,"0xd85E038593d7A098614721EaE955EC2022B9B91B",18,"gDAI"),underlyingPriceSourceAddress:"0xc5C8E77B397E531B8EC06BFb0048328B30E9eCfB",zapperAddress:T});var Ln,Bn,gn,Nn,Jn,kn,Vn,Zn,_n,Kn,Qn,Gn="0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",Xn="0xd85E038593d7A098614721EaE955EC2022B9B91B",Yn="0x4fC050d75dBA5bF2d6EbD3667FFEc731A45B1f35",qn=((bn={})[exports.ChainId.MAINNET]=((rn={})["0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83"]=wn({perfToken:"0xE9D954a9A6A1a61bc1120970f84CDd76562c4a0c",mooAssetVaultAddress:"0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",underlying:new Ke(exports.ChainId.MAINNET,"0x5B8C556B8b2a78696F0B9B830B3d67623122E270",18,"yvCurve-stETH-f"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),rn["0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7"]=wn({perfToken:"0xf2833F5E72207D1Da1EEE7F8395Fb5f49895BBb4",mooAssetVaultAddress:"0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",underlying:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),rn["0x86f78d3cbCa0636817AD9e27a44996C738Ec4932"]=wn({perfToken:"0x3c82A9514327A93928108e9F00D89877F4beB6e3",mooAssetVaultAddress:"0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",underlying:new Ke(exports.ChainId.MAINNET,"0xa7739fd3d12ac7F16D8329AF3Ee407e19De10D8D",18,"mooConvexStETH"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),rn[Ae]=wn({perfToken:"0x97451025De0beef64c1A454bcF995de6FB8e0f2A",mooAssetVaultAddress:Ae,underlying:new Ke(exports.ChainId.MAINNET,G,18,"Coinbase Wrapped Staked ETH"),underlyingPriceSourceAddress:"0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419",zapperAddress:M}),rn[me]=wn({perfToken:"0x9414e766E8B59473599b9968aAf52CDCd07f59a9",mooAssetVaultAddress:me,underlying:new Ke(exports.ChainId.MAINNET,X,18,"Liquid staked Ether 2.0"),underlyingPriceSourceAddress:"0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419",zapperAddress:M}),rn),bn[exports.ChainId.ARBITRUM]=((Sn={})[Ue]={underlyingPriceSourceAddress:"0xc5C8E77B397E531B8EC06BFb0048328B30E9eCfB",depositTokens:[new Ke(exports.ChainId.ARBITRUM,Gn,18,"DAI"),new Ke(exports.ChainId.ARBITRUM,Xn,18,"gDAI")],perfToken:Yn,withdrawToken:new Ke(exports.ChainId.ARBITRUM,Xn,18,"gDAI"),zapperAddresses:(dn={},dn[Gn]=E,dn[Xn]=T,dn),zapOutFunction:function(e,t,n,f){return new s.Contract(T,Lt,n).beefyZapFromVault(e,t,Xn,Yn,Ue,He({},f))},zapInFunctions:(ln={},ln[Gn]=function(e,t,n,f){return ut.connect(E,n).gainsZapToVault(e,t,Gn,Xn,Yn,Ue,He({},f))},ln[Xn]=function(e,t,n,f){return new s.Contract(T,Lt,n).beefyZapToVault(e,t,Xn,Yn,Ue,He({},f))},ln)},Sn[De]=wn({perfToken:"0xe7d5De69F42881cFEABAc44eaf9c782A08B083B8",mooAssetVaultAddress:De,underlying:new Ke(exports.ChainId.ARBITRUM,"0xe4DDDfe67E7164b0FE14E218d80dC4C08eDC01cB",18,"KNC","Kyber Network Crystal (v2)"),underlyingPriceSourceAddress:"0xbF539d4c2106dd4D9AB6D56aed3d9023529Db145",zapperAddress:T}),Sn[ce]=wn({perfToken:"0xf05f0e8760cE9a32df05549309ebEF7Ddb2190Fe",mooAssetVaultAddress:ce,underlying:new Ke(exports.ChainId.ARBITRUM,"0x9E75f8298e458B76382870982788988A0799195b",18,"mooCurveWSTETH","Moo Curve wstETH"),underlyingPriceSourceAddress:"0x07C5b924399cc23c24a95c8743DE4006a32b7f2a",zapperAddress:T}),Sn),bn[exports.ChainId.OPTIMISM]=((Un={})[ye]=wn({perfToken:"0x926B92B15385981416a5E0Dcb4f8b31733d598Cf",mooAssetVaultAddress:ye,underlying:new Ke(exports.ChainId.OPTIMISM,"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",18,"wstETH","Wrapped liquid staked Ether 2.0"),underlyingPriceSourceAddress:"0x41878779a388585509657CE5Fb95a80050502186",zapperAddress:b}),Un["0x7198FF382b5798dAb7DC72a23C1fec9dc091893B"]=(Ln={underlyingPriceSourceAddress:"0x13e3ee699d1909e989722e753853ae30b17e08c5",perfToken:"0x22f39d6535df5767f8f57fee3b2f941410773ec4",mooAssetAddress:"0x5B977577Eb8a480f63e11FC615D6753adB8652Ae",mooAssetVaultAddress:"0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",zapperAddress:m,underlying:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether")},Jn=Ln.mooAssetVaultAddress,{underlyingPriceSourceAddress:Ln.underlyingPriceSourceAddress,perfToken:Bn=Ln.perfToken,underlying:gn=Ln.underlying,mooAssetAddress:Nn=Ln.mooAssetAddress,zapperAddress:kn=Ln.zapperAddress,zapInFunction:function(e,t,n,f){return new s.Contract(kn,Bt,n).beefyZapToVault(e,t,gn.address,Nn,Bn,Jn,He({},f))},zapOutFunction:function(e,t,n,f){return new s.Contract(kn,Bt,n).beefyZapFromVault(e,t,gn.address,Nn,Bn,Jn,He({},f))}}),Un["0xa478E708A27853848C6Bc979668fe6225FEe46Fa"]=wn({underlyingPriceSourceAddress:"0x41878779a388585509657CE5Fb95a80050502186",perfToken:"0x480798FAC621adD14113ECC82638305c260cEaf1",underlying:new Ke(exports.ChainId.OPTIMISM,"0x0892a178c363b4739e5Ac89E9155B9c30214C0c0",18,"mooCurveWSTETH","Moo Curve wstETH"),mooAssetVaultAddress:"0xa478E708A27853848C6Bc979668fe6225FEe46Fa",zapperAddress:b}),Un[re]=wn({perfToken:"0x80ff0aA765e49D451FF7C7D046f7e8ba732d8bb5",mooAssetVaultAddress:re,underlying:new Ke(exports.ChainId.ARBITRUM,"0xa00E3A3511aAC35cA78530c85007AFCd31753819",18,"KNC","Kyber Network Crystal (v2)"),underlyingPriceSourceAddress:"0xCB24d22aF35986aC1feb8874AdBbDF68f6dC2e96",zapperAddress:b}),Un),bn[exports.ChainId.MATIC]=((Dn={})[de]=wn({underlyingPriceSourceAddress:"0x97371dF4492605486e23Da797fA68e55Fc38a13f",perfToken:"0x4c8DFb55D08bD030814cB6fE774420f3C01a5EdB",underlying:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMATIC","Staked MATIC (PoS)"),mooAssetVaultAddress:de,zapperAddress:x}),Dn[le]=wn({underlyingPriceSourceAddress:"0x4746DeC9e833A82EC7C2C1356372CcF2cfcD2F3D",perfToken:"0x2DeA91E68FDC5693B63924c5FEE0a28cFb78a801",underlying:new Ke(exports.ChainId.MATIC,"0x91993f2101cc758D0dEB7279d41e880F7dEFe827",18,"gDAI","Gains Network DAI"),mooAssetVaultAddress:le,zapperAddress:x}),Dn[Se]=wn({underlyingPriceSourceAddress:"0x5d37E4b374E6907de8Fc7fb33EE3b0af403C7403",perfToken:"0x2acD702F7D35d3D2915663d7f7CbDF2863Ec6E79",underlying:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic (PoS)"),mooAssetVaultAddress:Se,zapperAddress:x}),Dn["0x3bcbAC61456c9C9582132D1493A00E318EA9C122"]=wn({underlyingPriceSourceAddress:"0x10f964234cae09cB6a9854B56FF7D4F38Cda5E6a",perfToken:"0xcC03032fBf096F14a2DE8809c79d8b584151212B",underlying:new Ke(exports.ChainId.MATIC,"0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD",18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:"0x3bcbAC61456c9C9582132D1493A00E318EA9C122",zapperAddress:x}),Dn),bn[exports.ChainId.BASE]=((cn={})[be]=wn({underlyingPriceSourceAddress:"0x5e5CcE0ac9375937D264d0aaf680C5261f95e3ff",perfToken:"0xC765D6B7eA9D4b9CcD8cBAdbB0e4726d68e195E4",underlying:new Ke(exports.ChainId.MAINNET,q,18,"Coinbase Wrapped Staked ETH"),mooAssetVaultAddress:be,zapperAddress:"0x70dD6dEf31E7285EcA5d2341FD9136A786c29422"}),cn[Te]=wn({underlyingPriceSourceAddress:"0x19Cb63CCbfAC2f28B1fd79923f6aDfC096e6EBB4",perfToken:"0x96c8F7D6Ea190df5c5eF2EbAb6ecd2a86262b810",underlying:new Ke(exports.ChainId.LINEA,z,18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:Te,zapperAddress:"0x70dD6dEf31E7285EcA5d2341FD9136A786c29422"}),cn),bn[exports.ChainId.XDAI]=((An={})[xe]=wn({underlyingPriceSourceAddress:"0xAB91c51b55F7Dd7B34F2FD7217506fD5b632B2B9",perfToken:"0x87A1b336872b710F38C3D99d23624653B2f75088",underlying:new Ke(exports.ChainId.XDAI,j,18,"sDAI","Staked DAI"),mooAssetVaultAddress:xe,zapperAddress:"0xb9e1b02e3a3a58b2c48e5ea3d830007e9d6d2e0b"}),An),bn[exports.ChainId.LINEA]=((mn={})["0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D"]=wn({underlyingPriceSourceAddress:"0xe333292A460ec04720f62d035Cb93C36bC1c3EDa",perfToken:"0xFf0756582c66D59F3C1bd413F7D0A720c99B9992",underlying:new Ke(exports.ChainId.LINEA,$,18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:"0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",zapperAddress:"0xD7Acff6De10A71710C05132eB771e96630Ae132b"}),mn),bn),zn=((Tn={})[exports.ChainId.MATIC]="0xd8d22817D216164D09Ca5909A70bEcA608D65Aa9",Tn),jn=((En={})[exports.ChainId.MATIC]=((xn={})["0x88d84a85A87ED12B8f098e8953B322fF789fCD1a"]={underlyingPriceSourceAddress:"0xAB594600376Ec9fD91F8e885dADF0CE036862dE0",underlying:new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped MATIC"),amTokenAddress:"0x8dF3aad3a84da6b69A4DA8aeC3eA40d9091B2Ac4",camTokenAddress:"0x7068Ea5255cb05931EFa8026Bd04b18F3DeB8b0B"},xn[ee]={underlyingPriceSourceAddress:"0xF9680D99D6C9589e2a93a78A04A279e509205945",underlying:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),amTokenAddress:"0x28424507fefb6f7f8E9D3860F56504E4e5f5f390",camTokenAddress:"0x0470CD31C8FcC42671465880BA81D631F0B76C1D"},xn[te]={underlyingPriceSourceAddress:"0x72484B12719E23115761D5DA1646945632979bB6",underlying:new Ke(exports.ChainId.MATIC,"0xD6DF932A45C0f255f85145f286eA0b292B21C90B",18,"AAVE","Aave"),amTokenAddress:"0x1d2a0E5EC8E5bBDCA5CB219e649B565d8e5c3360",camTokenAddress:"0xeA4040B21cb68afb94889cB60834b13427CFc4EB"},xn[ne]={underlyingPriceSourceAddress:"0xDE31F8bFBD8c84b5360CFACCa3539B938dd78ae6",underlying:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),amTokenAddress:"0x5c2ed810328349100A66B82b78a1791B101C9D61",camTokenAddress:"0xBa6273A78a23169e01317bd0f6338547F869E8Df"},xn[fe]={underlyingPriceSourceAddress:"0x4746DeC9e833A82EC7C2C1356372CcF2cfcD2F3D",underlying:new Ke(exports.ChainId.MATIC,"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",18,"DAI","Dai Stablecoin"),amTokenAddress:"0x27F8D03b3a2196956ED754baDc28D73be8830A6e",camTokenAddress:"0xE6C23289Ba5A9F0Ef31b8EB36241D5c800889b7b"},xn),En);function $n(e,t,n){return void 0===n&&(n=18),function(f,a){return new Ke(f,a,n,e,t)}}var ef=$n("LDO","Lido"),tf=((Vn={})[exports.ChainId.MATIC]=ef(exports.ChainId.MATIC,"0xC3C7d422809852031b44ab29EEC9F1EfF2A58756"),Vn),nf=$n("METIS","Metis"),ff=((Zn={})[exports.ChainId.METIS]=nf(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"),Zn),af=$n("SD","Stader Labs"),pf=((_n={})[exports.ChainId.MATIC]=af(exports.ChainId.MATIC,"0x1d734A02eF1e1f5886e66b0673b71Af5B53ffA94"),_n),sf=$n("QI","QiDao"),uf=((Kn={})[exports.ChainId.MAINNET]=sf(exports.ChainId.MAINNET,"0x559b7bfC48a5274754b08819F75C5F27aF53D53b"),Kn[exports.ChainId.MATIC]=sf(exports.ChainId.MATIC,"0x580A84C73811E1839F75d86d75d88cCa0c241fF4"),Kn[exports.ChainId.FANTOM]=sf(exports.ChainId.FANTOM,"0x68Aa691a8819B07988B18923F712F3f4C8d36346"),Kn[exports.ChainId.AVALANCHE]=sf(exports.ChainId.AVALANCHE,"0xA56F9A54880afBc30CF29bB66d2D9ADCdcaEaDD6"),Kn[exports.ChainId.ARBITRUM]=sf(exports.ChainId.ARBITRUM,"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC"),Kn[exports.ChainId.BOBA]=sf(exports.ChainId.BOBA,"0xC85C1ce70C4Bf751a73793D735e9D0209152F13d"),Kn[exports.ChainId.XDAI]=sf(exports.ChainId.XDAI,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Kn[exports.ChainId.METIS]=sf(exports.ChainId.METIS,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Kn[exports.ChainId.OPTIMISM]=sf(exports.ChainId.OPTIMISM,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Kn[exports.ChainId.BSC]=sf(exports.ChainId.BSC,"0xdDC3D26BAA9D2d979F5E2e42515478bf18F354D5"),Kn),Ff=$n("MAI","MAI (miMatic)"),Pf=((Qn={})[exports.ChainId.MAINNET]=Ff(exports.ChainId.MAINNET,"0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6"),Qn[exports.ChainId.MATIC]=Ff(exports.ChainId.MATIC,"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1"),Qn[exports.ChainId.FANTOM]=Ff(exports.ChainId.FANTOM,"0xfB98B335551a418cD0737375a2ea0ded62Ea213b"),Qn[exports.ChainId.AVALANCHE]=Ff(exports.ChainId.AVALANCHE,"0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b"),Qn[exports.ChainId.MOONBEAM]=Ff(exports.ChainId.MOONRIVER,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Qn[exports.ChainId.MOONRIVER]=Ff(exports.ChainId.MOONRIVER,"0xFb2019DfD635a03cfFF624D210AEe6AF2B00fC2C"),Qn[exports.ChainId.HARMONY]=Ff(exports.ChainId.HARMONY,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.CRONOS]=Ff(exports.ChainId.CRONOS,"0x2Ae35c8E3D4bD57e8898FF7cd2bBff87166EF8cb"),Qn[exports.ChainId.ARBITRUM]=Ff(exports.ChainId.ARBITRUM,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.BOBA]=Ff(exports.ChainId.BOBA,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.XDAI]=Ff(exports.ChainId.XDAI,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.METIS]=Ff(exports.ChainId.METIS,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Qn[exports.ChainId.BSC]=Ff(exports.ChainId.BSC,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.AURORA]=Ff(exports.ChainId.AURORA,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Qn[exports.ChainId.CELO]=Ff(exports.ChainId.CELO,"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC"),Qn[exports.ChainId.IOTEX]=Ff(exports.ChainId.IOTEX,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.OPTIMISM]=Ff(exports.ChainId.OPTIMISM,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Qn[exports.ChainId.KAVA]=Ff(exports.ChainId.KAVA,"0xb84Df10966a5D7e1ab46D9276F55d57bD336AFC7"),Qn[exports.ChainId.DOGECHAIN]=Ff(exports.ChainId.DOGECHAIN,"0xb84Df10966a5D7e1ab46D9276F55d57bD336AFC7"),Qn[exports.ChainId.ZKEVM]=Ff(exports.ChainId.ZKEVM,"0x27a4BF80C2d63E42437258533dac7eAFF9881bdB"),Qn[exports.ChainId.BASE]=Ff(exports.ChainId.BASE,"0xbf1aeA8670D2528E08334083616dD9C5F3B087aE"),Qn[exports.ChainId.LINEA]=Ff(exports.ChainId.LINEA,"0xf3B001D64C656e30a62fbaacA003B1336b4ce12A"),Qn);Object.defineProperty(exports,"JSBI",{enumerable:!0,get:function(){return d.default}}),exports.AAVE_ADDRESS=_,exports.ARBI_ARB_ADDRESS=Q,exports.ARBI_ARB_VAULT_ADDRESS="0x950eCEeE9E7D7366a24fC9D2Ed4C0c37d17a0Fa9",exports.ARBI_GAINS_ZAPPER=E,exports.ARBI_GDAI_VAULT_ADDRESS=Ue,exports.ARBI_KNC_VAULT_ADDRESS=De,exports.ARBI_THREE_STEP_ZAPPER=T,exports.ARBI_WSTETH_VAULT_ADDRESS=ce,exports.AVAX_ZAPPER_ADDRESS="0x1d0a9E2c445EB8f99767eF289832637921e6F6a5",exports.BASE_CBETH_ADDRESS=q,exports.BASE_CBETH_VAULT_ADDRESS=be,exports.BASE_THREE_STEP_ZAPPER="0x70dD6dEf31E7285EcA5d2341FD9136A786c29422",exports.BASE_WETH_ADDRESS="0x4200000000000000000000000000000000000006",exports.BASE_WETH_VAULT_ADDRESS="0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6",exports.BASE_WSTETH_ADDRESS=z,exports.BASE_WSTETH_VAULT_ADDRESS=Te,exports.BeefyZapper=gt,exports.CAMAAVE_VAULT_ADDRESS=te,exports.CAMDAI_VAULT_ADDRESS=fe,exports.CAMWBTC_VAULT_ADDRESS=ne,exports.CAMWETH_VAULT_ADDRESS=ee,exports.CAMWMATIC_VAULT_ADDRESS="0x88d84a85A87ED12B8f098e8953B322fF789fCD1a",exports.CAMZAPPER_ADDRESS=zn,exports.CAM_META=jn,exports.COLLATERALS=On,exports.CrosschainNativeQiStablecoin__factory=dt,exports.CrosschainQiStablecoinSlimV2__factory=At,exports.CrosschainQiStablecoinSlim__factory=Dt,exports.CrosschainQiStablecoinV2__factory=bt,exports.CrosschainQiStablecoin__factory=St,exports.CrosschainQiStablecoinwbtc__factory=xt,exports.Currency=Ve,exports.CurrencyAmount=at,exports.DISCRIMINATOR_TO_ABI=qt,exports.ETHER=_e,exports.ETH_BEEFY_CONVEX_STETH_VAULT_ADDRESS="0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",exports.ETH_CBETH_ADDRESS=G,exports.ETH_CBETH_VAULT_ADDRESS=Ae,exports.ETH_CRV_ADDRESS=K,exports.ETH_CRV_VAULT_ADDRESS="0xCA3EB45FB186Ed4e75B9B22A514fF1d4abAdD123",exports.ETH_LDO_ADDRESS=Y,exports.ETH_LDO_VAULT_ADDRESS="0x954ac12c339c60eafbb32213b15af3f7c7a0dec2",exports.ETH_SDSTECRV_VAULT_ADDRESS="0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",exports.ETH_STETH_ADDRESS=X,exports.ETH_STETH_VAULT_ADDRESS=me,exports.ETH_YVCURVE_STETH_F_VAULT_ADDRESS="0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",exports.Erc20QiStablecoincamwbtc__factory=Mt,exports.Erc20QiStablecoinwbtc__factory=Ot,exports.Erc20Stablecoin__factory=It,exports.FIVE=W,exports.FTM_ZAPPER_ADDRESS="0xE2379CB4c4627E5e9dF459Ce08c2342C696C4c1f",exports.Fraction=et,exports.GDAI_VAULT_ADDRESS=le,exports.GainsZapper__factory=ut,exports.INIT_CODE_HASH="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",exports.InsufficientInputAmountError=ge,exports.InsufficientReservesError=Be,exports.LDO=tf,exports.LINEA_THREE_STEP_ZAPPER="0xD7Acff6De10A71710C05132eB771e96630Ae132b",exports.LINEA_WBTC_ADDRESS="0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4",exports.LINEA_WBTC_VAULT_ADDRESS="0x8AB01c5Ee3422099156ab151eecB83c095626599",exports.LINEA_WETH_ADDRESS="0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",exports.LINEA_WETH_VAULT_ADDRESS="0x7f9Dd991e8fD0cBb52CB8Eb35DD35c474a9a7a70",exports.LINEA_WSTETH_ADDRESS=$,exports.LINEA_WSTETH_VAULT_ADDRESS="0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",exports.LINK_ADDRESS=oe,exports.MAI=Pf,exports.MAINNET_ZAPPER=M,exports.MATICX_MAI_VAULT_ADDRESS=Se,exports.MATIC_THREE_STEP_ZAPPER=x,exports.MATIC_WBTC_I_VAULT_ADDRESS="0x169d47043CC0c94c39fa327941c56CB0344dc508",exports.MATIC_WETH_I_VAULT_ADDRESS="0xB5B31E6A13aE856bc30b3C76B16eDaD9F432B54F",exports.MATIC_WSTETH_VAULT_ADDRESS="0x3bcbAC61456c9C9582132D1493A00E318EA9C122",exports.METIS=ff,exports.METIS_WBTC_ADDRESS=Z,exports.MINIMUM_LIQUIDITY=O,exports.MOO_BIFI_FTM_VAULT_ADDRESS="0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",exports.MOO_ETH_STETH_CRV_VAULT_ADDRESS="0xa478E708A27853848C6Bc979668fe6225FEe46Fa",exports.MOO_SCREAM_DAI_VAULT_ADDRESS="0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146",exports.MOO_SCREAM_ETH_VAULT_ADDRESS="0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e",exports.MOO_SCREAM_LINK_VAULT_ADDRESS="0x8e5e4D08485673770Ab372c05f95081BE0636Fa2",exports.MOO_SCREAM_WBTC_VAULT_ADDRESS="0x5563Cc1ee23c4b17C861418cFF16641D46E12436",exports.MOO_SCREAM_WFTM_VAULT_ADDRESS="0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90",exports.MOO_WAVAX_VAULT_ADDRESS=Fe,exports.MULTICALL_NETWORKS=N,exports.OG_MATIC_VAULT=A,exports.ONE=I,exports.OP_KNC_VAULT_ADDRESS=re,exports.OP_QI_ZAPPER=m,exports.OP_THREE_STEP_ZAPPER=b,exports.PERF_TOKEN_ZAP_META=qn,exports.Percent=nt,exports.Price=pt,exports.ProtocolInfo=Cn,exports.QI=uf,exports.QiStablecoin__factory=yt,exports.QiZappah=Bt,exports.SCROLL_THREE_STEP_ZAPPER="0xD7Acff6De10A71710C05132eB771e96630Ae132b",exports.SD=pf,exports.SOLIDITY_TYPE_MAXIMA=g,exports.STETH_ADDRESS=V,exports.STMATIC_MAI_VAULT_ADDRESS=de,exports.StableQiVault__factory=vt,exports.TEN=h,exports.THREE=v,exports.TOKEN_DESCRIPTIONS=J,exports.TWO=R,exports.ThreeStepQiZapper=Lt,exports.Token=Ke,exports.TokenAmount=it,exports.WETH_ADDRESS=Pe,exports.WFTM_ADDRESS=k,exports.WNATIVE=Ye,exports.WSTETH_VAULT_ADDRESS=ye,exports.XDAI_SDAI_ADDRESS=j,exports.XDAI_SDAI_VAULT_ADDRESS=xe,exports.XDAI_THREE_STEP_ZAPPER="0xb9e1b02e3a3a58b2c48e5ea3d830007e9d6d2e0b",exports.YVDAI_VAULT_ADDRESS=ue,exports.YVETH_VAULT_ADDRESS="0xEcbd32bD581e241739be1763DFE7a8fFcC844ae1",exports.YVLINK_VAULT_ADDRESS="0x60d133c666919B54a3254E0d3F14332cB783B733",exports.YVWBTC_VAULT_ADDRESS=ie,exports.YVWETH_OPTIMISM_VAULT_ADDRESS="0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",exports.YVWETH_VAULT_ADDRESS=se,exports.YVWFTM_VAULT_ADDRESS=ae,exports.YVYFI_VAULT_ADDRESS=pe,exports.ZAP_META=hn,exports.ZERO=C,exports.ZKEVM_WETH_ADDRESS="0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",exports.ZKEVM_WETH_VAULT_ADDRESS="0xdb1103a8F51823f5a2439c52C06921CDF929F6A7",exports.ZKEVM_WMATIC_ADDRESS="0xa2036f0538221a77A3937F1379699f44945018d0",exports.ZKEVM_WMATIC_VAULT_ADDRESS="0x8AB01c5Ee3422099156ab151eecB83c095626599",exports._100=w,exports._1000=B,exports._997=L,exports.beefyZapFromVault=In,exports.beefyZapToVault=Rn,exports.crosschainNativeQiStablecoin=Nt,exports.crosschainQiStablecoin=Jt,exports.crosschainQiStablecoinSlim=kt,exports.crosschainQiStablecoinSlimV2=Vt,exports.crosschainQiStablecoinV2=Zt,exports.crosschainQiStablecoinwbtc=_t,exports.currencyEquals=Qe,exports.erc20QiStablecoincamwbtc=Kt,exports.erc20QiStablecoinwbtc=Qt,exports.erc20Stablecoin=Gt,exports.factories=wt,exports.gainsZapper=[{inputs:[],name:"MustBeNominated",type:"error"},{inputs:[],name:"NotOwnerError",type:"error"},{inputs:[],name:"OwnerCannotBeZero",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract GDAY",name:"amToken",type:"address"},{internalType:"contract pToken",name:"_pToken",type:"address"},{internalType:"contract IStableQiVault",name:"pTokenVault",type:"address"}],internalType:"struct gainsZapper.GChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"}],exports.isGaugeValid=function(e){return void 0!==e.snapshotName&&!e.deprecated},exports.isV2QiVault=function(e){return 2===e.version},exports.qiStablecoin=Xt,exports.stableQiVault=Yt;
1
+ var e=require("jsbi"),t=require("tiny-invariant"),n=require("tiny-warning"),f=require("@ethersproject/address"),a=require("decimal.js-light"),i=require("big.js"),p=require("toformat"),s=require("ethers");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var F,o,P,y,r,d=/*#__PURE__*/u(e),l=/*#__PURE__*/u(t),S=/*#__PURE__*/u(n),U=/*#__PURE__*/u(a),D=/*#__PURE__*/u(i),c=/*#__PURE__*/u(p),A="0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",m="0xB0aed7923f7fBEAf5bb2caa4A049A51d638Be2c9",b="0x1D864EDCA89b99580C46CEC4091103D7fb85aDCF",T="0x83D41737d086033A9c3acE2F1Ad9350d7d91cf02",x="0x652195e546A272c5112DF3c1b5fAA65591320C95",E="0xeA97a391aD06a1F81C565CE29Fd4AD09c6FBE1B9",M="0x5AA5079A8037f9D050D838AEFCe10bA7B8b8b001";exports.ChainId=void 0,(P=exports.ChainId||(exports.ChainId={}))[P.MAINNET=1]="MAINNET",P[P["GÖRLI"]=5]="GÖRLI",P[P.KOVAN=42]="KOVAN",P[P.MATIC=137]="MATIC",P[P.MATIC_TESTNET=80001]="MATIC_TESTNET",P[P.FANTOM=250]="FANTOM",P[P.FANTOM_TESTNET=4002]="FANTOM_TESTNET",P[P.XDAI=100]="XDAI",P[P.BSC=56]="BSC",P[P.BSC_TESTNET=97]="BSC_TESTNET",P[P.ARBITRUM=42161]="ARBITRUM",P[P.MOONBASE=1287]="MOONBASE",P[P.AVALANCHE=43114]="AVALANCHE",P[P.FUJI=43113]="FUJI",P[P.HECO=128]="HECO",P[P.HECO_TESTNET=256]="HECO_TESTNET",P[P.HARMONY=16666e5]="HARMONY",P[P.HARMONY_TESTNET=16667e5]="HARMONY_TESTNET",P[P.MOONRIVER=1285]="MOONRIVER",P[P.CRONOS=25]="CRONOS",P[P.OPTIMISM=10]="OPTIMISM",P[P.SYSCOIN=57]="SYSCOIN",P[P.METIS=1088]="METIS",P[P.MOONBEAM=1284]="MOONBEAM",P[P.MILKOMEDA=2001]="MILKOMEDA",P[P.KAVA=2222]="KAVA",P[P.IOTEX=4689]="IOTEX",P[P.KLAYTN=8217]="KLAYTN",P[P.CELO=42220]="CELO",P[P.AURORA=1313161554]="AURORA",P[P.BOBA=288]="BOBA",P[P.CUBE=1818]="CUBE",P[P.CANTO=7700]="CANTO",P[P.DOGECHAIN=2e3]="DOGECHAIN",P[P.ZKEVM=1101]="ZKEVM",P[P.BASE=8453]="BASE",P[P.LINEA=59144]="LINEA",P[P.SCROLL=534352]="SCROLL",P[P.FRAXTAL=252]="FRAXTAL",exports.TradeType=void 0,(y=exports.TradeType||(exports.TradeType={}))[y.EXACT_INPUT=0]="EXACT_INPUT",y[y.EXACT_OUTPUT=1]="EXACT_OUTPUT",exports.Rounding=void 0,(r=exports.Rounding||(exports.Rounding={}))[r.ROUND_DOWN=0]="ROUND_DOWN",r[r.ROUND_HALF_UP=1]="ROUND_HALF_UP",r[r.ROUND_UP=2]="ROUND_UP";var H,O=d.default.BigInt(1e3),C=d.default.BigInt(0),I=d.default.BigInt(1),R=d.default.BigInt(2),v=d.default.BigInt(3),W=d.default.BigInt(5),h=d.default.BigInt(10),w=d.default.BigInt(100),L=d.default.BigInt(997),B=d.default.BigInt(1e3);exports.SolidityType=void 0,(H=exports.SolidityType||(exports.SolidityType={})).uint8="uint8",H.uint256="uint256";var g=((F={})[exports.SolidityType.uint8]=d.default.BigInt("0xff"),F[exports.SolidityType.uint256]=d.default.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),F),N=((o={})[exports.ChainId.MAINNET]="0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441",o[exports.ChainId.KOVAN]="0x2cc8688C5f75E365aaEEb4ea8D6a480405A48D2A",o[exports.ChainId.GÖRLI]="0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e",o[exports.ChainId.FANTOM]="0x63B8310c5093ac917552931D8b15d5AB6945c0a6",o[exports.ChainId.FANTOM_TESTNET]="",o[exports.ChainId.MATIC]="0x95028E5B8a734bb7E2071F96De89BABe75be9C8E",o[exports.ChainId.MATIC_TESTNET]="0x9Fc8e50Eb08C1F463b45d1AFb9c261B0a1903006",o[exports.ChainId.XDAI]="0xb5b692a88BDFc81ca69dcB1d924f59f0413A602a",o[exports.ChainId.BSC]="0xe348b292e8eA5FAB54340656f3D374b259D658b8",o[exports.ChainId.BSC_TESTNET]="0xe348b292e8eA5FAB54340656f3D374b259D658b8",o[exports.ChainId.ARBITRUM]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",o[exports.ChainId.MOONBASE]="0x9B7D5fa91b4747031d8E7807DaEC906F0f683E78",o[exports.ChainId.AVALANCHE]="0x0FB54156B496b5a040b51A71817aED9e2927912E",o[exports.ChainId.FUJI]="0x0053957E18A0994D3526Cf879A4cA7Be88e8936A",o[exports.ChainId.HECO]="0xc9a9F768ebD123A00B52e7A0E590df2e9E998707",o[exports.ChainId.HECO_TESTNET]="0x935Bfe9AfaA2Be26049ea4EDE40A3A2243361F87",o[exports.ChainId.HARMONY]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.HARMONY_TESTNET]="0xbcd3451992B923531615293Cb2b2c38ba8DE9529",o[exports.ChainId.MOONRIVER]="0xe05349d6fE12602F6084550995B247a5C80C0E2C",o[exports.ChainId.CRONOS]="0xA25da25BD11A26F1dd4ea195948305fb7C8cA102",o[exports.ChainId.OPTIMISM]="0x142e2feac30d7fc3b61f9ee85fccad8e560154cc",o[exports.ChainId.SYSCOIN]="",o[exports.ChainId.METIS]="0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",o[exports.ChainId.MOONBEAM]="0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",o[exports.ChainId.MILKOMEDA]="",o[exports.ChainId.KAVA]="",o[exports.ChainId.IOTEX]="0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",o[exports.ChainId.KLAYTN]="0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",o[exports.ChainId.CELO]="0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",o[exports.ChainId.AURORA]="0x32b50c286DEFd2932a0247b8bb940b78c063F16c",o[exports.ChainId.BOBA]="0xfb91c019D9F12A0f9c23B4762fa64A34F8daDb4A",o[exports.ChainId.CUBE]="",o[exports.ChainId.CANTO]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.DOGECHAIN]="0xa51317d3365e8Ac0758bf3962A63892F612b942E",o[exports.ChainId.ZKEVM]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.BASE]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.LINEA]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.SCROLL]="0xcA11bde05977b3631167028862bE2a173976CA11",o[exports.ChainId.FRAXTAL]="0xcA11bde05977b3631167028862bE2a173976CA11",o),J={weth:{shortDescription:"Wrapped ETH (WETH) is originally the ERC-20 compatible token pegged 1:1 of ETH on the Ethereum. It was first developed and implemented by a group of Ethereum projects led by 0x labs. Generally, all ETH assets on other blockchains rather than Ethereum could be categorized as wrapped ETH. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WETH_WETH.png",name:"Wrapped ETH"},"wrapped-bitcoinwbtc":{shortDescription:"Wrapped Bitcoin ($WBTC) is the first ERC-20 token that represents Bitcoin ($BTC) on the Ethereum blockchain. WBTC is created in 2019 by BitGo, Kyber and Ren. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedBitcoin_WBTC.png",name:"Wrapped Bitcoin"},"lido-staked-ether":{shortDescription:"Lido Staked Ether ($stETH) is a staked $ETH in Lido based on multiple networks, combining the value of the initial deposit and staking rewards. The Lido is an Ethereum Liquid Staking Protocol, built on Ethereum 2.0's Beacon chain, allowing its users to earn staking rewards on the Beacon chain without locking Ether or maintaining staking infrastructure. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoStakedEther_stETH.png",name:"Lido Staked Ether"},"yearn-finance":{shortDescription:"Yearn Finance is a suite of decentralized finance (DeFi) products on Ethereum that let users optimize their earnings on crypto assets through lending and trading services. The ecosystem is controlled by YFI token holders who submit and vote on proposals that govern the platform.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/yearn.finance_YFI.jpeg",name:"yearn.finance"},chainlink:{shortDescription:"The Chainlink token ($LINK) is an ERC-677 token used as the payment for all services the Chainlink Network provides. Chainlink is a decentralized oracle network, which aims to serve as a middleware between smart contracts on smart contracting platforms and external data sources, allowing smart contracts to securely access off-chain data feeds.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Chainlink_LINK.png",name:"Chainlink"},"curve-finance":{shortDescription:"Curve Finance is a decentralized exchange on multi-chains optimized for low slippage swaps between stablecoins or similar assets that peg to the same value (e.g. WBTC/renBTC) through employment of an Automated Market Maker.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/CurveFinance_CRV.jpeg",name:"Curve Finance"},"coinbase-wrapped-staked-eth":{shortDescription:"$cbETH is a wrapped token issued by Coinbase on the Ethereum blockchain for $ETH stakers.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/CoinbaseWrappedStakedETH_CBETH.png",name:"Coinbase Wrapped Staked ETH"},"lido-dao-token":{shortDescription:"Lido DAO provides decentralized liquid staking solutions for Ethereum and other PoS chains, allowing the staked assets to remain liquid and therefore able to earn extra yield across other DeFi applications.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoDAOToken_LDO.png",name:"Lido DAO Token"},optimism:{shortDescription:"Optimism ($OP) is an Layer-2 scaling solution of Ethereum using optimistic rollup.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Optimism_OP.jpeg",name:"Optimism"},daidai:{shortDescription:"$DAI is a decentralized collateral stable coin soft-pegged to the US Dollar issued by MakerDAO.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dai_DAI.png",name:"Dai"},"kyber-network-crystal":{shortDescription:"Kyber Network is a multi-chain crypto trading and liquidity hub for decentralized applications.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/KyberNetworkCrystal_KNC.jpg",name:"Kyber Network Crystal"},"wrapped-bnb":{shortDescription:"Wrapped BNB is a wrapped version of the BNB native tokens on the BEP-20 standard on the Binance Smart Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedBNB_WBNB.png",name:"Wrapped BNB"},pancakeswap:{shortDescription:"PancakeSwap is a decentralized exchange for swapping BEP20 tokens on BNB Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/PancakeSwap_CAKE.jpeg",name:"PancakeSwap"},dodo:{shortDescription:"DODO is a decentralized exchange platform which adopts the Proactive Market Maker (PMM) algorithm on Ethereum and BNB Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/DODO_DODO.png",name:"DODO"},gnosis:{shortDescription:"GnosisDAO ($GNO) is a Web 3.0 project to build a decentralized infrastructure for the Ethereum ecosystem, founded in 2015 with an initial focus on building a decentralized prediction marketplace.​",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Gnosis_GNO.jpeg",name:"GnosisDAO"},"wrapped-matic":{shortDescription:"Wrapped Matic (WMATIC) is a token within the Polygon (previously Matic) network that represents MATIC in a wrapped form. This concept is similar to Wrapped Bitcoin (WBTC) or Wrapped Ether (WETH) on the Ethereum blockchain. The main function of this token is to facilitate transactions and interaction between the Ethereum and Polygon blockchains.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/WrappedMatic_WMATIC.jpeg",name:"Wrapped Matic"},aave:{shortDescription:"Aave is a decentralized finance lending protocol built on multiple blockchains that allow people to lend and borrow crypto. It was previously known as ETHLend when it was founded in November 2017 by Stani Kulechov.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Aave_AAVE.png",name:"Aave"},balancer:{shortDescription:"Balancer is an AMM-based DEX, an automated portfolio management tool and a price sensor on Ethereum. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Balancer_BAL.png",name:"Balancer"},quickswap:{shortDescription:"QuickSwap, a fork of Uniswap, is a DEX on Polygon that facilitates token swaps at lower cost relative to exchanges like Uniswap v2.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/QuickSwap(OLD)_QUICK.jpeg",name:"QuickSwap"},"dragon-s-quick":{shortDescription:"",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dragon'sQuick_DQUICK.png",name:"Dragon's Quick"},aavegotchi:{shortDescription:"Aavegotchi ($GHST) is an open-source, community-owned NFT gaming protocol on Polygon and Ethereum.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Aavegotchi_GHST.jpeg",name:"Aavegotchi"},"stake-dao-crv":{shortDescription:"Stake DAO is a non-custodial platform that enables anyone to easily grow their crypto portfolio, and $sdCRV is the governance token of Curve.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/StakeDAOCRV_SDCRV.png",name:"Stake DAO CRV"},tether:{shortDescription:"Tether ($USDT) is an asset-backed cryptocurrency stablecoin launched by Tether Limited Inc, whose value is pegged to the US dollar.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Tether_USDT.png",name:"Tether"},"usd-coin":{shortDescription:"$USDC provides a fully collateralized US dollar stablecoin based on the open-source asset-backed stablecoin framework developed by Centre, an independent, member-based consortium founded by Coinbase and Circle in 2018.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/USDCoin_USDC.png",name:"USD Coin"},"frax-share":{shortDescription:"Frax share (FXS) is the governance token of Frax Protocol. The Frax Protocol is the first fractional-algorithmic stablecoin system. Frax is open-source, permissionless, and entirely on-chain – currently implemented on Ethereum, Avalanche, BSC, Fantom and Solana. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/FraxShare_FXS.png",name:"Frax Share"},ethereum:{shortDescription:"Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (ETH or Ξ) is the native cryptocurrency of the platform. Ethereum was proposed in 2013 by programmer Vitalik Buterin. Development was crowdfunded in 2014, and the network went live on 30 July 2015.",logo:"https://s2.tokeninsight.com/static/coins/img/content/imgUrl/Ethereum-ETH.png",name:"Ethereum"},cardano:{shortDescription:"Cardano is an PoS based open-source, smart-contract platform that aims to provide multiple features through layered design. Its modularization will eventually allow for network delegation, sidechains, and light client data structures. The network native token called $ADA, which gives stakers a claim on new issuance in proportion to their holdings and allows users to pay for transactions.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Cardano_ADA.jpeg",name:"Cardano"},dogecoin:{shortDescription:"Dogecoin ($DOGE) is the world's first community-driven meme coin that features the Shiba Inu meme. It was created in 2013 as a fork of Lucky Coin – a fork of Litecoin, which is a fork of Bitcoin.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Dogecoin_DOGE.png",name:"Dogecoin"},celsius:{shortDescription:"Celsius is a democratized reward-earning and crypto lending platform accessible via a mobile app. ",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Celsius_CEL.png",name:"Celsius"},"the-sandbox":{shortDescription:"The Sandbox is a Metaverse Play-to-Earn project on Ethereum where players can create NFTs, earn upload them to an in-game marketplace and integrate them into the games. $SAND is the ERC-20 token that can be used all across The Sandbox metaverse.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/TheSandbox_SAND.jpeg",name:"The Sandbox"},"mai-finance":{shortDescription:"Decentralized collateral stable coin on multi-chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/MaiFinance_MIMATIC.jpeg",name:"Mai Finance"},"lido-staked-matic":{shortDescription:"Lido on Polygon is a liquid staking solution for MATIC backed by industry-leading staking providers.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/LidoStakedMatic_STMATIC.png",name:"Lido Staked Matic"},gns:{shortDescription:"Gains Network or GNS is a decentralized trading platform. It provides users with both crypto and forex trading options with leverage.",logo:"https://gainsnetwork.io/images/logo_header.png",name:"Gains Network (GNS)"},"stader-maticx":{shortDescription:"Staked Matic on Stader.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/StaderMaticX_MATICX.jpg",name:"Stader MaticX"},fantom:{shortDescription:"Fantom is a DAG-based Layer-1 smart-contract platform founded by Andre Cronje featuring a self-developed Lachesis Protocol, which is its aBFT consensus mechanism that makes Fantom more cost-efficient.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Fantom_FTM.png",name:"Fantom"},sushiswap:{shortDescription:"SushiSwap is a decentralized exchange built on Ethereum that utilizes an automated market making system rather than a traditional order-book.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/SushiSwap_SUSHI.png",name:"SushiSwap"},"beefy-finance":{shortDescription:"Beefy Finance ($BIFI) is a decentralized, multi-chain yield optimizer platform that allows its users to earn compound interest on their crypto holdings.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/BeefyFinance_BIFI.jpg",name:"Beefy Finance"},spookyswap:{shortDescription:"SpookySwap is an automated market-making (AMM) decentralized exchange (DEX) for the Fantom Opera network and its smart contract is built on Fantom, Avalanche, and Ethereum.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Spookyswap_BOO.jpeg",name:"Spookyswap"},"metis-token":{shortDescription:"Metis ($METIS) is a Ethereum Layer 2 (Optimism rollup) solution. It is compatible with Ethereum layer 1, and aims to solve some of Ethereum’s biggest challenges, including scalability, transaction speed, and high gas fees.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/MetisToken_METIS.png",name:"Metis Token"},moonbeam:{shortDescription:"Moonbeam is an Ethereum-compatible smart contract parachain on Polkadot. $GLMR is the utility token.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Moonbeam_GLMR.jpeg",name:"Moonbeam"},moonriver:{shortDescription:"Moonriver is an Ethereum-compatible smart-contract parachain on Kusama. It is also a companion canary network to Moonbeam.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Moonriver_MOVR.png",name:"Moonriver"},arbitrum:{shortDescription:"Arbitrum is a layer 2 Ethereum scaling solution for smart contracts.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Arbitrum_-.jpeg",name:"Arbitrum"},avalanche:{shortDescription:"Avalanche is an open-source decentralized smart contracts platform for DeFi applications. It is also a PoS public Chain.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Avalanche_AVAX.png",name:"Avalanche"},harmony:{shortDescription:"Harmony ($ONE) is an Ethereum-based cross-chain platform designed to facilitate the creation and use of decentralized applications by sharding and scaling.",logo:"https://s2.tokeninsight.com/static/coins/img/currency/Harmony_ONE.jpeg",name:"Harmony"}},k="0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",V="0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",Z="0xa5B55ab1dAF0F8e1EFc0eB1931a957fd89B918f4",_="0xD6DF932A45C0f255f85145f286eA0b292B21C90B",K="0xD533a949740bb3306d119CC777fa900bA034cd52",Q="0x912CE59144191C1204E64559FE8253a0e49E6548",G="0xBe9895146f7AF43049ca1c1AE358B0541Ea49704",X="0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",Y="0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",q="0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",z="0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",j="0xaf204776c7245bF4147c2612BF6e5972Ee483701",$="0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F",ee="0x11A33631a5B5349AF3F165d2B7901A4d67e561ad",te="0x578375c3af7d61586c2C3A7BA87d2eEd640EFA40",ne="0x7dDA5e1A389E0C1892CaF55940F5fcE6588a9ae0",fe="0xD2FE44055b5C874feE029119f70336447c8e8827",ae="0x7efB260662a6FA95c1CE1092c53Ca23733202798",ie="0x571F42886C31f9b769ad243e81D06D0D144BE7B4",pe="0x6d6029557a06961aCC5F81e1ffF5A474C54e32Fd",se="0x7aE52477783c4E3e5c1476Bbb29A8D029c920676",ue="0x682E473FcA490B0adFA7EfE94083C1E63f28F034",Fe="0xfA19c1d104F4AEfb8d5564f02B3AdCa1b515da58",oe="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",Pe="0x514910771AF9Ca656af840dff83E8264EcF986CA",ye="0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",re="0xC88C8ADA95d92c149377AA660837460775Dcc6d9",de="0x9A05b116b56304F5f4B3F1D5DA4641bFfFfae6Ab",le="0xF1104493eC315aF2cb52f0c19605443334928D38",Se="0xB1F28350539B06D5A35d016908EEf0424bd13c4b",Ue="0xd371281896f2F5f7A2C65F49d23A2B6ecfd594f3",De="0xe47ca047Cb7E6A9AdE9405Ca68077d63424F34eC",ce="0xA864956fF961CE62C266a8563B46577d3573372E",Ae="0x4ce4C542D96Ce1872fEA4fa3fbB2E7aE31862Bad",me="0x5773e8953cF60F495eB3c2Db45DD753b5c4b7473",be="0x7333fd58d8D73a8e5FC1a16C8037ADa4f580FA2B",Te="0x654a31Ba7D714cfCab19b17D0066171c1A292349",xe="0x79AFAD49e968E7bEA7a23933E294a94E33E60158";function Ee(e,t){for(var n=0;n<t.length;n++){var f=t[n];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(e,f.key,f)}}function Me(e,t,n){return t&&Ee(e.prototype,t),n&&Ee(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var f in n)Object.prototype.hasOwnProperty.call(n,f)&&(e[f]=n[f])}return e},He.apply(this,arguments)}function Oe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Ie(e,t)}function Ce(e){return Ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ce(e)}function Ie(e,t){return Ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ie(e,t)}function Re(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ve(e,t,n){return ve=Re()?Reflect.construct.bind():function(e,t,n){var f=[null];f.push.apply(f,t);var a=new(Function.bind.apply(e,f));return n&&Ie(a,n.prototype),a},ve.apply(null,arguments)}function We(e){var t="function"==typeof Map?new Map:void 0;return We=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ve(e,arguments,Ce(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Ie(n,e)},We(e)}function he(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var we,Le="setPrototypeOf"in Object,Be=/*#__PURE__*/function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientReservesError=!0,n.name=n.constructor.name,Le&&Object.setPrototypeOf(he(n),(this instanceof t?this.constructor:void 0).prototype),n}return Oe(t,e),t}(/*#__PURE__*/We(Error)),ge=/*#__PURE__*/function(e){function t(){var n;return(n=e.call(this)||this).isInsufficientInputAmountError=!0,n.name=n.constructor.name,Le&&Object.setPrototypeOf(he(n),(this instanceof t?this.constructor:void 0).prototype),n}return Oe(t,e),t}(/*#__PURE__*/We(Error));function Ne(e,t){l.default(d.default.greaterThanOrEqual(e,C),e+" is not a "+t+"."),l.default(d.default.lessThanOrEqual(e,g[t]),e+" is not a "+t+".")}function Je(e){try{var t=f.getAddress(e);return S.default(e===t,e+" is not checksummed."),t}catch(t){l.default(!1,e+" is not a valid address.")}}function ke(e){return e instanceof d.default?e:d.default.BigInt("bigint"==typeof e?e.toString():e)}var Ve=/*#__PURE__*/function(){function e(e,t,n){this.decimals=void 0,this.symbol=void 0,this.name=void 0,Ne(d.default.BigInt(e),exports.SolidityType.uint8),this.decimals=e,this.symbol=t,this.name=n}e.getNativeCurrency=function(t){if(!t)throw Error("No chainId "+t);if(!(t in e.NATIVE))throw Error("No native currency defined for chainId "+t);return e.NATIVE[t]},e.getNativeCurrencySymbol=function(e){return this.getNativeCurrency(e).symbol},e.getNativeCurrencyName=function(e){return this.getNativeCurrency(e).name};var t=e.prototype;return t.getSymbol=function(t){return t&&"ETH"===(null==this?void 0:this.symbol)?e.getNativeCurrencySymbol(t):null==this?void 0:this.symbol},t.getName=function(t){return t&&"Ether"===(null==this?void 0:this.name)?e.getNativeCurrencyName(t):null==this?void 0:this.name},e}();Ve.ETHER=new Ve(18,"ETH","Ether"),Ve.BNB=new Ve(18,"BNB","Binance Coin"),Ve.FTM=new Ve(18,"FTM","Fantom"),Ve.MATIC=new Ve(18,"MATIC","Matic"),Ve.XDAI=new Ve(18,"XDAI","xDai"),Ve.GLMR=new Ve(18,"GLMR","Glimmer"),Ve.AVAX=new Ve(18,"AVAX","Avalanche"),Ve.HT=new Ve(18,"HT","Heco Token"),Ve.ONE=new Ve(18,"ONE","Harmony"),Ve.MOVR=new Ve(18,"MOVR","Moonriver"),Ve.CRO=new Ve(18,"CRO","Cronos"),Ve.SYSCOIN=new Ve(18,"WSYS","Wrapped Syscoin"),Ve.METIS=new Ve(18,"METIS","Wrapped Metis"),Ve.MOONBEAM=new Ve(18,"WGLMR","Wrapped GLMR"),Ve.MILKOMEDA=new Ve(18,"WADA","Wrapped ADA"),Ve.KAVA=new Ve(18,"WKAVA","Wrapped Kava"),Ve.IOTEX=new Ve(18,"WIOTX","Wrapped IoTeX"),Ve.KLAYTN=new Ve(18,"WKLAY","Wrapped Klaytn"),Ve.CELO=new Ve(18,"WCELO","Wrapped Celo"),Ve.AURORA=new Ve(18,"WETH","Wrapped Ether"),Ve.BOBA=new Ve(18,"WETH","Wrapped Ether"),Ve.CUBE=new Ve(18,"WCUBE","Wrapped Cube"),Ve.CANTO=new Ve(18,"WCANTO","Wrapped Canto"),Ve.WWDOGE=new Ve(18,"WWDOGE","Wrapped Wrapped Doge"),Ve.FRXETH=new Ve(18,"frxETH","Frax Ether"),Ve.NATIVE=((we={})[exports.ChainId.MAINNET]=Ve.ETHER,we[exports.ChainId.GÖRLI]=Ve.ETHER,we[exports.ChainId.KOVAN]=Ve.ETHER,we[exports.ChainId.FANTOM]=Ve.FTM,we[exports.ChainId.FANTOM_TESTNET]=Ve.FTM,we[exports.ChainId.MATIC]=Ve.MATIC,we[exports.ChainId.MATIC_TESTNET]=Ve.MATIC,we[exports.ChainId.XDAI]=Ve.XDAI,we[exports.ChainId.BSC]=Ve.BNB,we[exports.ChainId.BSC_TESTNET]=Ve.BNB,we[exports.ChainId.ARBITRUM]=Ve.ETHER,we[exports.ChainId.MOONBASE]=Ve.GLMR,we[exports.ChainId.AVALANCHE]=Ve.AVAX,we[exports.ChainId.FUJI]=Ve.AVAX,we[exports.ChainId.HECO]=Ve.HT,we[exports.ChainId.HECO_TESTNET]=Ve.HT,we[exports.ChainId.HARMONY]=Ve.ONE,we[exports.ChainId.HARMONY_TESTNET]=Ve.ONE,we[exports.ChainId.CRONOS]=Ve.CRO,we[exports.ChainId.MOONRIVER]=Ve.MOVR,we[exports.ChainId.OPTIMISM]=Ve.ETHER,we[exports.ChainId.SYSCOIN]=Ve.SYSCOIN,we[exports.ChainId.METIS]=Ve.METIS,we[exports.ChainId.MOONBEAM]=Ve.MOONBEAM,we[exports.ChainId.MILKOMEDA]=Ve.MILKOMEDA,we[exports.ChainId.KAVA]=Ve.KAVA,we[exports.ChainId.IOTEX]=Ve.IOTEX,we[exports.ChainId.KLAYTN]=Ve.KLAYTN,we[exports.ChainId.CELO]=Ve.CELO,we[exports.ChainId.AURORA]=Ve.AURORA,we[exports.ChainId.BOBA]=Ve.BOBA,we[exports.ChainId.CUBE]=Ve.CUBE,we[exports.ChainId.CANTO]=Ve.CANTO,we[exports.ChainId.DOGECHAIN]=Ve.WWDOGE,we[exports.ChainId.ZKEVM]=Ve.ETHER,we[exports.ChainId.BASE]=Ve.ETHER,we[exports.ChainId.LINEA]=Ve.ETHER,we[exports.ChainId.SCROLL]=Ve.ETHER,we[exports.ChainId.FRAXTAL]=Ve.FRXETH,we);var Ze,_e=Ve.ETHER,Ke=/*#__PURE__*/function(e){function t(t,n,f,a,i){var p;return(p=e.call(this,f,a,i)||this).chainId=void 0,p.address=void 0,p.chainId=t,p.address=Je(n),p}Oe(t,e);var n=t.prototype;return n.equals=function(e){return this===e||this.chainId===e.chainId&&this.address===e.address},n.sortsBefore=function(e){return l.default(this.chainId===e.chainId,"CHAIN_IDS"),l.default(this.address!==e.address,"ADDRESSES"),this.address.toLowerCase()<e.address.toLowerCase()},t}(Ve);function Qe(e,t){return e instanceof Ke&&t instanceof Ke?e.equals(t):!(e instanceof Ke||t instanceof Ke||e!==t)}var Ge,Xe,Ye=((Ze={})[exports.ChainId.MAINNET]=new Ke(exports.ChainId.MAINNET,"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.GÖRLI]=new Ke(exports.ChainId.GÖRLI,"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.KOVAN]=new Ke(exports.ChainId.KOVAN,"0xd0A1E359811322d97991E03f863a0C30C2cF029C",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.FANTOM]=new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Wrapped FTM"),Ze[exports.ChainId.FANTOM_TESTNET]=new Ke(exports.ChainId.FANTOM_TESTNET,"0xf1277d1Ed8AD466beddF92ef448A132661956621",18,"FTM","Wrapped FTM"),Ze[exports.ChainId.MATIC]=new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped Matic"),Ze[exports.ChainId.MATIC_TESTNET]=new Ke(exports.ChainId.MATIC_TESTNET,"0x5B67676a984807a212b1c59eBFc9B3568a474F0a",18,"WMATIC","Wrapped Matic"),Ze[exports.ChainId.XDAI]=new Ke(exports.ChainId.XDAI,"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",18,"WXDAI","Wrapped xDai"),Ze[exports.ChainId.BSC]=new Ke(exports.ChainId.BSC,"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",18,"WBNB","Wrapped BNB"),Ze[exports.ChainId.BSC_TESTNET]=new Ke(exports.ChainId.BSC_TESTNET,"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",18,"WBNB","Wrapped BNB"),Ze[exports.ChainId.ARBITRUM]=new Ke(exports.ChainId.ARBITRUM,"0xf8456e5e6A225C2C1D74D8C9a4cB2B1d5dc1153b",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.MOONBASE]=new Ke(exports.ChainId.MOONBASE,"0xe73763DB808ecCDC0E36bC8E32510ED126910394",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.AVALANCHE]=new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),Ze[exports.ChainId.FUJI]=new Ke(exports.ChainId.FUJI,"0xd00ae08403B9bbb9124bB305C09058E32C39A48c",18,"WAVAX","Wrapped AVAX"),Ze[exports.ChainId.HECO]=new Ke(exports.ChainId.HECO,"0x5545153CCFcA01fbd7Dd11C0b23ba694D9509A6F",18,"WHT","Wrapped HT"),Ze[exports.ChainId.HECO_TESTNET]=new Ke(exports.ChainId.HECO_TESTNET,"0x5B2DA6F42CA09C77D577a12BeaD0446148830687",18,"WHT","Wrapped HT"),Ze[exports.ChainId.HARMONY]=new Ke(exports.ChainId.HARMONY,"0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a",18,"WONE","Wrapped ONE"),Ze[exports.ChainId.HARMONY_TESTNET]=new Ke(exports.ChainId.HARMONY_TESTNET,"0x7a2afac38517d512E55C0bCe3b6805c10a04D60F",18,"WONE","Wrapped ONE"),Ze[exports.ChainId.MOONRIVER]=new Ke(exports.ChainId.MOONRIVER,"0x98878B06940aE243284CA214f92Bb71a2b032B8A",18,"WMOVR","Wrapped MOVR"),Ze[exports.ChainId.CRONOS]=new Ke(exports.ChainId.CRONOS,"0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23",18,"WCRO","Wrapped CRO"),Ze[exports.ChainId.OPTIMISM]=new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.SYSCOIN]=new Ke(exports.ChainId.SYSCOIN,"0xd3e822f3ef011Ca5f17D82C956D952D8d7C3A1BB",18,"WSYS","Wrapped Syscoin"),Ze[exports.ChainId.METIS]=new Ke(exports.ChainId.METIS,"0x75cb093E4D61d2A2e65D8e0BBb01DE8d89b53481",18,"WETH","Wrapped Metis"),Ze[exports.ChainId.MOONBEAM]=new Ke(exports.ChainId.MOONBEAM,"0xAcc15dC74880C9944775448304B263D191c6077F",18,"WGLMR","Wrapped GLMR"),Ze[exports.ChainId.MILKOMEDA]=new Ke(exports.ChainId.MILKOMEDA,"0xAE83571000aF4499798d1e3b0fA0070EB3A3E3F9",18,"WADA","Wrapped ADA"),Ze[exports.ChainId.KAVA]=new Ke(exports.ChainId.KAVA,"0xc86c7C0eFbd6A49B35E8714C5f59D99De09A225b",18,"WKAVA","Wrapped Kava"),Ze[exports.ChainId.IOTEX]=new Ke(exports.ChainId.IOTEX,"0xA00744882684C3e4747faEFD68D283eA44099D03",18,"WIOTX","Wrapped IoTeX"),Ze[exports.ChainId.KLAYTN]=new Ke(exports.ChainId.KLAYTN,"0xfd844c2fcA5e595004b17615f891620d1cB9bBB2",18,"WKLAY","Wrapped Klaytn"),Ze[exports.ChainId.CELO]=new Ke(exports.ChainId.CELO,"0x3Ad443d769A07f287806874F8E5405cE3Ac902b9",18,"WCELO","Wrapped Celo"),Ze[exports.ChainId.AURORA]=new Ke(exports.ChainId.AURORA,"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.BOBA]=new Ke(exports.ChainId.BOBA,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.CUBE]=new Ke(exports.ChainId.CUBE,"0x9D3F61338d6Eb394e378D28C1Fd17d5909aC6591",18,"WCUBE","Wrapped Cube"),Ze[exports.ChainId.CANTO]=new Ke(exports.ChainId.CANTO,"0x826551890Dc65655a0Aceca109aB11AbDbD7a07B",18,"WCANTO","Wrapped Canto"),Ze[exports.ChainId.DOGECHAIN]=new Ke(exports.ChainId.DOGECHAIN,"0xB7ddC6414bf4F5515b52D8BdD69973Ae205ff101",18,"WWDOGE","Wrapped Wrapped Doge"),Ze[exports.ChainId.ZKEVM]=new Ke(exports.ChainId.ZKEVM,"0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.BASE]=new Ke(exports.ChainId.BASE,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.LINEA]=new Ke(exports.ChainId.LINEA,"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.SCROLL]=new Ke(exports.ChainId.SCROLL,"0x5300000000000000000000000000000000000004",18,"WETH","Wrapped Ether"),Ze[exports.ChainId.FRAXTAL]=new Ke(exports.ChainId.FRAXTAL,"0xfc00000000000000000000000000000000000006",18,"wfrxETH","Wrapped Frax Ether"),Ze),qe=c.default(U.default),ze=c.default(D.default),je=((Ge={})[exports.Rounding.ROUND_DOWN]=qe.ROUND_DOWN,Ge[exports.Rounding.ROUND_HALF_UP]=qe.ROUND_HALF_UP,Ge[exports.Rounding.ROUND_UP]=qe.ROUND_UP,Ge),$e=((Xe={})[exports.Rounding.ROUND_DOWN]=0,Xe[exports.Rounding.ROUND_HALF_UP]=1,Xe[exports.Rounding.ROUND_UP]=3,Xe),et=/*#__PURE__*/function(){function e(e,t){void 0===t&&(t=I),this.numerator=void 0,this.denominator=void 0,this.numerator=ke(e),this.denominator=ke(t)}var t=e.prototype;return t.invert=function(){return new e(this.denominator,this.numerator)},t.add=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(this.denominator,n.denominator)?new e(d.default.add(this.numerator,n.numerator),this.denominator):new e(d.default.add(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator)),d.default.multiply(this.denominator,n.denominator))},t.subtract=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(this.denominator,n.denominator)?new e(d.default.subtract(this.numerator,n.numerator),this.denominator):new e(d.default.subtract(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator)),d.default.multiply(this.denominator,n.denominator))},t.lessThan=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.lessThan(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.equalTo=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.equal(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.greaterThan=function(t){var n=t instanceof e?t:new e(ke(t));return d.default.greaterThan(d.default.multiply(this.numerator,n.denominator),d.default.multiply(n.numerator,this.denominator))},t.multiply=function(t){var n=t instanceof e?t:new e(ke(t));return new e(d.default.multiply(this.numerator,n.numerator),d.default.multiply(this.denominator,n.denominator))},t.divide=function(t){var n=t instanceof e?t:new e(ke(t));return new e(d.default.multiply(this.numerator,n.denominator),d.default.multiply(this.denominator,n.numerator))},t.toSignificant=function(e,t,n){void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),l.default(Number.isInteger(e),e+" is not an integer."),l.default(e>0,e+" is not positive."),qe.set({precision:e+1,rounding:je[n]});var f=new qe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return f.toFormat(f.decimalPlaces(),t)},t.toFixed=function(e,t,n){return void 0===t&&(t={groupSeparator:""}),void 0===n&&(n=exports.Rounding.ROUND_HALF_UP),l.default(Number.isInteger(e),e+" is not an integer."),l.default(e>=0,e+" is negative."),ze.DP=e,ze.RM=$e[n],new ze(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)},Me(e,[{key:"quotient",get:function(){return d.default.divide(this.numerator,this.denominator)}},{key:"remainder",get:function(){return new e(d.default.remainder(this.numerator,this.denominator),this.denominator)}}]),e}(),tt=new et(w),nt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}Oe(t,e);var n=t.prototype;return n.toSignificant=function(e,t,n){return void 0===e&&(e=5),this.multiply(tt).toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=2),this.multiply(tt).toFixed(e,t,n)},t}(et),ft=c.default(D.default),at=/*#__PURE__*/function(e){function t(t,n){var f,a=ke(n);return Ne(a,exports.SolidityType.uint256),(f=e.call(this,a,d.default.exponentiate(h,d.default.BigInt(t.decimals)))||this).currency=void 0,f.currency=t,f}Oe(t,e),t.ether=function(e){return new t(_e,e)};var n=t.prototype;return n.add=function(e){return l.default(Qe(this.currency,e.currency),"TOKEN"),new t(this.currency,d.default.add(this.raw,e.raw))},n.subtract=function(e){return l.default(Qe(this.currency,e.currency),"TOKEN"),new t(this.currency,d.default.subtract(this.raw,e.raw))},n.toSignificant=function(t,n,f){return void 0===t&&(t=6),void 0===f&&(f=exports.Rounding.ROUND_DOWN),e.prototype.toSignificant.call(this,t,n,f)},n.toFixed=function(t,n,f){return void 0===t&&(t=this.currency.decimals),void 0===f&&(f=exports.Rounding.ROUND_DOWN),l.default(t<=this.currency.decimals,"DECIMALS"),e.prototype.toFixed.call(this,t,n,f)},n.toExact=function(e){return void 0===e&&(e={groupSeparator:""}),ft.DP=this.currency.decimals,new ft(this.numerator.toString()).div(this.denominator.toString()).toFormat(e)},Me(t,[{key:"raw",get:function(){return this.numerator}}]),t}(et),it=/*#__PURE__*/function(e){function t(t,n){var f;return(f=e.call(this,t,n)||this).token=void 0,f.token=t,f}Oe(t,e);var n=t.prototype;return n.add=function(e){return l.default(this.token.equals(e.token),"TOKEN"),new t(this.token,d.default.add(this.raw,e.raw))},n.subtract=function(e){return l.default(this.token.equals(e.token),"TOKEN"),new t(this.token,d.default.subtract(this.raw,e.raw))},t}(at),pt=/*#__PURE__*/function(e){function t(t,n,f,a){var i;return(i=e.call(this,a,f)||this).baseCurrency=void 0,i.quoteCurrency=void 0,i.scalar=void 0,i.baseCurrency=t,i.quoteCurrency=n,i.scalar=new et(d.default.exponentiate(h,d.default.BigInt(t.decimals)),d.default.exponentiate(h,d.default.BigInt(n.decimals))),i}Oe(t,e);var n=t.prototype;return n.invert=function(){return new t(this.quoteCurrency,this.baseCurrency,this.numerator,this.denominator)},n.multiply=function(n){l.default(Qe(this.quoteCurrency,n.baseCurrency),"TOKEN");var f=e.prototype.multiply.call(this,n);return new t(this.baseCurrency,n.quoteCurrency,f.denominator,f.numerator)},n.quote=function(t){return l.default(Qe(t.currency,this.baseCurrency),"TOKEN"),this.quoteCurrency instanceof Ke?new it(this.quoteCurrency,e.prototype.multiply.call(this,t.raw).quotient):at.ether(e.prototype.multiply.call(this,t.raw).quotient)},n.toSignificant=function(e,t,n){return void 0===e&&(e=6),this.adjusted.toSignificant(e,t,n)},n.toFixed=function(e,t,n){return void 0===e&&(e=4),this.adjusted.toFixed(e,t,n)},Me(t,[{key:"raw",get:function(){return new et(this.numerator,this.denominator)}},{key:"adjusted",get:function(){return e.prototype.multiply.call(this,this.scalar)}}]),t}(et),st=[{inputs:[],name:"MustBeNominated",type:"error"},{inputs:[],name:"NotOwnerError",type:"error"},{inputs:[],name:"OwnerCannotBeZero",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract GDAY",name:"amToken",type:"address"},{internalType:"contract pToken",name:"_pToken",type:"address"},{internalType:"contract IStableQiVault",name:"pTokenVault",type:"address"}],internalType:"struct gainsZapper.GChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"}],ut=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(st)},e.connect=function(e,t){return new s.Contract(e,st,t)},e}();ut.abi=st;var Ft=[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],ot="0x60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",Pt=function(e){return e.length>1},yt=/*#__PURE__*/function(e){function t(){var t,n=[].slice.call(arguments);return Pt(n)?(t=e.call.apply(e,[this].concat(n))||this).contractName=void 0:(t=e.call(this,Ft,ot,n[0])||this).contractName=void 0,t.contractName="QiStablecoin",he(t)}Oe(t,e);var n=t.prototype;return n.deploy=function(t,n,f,a,i,p){return e.prototype.deploy.call(this,t,n,f,a,i,p||{})},n.getDeployTransaction=function(t,n,f,a,i,p){return e.prototype.getDeployTransaction.call(this,t,n,f,a,i,p||{})},n.attach=function(t){return e.prototype.attach.call(this,t)},n.connect=function(t){return e.prototype.connect.call(this,t)},t.createInterface=function(){return new s.utils.Interface(Ft)},t.connect=function(e,t){return new s.Contract(e,Ft,t)},t}(s.ContractFactory);yt.contractName=void 0,yt.bytecode=ot,yt.abi=Ft;var rt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"unwrap",type:"bool"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],dt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(rt)},e.connect=function(e,t){return new s.Contract(e,rt,t)},e}();dt.abi=rt;var lt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],St=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(lt)},e.connect=function(e,t){return new s.Contract(e,lt,t)},e}();St.abi=lt;var Ut=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Dt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ut)},e.connect=function(e,t){return new s.Contract(e,Ut,t)},e}();Dt.abi=Ut;var ct=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"cfDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],At=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(ct)},e.connect=function(e,t){return new s.Contract(e,ct,t)},e}();At.abi=ct;var mt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],bt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(mt)},e.connect=function(e,t){return new s.Contract(e,mt,t)},e}();bt.abi=mt;var Tt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],xt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Tt)},e.connect=function(e,t){return new s.Contract(e,Tt,t)},e}();xt.abi=Tt;var Et=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Mt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Et)},e.connect=function(e,t){return new s.Contract(e,Et,t)},e}();Mt.abi=Et;var Ht=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Ot=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ht)},e.connect=function(e,t){return new s.Contract(e,Ht,t)},e}();Ot.abi=Ht;var Ct=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mimatic",type:"address"},{internalType:"address",name:"_collateral",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"mimatic",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],It=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Ct)},e.connect=function(e,t){return new s.Contract(e,Ct,t)},e}();It.abi=Ct;var Rt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"AddedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"riskyVault",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newVault",type:"uint256"},{indexed:!1,internalType:"address",name:"riskyVaultBuyer",type:"address"},{indexed:!1,internalType:"uint256",name:"amountPaidtoBuy",type:"uint256"}],name:"BoughtRiskyDebtVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BurnedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"RemovedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"UpdatedAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedClosingFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"UpdatedDebtRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"_ethPriceSourceAddress",type:"address"}],name:"UpdatedEthPriceSource",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_adminFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_refFee",type:"uint256"}],name:"UpdatedFees",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"UpdatedGainRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"interestRate",type:"uint256"}],name:"UpdatedInterestRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMaxDebt",type:"uint256"}],name:"UpdatedMaxDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinCollateralRatio",type:"uint256"}],name:"UpdatedMinCollateralRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinDebt",type:"uint256"}],name:"UpdatedMinDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedOpeningFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"oracle",type:"string"}],name:"UpdatedOracleName",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newRef",type:"address"}],name:"UpdatedRef",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"UpdatedStabilityPool",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"uri",type:"string"}],name:"UpdatedTokenURI",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"earned",type:"uint256"}],name:"WithdrawInterest",type:"event"},{inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"accumulatedVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"addFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"adm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"adminFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"borrowToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"buyRiskDebtVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"promoFee",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkRiskyVault",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimalDifferenceRaisedToTen",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pay",type:"address"}],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTotalValueLocked",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"iR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_collateral",type:"uint256"},{internalType:"uint256",name:"debt",type:"uint256"}],name:"isValidCollateral",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"lastInterest",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"liquidateVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mai",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maiDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"payBackToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"paybackTokenAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"promoter",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"ref",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"refFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"removeFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adm",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_closingFee",type:"uint256"}],name:"setClosingFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_admin",type:"uint256"},{internalType:"uint256",name:"_ref",type:"uint256"}],name:"setFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_iR",type:"uint256"}],name:"setInterestRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_maxDebt",type:"uint256"}],name:"setMaxDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_openingFee",type:"uint256"}],name:"setOpeningFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_ref",type:"address"}],name:"setRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"},{internalType:"uint256",name:"cashback",type:"uint256"}],name:"updateFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_oracle",type:"string"}],name:"updateOracleName",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"updateVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawInterest",outputs:[],stateMutability:"nonpayable",type:"function"}],vt=/*#__PURE__*/function(){function e(){}return e.createInterface=function(){return new s.utils.Interface(Rt)},e.connect=function(e,t){return new s.Contract(e,Rt,t)},e}();vt.abi=Rt;var Wt,ht,wt={__proto__:null,GainsZapper__factory:ut,QiStablecoin__factory:yt,CrosschainNativeQiStablecoin__factory:dt,CrosschainQiStablecoin__factory:St,CrosschainQiStablecoinSlim__factory:Dt,CrosschainQiStablecoinSlimV2__factory:At,CrosschainQiStablecoinV2__factory:bt,CrosschainQiStablecoinwbtc__factory:xt,Erc20QiStablecoincamwbtc__factory:Mt,Erc20QiStablecoinwbtc__factory:Ot,Erc20Stablecoin__factory:It,StableQiVault__factory:vt},Lt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IPerfToken",name:"perfToken",type:"address"},{internalType:"contract ICrossChainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct ThreeStepQiZappah.AssetChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],Bt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IBeefyVault",name:"mooToken",type:"address"},{internalType:"contract IPerfToken",name:"perfToken",type:"address"},{internalType:"contract ICrossChainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct QiZappah.AssetChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_perfToken",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],gt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"PauserAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"PauserRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{constant:!1,inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"account",type:"address"}],name:"addPauser",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"beefyZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"account",type:"address"}],name:"isPauser",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract IBeefyVault",name:"mooToken",type:"address"},{internalType:"contract crosschainStablecoin",name:"mooTokenVault",type:"address"}],internalType:"struct beefyZapper.MooChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"pause",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"pauseZapping",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_mooAsset",type:"address"},{internalType:"address",name:"_mooAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renouncePauser",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"resumeZapping",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"unpause",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Nt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"unwrap",type:"bool"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Jt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"depositNative",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],kt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Vt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"cfDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Zt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],_t=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Kt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Qt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"address",name:"meta",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_meta",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"base",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract PriceSource",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"mai",outputs:[{internalType:"contract ERC20Detailed",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"string",name:"baseURI",type:"string"}],name:"setBaseURI",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Gt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mimatic",type:"address"},{internalType:"address",name:"_collateral",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{constant:!0,inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract shareOracle",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOpeningFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"getPaid",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"liquidateVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"mimatic",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"setOpeningFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_tokenPeg",type:"uint256"}],name:"setTokenPeg",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_treasury",type:"uint256"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"transferToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Xt={abi:[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],evm:{bytecode:{linkReferences:{},object:"60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",opcodes:"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x49DE CODESIZE SUB DUP1 PUSH3 0x49DE DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE PUSH1 0xA0 DUP2 LT ISZERO PUSH3 0x37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH3 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP2 ADD DUP5 DUP2 GT ISZERO PUSH3 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP6 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH3 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP3 SWAP2 SWAP1 PUSH1 0x20 ADD DUP1 MLOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH3 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP2 ADD DUP5 DUP2 GT ISZERO PUSH3 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP6 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH3 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP3 SWAP2 SWAP1 POP POP POP DUP5 DUP5 DUP5 DUP5 DUP5 DUP2 DUP2 PUSH1 0x12 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x11E SWAP3 SWAP2 SWAP1 PUSH3 0x369 JUMP JUMPDEST POP DUP2 PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x137 SWAP3 SWAP2 SWAP1 PUSH3 0x369 JUMP JUMPDEST POP DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x190 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH3 0x1CA JUMPI INVALID JUMPDEST PUSH1 0x0 DUP4 EQ ISZERO ISZERO ISZERO PUSH3 0x1D8 JUMPI INVALID JUMPDEST PUSH11 0x84595161401484A000000 PUSH1 0x9 DUP2 SWAP1 SSTORE POP PUSH1 0x32 PUSH1 0xA DUP2 SWAP1 SSTORE POP DUP5 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x7 DUP2 SWAP1 SSTORE POP POP POP POP POP POP PUSH3 0x299 PUSH3 0x361 PUSH5 0x100000000 MUL PUSH5 0x100000000 SWAP1 DIV JUMP JUMPDEST PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP PUSH3 0x418 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x3AC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x3DD JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x3DD JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x3DC JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x3BF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x3EC SWAP2 SWAP1 PUSH3 0x3F0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x415 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x411 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x3F7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x45B6 DUP1 PUSH3 0x428 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x28F JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x16C JUMPI DUP1 PUSH4 0xB1511CC9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xD4A9B2C5 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD4A9B2C5 EQ PUSH2 0xE5C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0xEAB JUMPI DUP1 PUSH4 0xE1C84EA4 EQ PUSH2 0xF30 JUMPI DUP1 PUSH4 0xF0F44260 EQ PUSH2 0xF5B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFAC JUMPI DUP1 PUSH4 0xFF24B9BC EQ PUSH2 0xFFD JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0xB1511CC9 EQ PUSH2 0xCE7 JUMPI DUP1 PUSH4 0xBAD4A01F EQ PUSH2 0xD22 JUMPI DUP1 PUSH4 0xBDA609F6 EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xCD44DB1B EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0xCE77F243 EQ PUSH2 0xDD2 JUMPI DUP1 PUSH4 0xD310F49B EQ PUSH2 0xE0D JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x9DC29FAC GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x9DC29FAC EQ PUSH2 0xAFD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0xB58 JUMPI DUP1 PUSH4 0xA525323D EQ PUSH2 0xBCB JUMPI DUP1 PUSH4 0xA5E98837 EQ PUSH2 0xC1E JUMPI DUP1 PUSH4 0xA7C6A100 EQ PUSH2 0xC49 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xC74 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x8F32D59B EQ PUSH2 0x9E8 JUMPI DUP1 PUSH4 0x94CD4BA7 EQ PUSH2 0xA17 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA42 JUMPI DUP1 PUSH4 0x98C3F2DB EQ PUSH2 0xAD2 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x61D027B3 GT PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8B5 JUMPI DUP1 PUSH4 0x767A7B05 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x85AF3C16 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x85E290A3 EQ PUSH2 0x956 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 EQ PUSH2 0x686 JUMPI DUP1 PUSH4 0x3E61FACD EQ PUSH2 0x6C1 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x42F371C6 EQ PUSH2 0x777 JUMPI DUP1 PUSH4 0x5D12928B EQ PUSH2 0x7CE JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x257 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x47E JUMPI DUP1 PUSH4 0x1C883E7B EQ PUSH2 0x4A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x4D4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x598 JUMPI DUP1 PUSH4 0x3C2ECFE5 EQ PUSH2 0x60B JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3C5A29B EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7960532 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x8EC5927 EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x40B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x104C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA PUSH2 0x110C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x33A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x31F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x367 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11AE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x409 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x126E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x464 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x493 PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57C PUSH2 0x16D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x644 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x179D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x692 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x17D0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x71A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x192C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x775 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x73F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1B8E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78C PUSH2 0x1C18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E3 PUSH2 0x1C3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x80E PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x89F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1D7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8CA PUSH2 0x1DC3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x8EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1F00 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x954 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x222A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2549 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A6 PUSH2 0x287A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9FD PUSH2 0x28A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2C PUSH2 0x2903 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA57 PUSH2 0x290D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA97 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA7C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xAC4 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE7 PUSH2 0x29AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB56 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AA6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC04 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xBEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2BFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC33 PUSH2 0x2C1E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5E PUSH2 0x2C28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCCD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD20 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C4C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD4E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2D34 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD65 PUSH2 0x2F35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDBC PUSH2 0x2F5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE0B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3052 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE46 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x338D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE95 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF1A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xECE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF45 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFAA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x344A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFFB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xFCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3543 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1036 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1020 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x35CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1054 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x11A4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1179 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11A4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1187 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x11B6 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1304 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x13DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D75737420626F72726F77206E6F6E2D7A65726F20616D6F756E740000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 SLOAD DUP3 PUSH2 0x145E PUSH2 0x15E9 JUMP JUMPDEST ADD GT ISZERO ISZERO ISZERO PUSH2 0x14B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4561 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xF PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO ISZERO PUSH2 0x14F0 JUMPI INVALID JUMPDEST PUSH2 0x150D PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1564 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4468 PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1586 CALLER DUP5 PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0x3E08DF88D8E28F37DF9BF227D3142AC506A364403445661A60891A49ED6792CA DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15DF PUSH2 0x15D8 PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1606 DUP5 DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH2 0x16C8 DUP5 PUSH2 0x1612 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x16C3 DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x441F PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x1679 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1793 PUSH2 0x16F7 PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x178E DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x1708 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xD PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x17D8 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 GT ISZERO ISZERO ISZERO PUSH2 0x18C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x436C6F73696E6720666565206D757374206265206F7665722030000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2710 LT ISZERO ISZERO ISZERO PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x451B PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xA DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x19C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0xA8159D062909288CFE1BC71A9CB71A800664F2658FC2588D52676A844F1B0F13 DUP4 CALLER DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x1B96 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1C0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C14 DUP3 DUP3 PUSH2 0x36D7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x1C65 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8B6C1D05C678FA59695E26465A85918CE0FC63A88F74AF53D1DAEF8F0A9C7804 DUP2 CALLER PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DCB PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1E3F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1F96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x206C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x20DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4321 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2186 JUMPI PUSH2 0x212E DUP2 PUSH1 0xF PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2185 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43E1 PUSH1 0x3E SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP5 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x21E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x6C0EA3BEA9DD66AFA8F9D39D6EB93D833466190330813B42835EFC650DCA4CB9 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x22C0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2710 PUSH1 0xA SLOAD DUP6 MUL DUP2 ISZERO ISZERO PUSH2 0x23AA JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP DUP1 PUSH2 0x23B8 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x242E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x546F6B656E2062616C616E636520746F6F206C6F770000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x249C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4346 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x24C7 CALLER DUP3 PUSH2 0x3E9E JUMP JUMPDEST PUSH2 0x2504 PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2710 PUSH1 0xA SLOAD DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x24FE JUMPI INVALID JUMPDEST DIV PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0xCA61A5A543395EF00F7DC6426B9F9B227C0EF853A44388CDD9FDDBBABD2E087A DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x25DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x26B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420686173206F75747374616E64696E672064656274000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO PUSH2 0x27B8 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x27B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0xE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH32 0x4FE08624EE65B341C38AB9693D216B909D4DDEE1BC8D3FE0FEA14026C361B465 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28E7 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x29A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x297A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2988 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x2A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x2AAE PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2B22 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B2C DUP3 DUP3 PUSH2 0x3E9E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF4 PUSH2 0x2B3D PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x2BEF DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x453C PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x2B68 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C42 PUSH2 0x2C3B PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2C54 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2CC8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2CD1 PUSH2 0x15E9 JUMP JUMPDEST GT ISZERO ISZERO ISZERO PUSH2 0x2D2A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4378 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x2ED9 JUMPI INVALID JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0x52C4E7127EC34E8FC95F09CE2D06B4F00ACCA12CCBCDFB246EF67EE6AEFE068D DUP4 CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x300C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x30E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x311A PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x312B JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x318A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x30 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44C7 PUSH1 0x30 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 SLOAD DUP5 DUP2 ISZERO ISZERO PUSH2 0x3199 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 PUSH2 0x31A6 PUSH2 0x2F5B JUMP JUMPDEST DUP3 DUP2 ISZERO ISZERO PUSH2 0x31B0 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xF PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP DUP1 PUSH2 0x31D7 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x3230 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43B0 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0xD PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0xF PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x32DC CALLER DUP4 PUSH2 0x3E9E JUMP JUMPDEST PUSH32 0xD5F2917D6C1A1057183BE88F3F1C867CF597030F2CD1197A2FDFE1F51376D0CB DUP9 DUP3 CALLER DUP6 PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xF PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x3452 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x34C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x34FF JUMPI INVALID JUMPDEST DUP1 PUSH1 0xB PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x354B PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x35BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35C8 DUP2 PUSH2 0x40DB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x3662 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2710 PUSH1 0xA SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 ISZERO ISZERO PUSH2 0x369A JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x36B2 DUP6 DUP6 PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x36C3 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x377C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3791 DUP2 PUSH1 0x2 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x37E8 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44F7 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x39AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42D9 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3B1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44A2 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3BA7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x426E PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C13 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x42FB PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3CA6 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 GT ISZERO DUP3 SWAP1 ISZERO ISZERO PUSH2 0x3E01 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DC6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DAB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3DF3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP4 DUP6 SUB SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3E94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3F26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4447 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F92 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4291 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3FE9 DUP2 PUSH1 0x2 SLOAD PUSH2 0x4223 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4066 PUSH2 0x29AF JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4070 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x407A PUSH2 0x2F5B JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4084 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x408E PUSH2 0x29AF JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x409E JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x40A8 PUSH2 0x2F5B JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x40B8 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP4 MUL SWAP1 POP DUP3 DUP2 GT ISZERO ISZERO PUSH2 0x40CB JUMPI INVALID JUMPDEST DUP1 DUP3 SWAP5 POP SWAP5 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x4163 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42B3 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4265 DUP4 DUP4 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x3D52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654F776E61 PUSH3 0x6C653A KECCAK256 PUSH15 0x6577206F776E657220697320746865 KECCAK256 PUSH27 0x65726F206164647265737345524332303A20617070726F76652074 PUSH16 0x20746865207A65726F20616464726573 PUSH20 0x45524332303A207472616E7366657220616D6F75 PUSH15 0x7420657863656564732062616C616E PUSH4 0x65566175 PUSH13 0x7420646F6573206E6F74206861 PUSH23 0x6520656E6F75676820636F6C6C61746572616C5661756C PUSH21 0x2064656274206C657373207468616E20616D6F756E PUSH21 0x20746F20706179206261636B2028706C7573206665 PUSH6 0x297365744365 PUSH10 0x6C696E673A204D757374 KECCAK256 PUSH3 0x65206F PUSH23 0x65722074686520616D6F756E74206F66206F7574737461 PUSH15 0x64696E6720646562742E546F6B656E KECCAK256 PUSH3 0x616C61 PUSH15 0x636520746F6F206C6F7720746F2070 PUSH2 0x7920 PUSH16 0x6666206F75747374616E64696E672064 PUSH6 0x627457697468 PUSH5 0x726177616C KECCAK256 PUSH24 0x6F756C6420707574207661756C742062656C6F77206D696E PUSH10 0x6D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH3 0x75726E KECCAK256 PUSH7 0x726F6D20746865 KECCAK256 PUSH27 0x65726F2061646472657373426F72726F7720776F756C6420707574 KECCAK256 PUSH23 0x61756C742062656C6F77206D696E696D756D20636F6C6C PUSH2 0x7465 PUSH19 0x616C2070657263656E7461676545524332303A KECCAK256 PUSH21 0x72616E736665722066726F6D20746865207A65726F KECCAK256 PUSH2 0x6464 PUSH19 0x6573735661756C74206973206E6F742062656C PUSH16 0x77206D696E696D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A20617070726F PUSH23 0x652066726F6D20746865207A65726F2061646472657373 NUMBER PUSH13 0x6F73696E6720666565206D7573 PUSH21 0x20626520756E646572203130302E30302545524332 ADDRESS GASPRICE KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726F626F7272 PUSH16 0x77546F6B656E3A2043616E6E6F74206D PUSH10 0x6E74206F76657220746F PUSH21 0x616C537570706C792EA165627A7A7230582060626F SWAP1 EXTCODEHASH CALLDATASIZE 0xd8 PUSH16 0xA4021458E90E426178621633154B8D84 0x5c 0xc3 LT 0x5f 0xb8 0x1e GT MOD STOP 0x29 ",sourceMap:"109:1541:7:-;;;160:364;8:9:-1;5:2;;;30:1;27;20:12;5:2;160:364:7;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;160:364:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;160:364:7;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;160:364:7;;;;;;381:21;412:23;445:27;482:4;496:6;1404:4:8;1410:6;1418:2;512:4:4;504:5;:12;;;;;;;;;;;;:::i;:::-;;536:6;526:7;:16;;;;;;;;;;;;:::i;:::-;;564:8;552:9;;:20;;;;;;;;;;;;;;;;;;416:163;;;1479:1:8;1446:35;;:21;:35;;;;1439:43;;;;;;1534:1;1499:37;;:23;:37;;;;1492:45;;;;;;1585:1;1554:27;:32;;1547:40;;;;;;1659:26;1647:11;:38;;;;1734:2;1723:10;:13;;;;1784:21;1755:14;;:51;;;;;;;;;;;;;;;;;;1847:23;1816:16;;:55;;;;;;;;;;;;;;;;;;1912:27;1881:28;:58;;;;1189:757;;;;;707:12:2;:10;;;:12;;;:::i;:::-;698:6;;:21;;;;;;;;;;;;;;;;;;767:6;;;;;;;;;;;734:40;;763:1;734:40;;;;;;;;;;;;160:364:7;;;;;109:1541;;788:96:0;833:15;867:10;860:17;;788:96;:::o;109:1541:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"},deployedBytecode:{linkReferences:{},object:"60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029",opcodes:"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x28F JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x16C JUMPI DUP1 PUSH4 0xB1511CC9 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xD4A9B2C5 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD4A9B2C5 EQ PUSH2 0xE5C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0xEAB JUMPI DUP1 PUSH4 0xE1C84EA4 EQ PUSH2 0xF30 JUMPI DUP1 PUSH4 0xF0F44260 EQ PUSH2 0xF5B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFAC JUMPI DUP1 PUSH4 0xFF24B9BC EQ PUSH2 0xFFD JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0xB1511CC9 EQ PUSH2 0xCE7 JUMPI DUP1 PUSH4 0xBAD4A01F EQ PUSH2 0xD22 JUMPI DUP1 PUSH4 0xBDA609F6 EQ PUSH2 0xD50 JUMPI DUP1 PUSH4 0xCD44DB1B EQ PUSH2 0xDA7 JUMPI DUP1 PUSH4 0xCE77F243 EQ PUSH2 0xDD2 JUMPI DUP1 PUSH4 0xD310F49B EQ PUSH2 0xE0D JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x9DC29FAC GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x9DC29FAC EQ PUSH2 0xAFD JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0xB58 JUMPI DUP1 PUSH4 0xA525323D EQ PUSH2 0xBCB JUMPI DUP1 PUSH4 0xA5E98837 EQ PUSH2 0xC1E JUMPI DUP1 PUSH4 0xA7C6A100 EQ PUSH2 0xC49 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xC74 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x991 JUMPI DUP1 PUSH4 0x8F32D59B EQ PUSH2 0x9E8 JUMPI DUP1 PUSH4 0x94CD4BA7 EQ PUSH2 0xA17 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xA42 JUMPI DUP1 PUSH4 0x98C3F2DB EQ PUSH2 0xAD2 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x61D027B3 GT PUSH2 0x1C9 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH2 0x7F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x850 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8B5 JUMPI DUP1 PUSH4 0x767A7B05 EQ PUSH2 0x8CC JUMPI DUP1 PUSH4 0x85AF3C16 EQ PUSH2 0x911 JUMPI DUP1 PUSH4 0x85E290A3 EQ PUSH2 0x956 JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3DB99177 EQ PUSH2 0x686 JUMPI DUP1 PUSH4 0x3E61FACD EQ PUSH2 0x6C1 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x71C JUMPI DUP1 PUSH4 0x42F371C6 EQ PUSH2 0x777 JUMPI DUP1 PUSH4 0x5D12928B EQ PUSH2 0x7CE JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0x257 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x47E JUMPI DUP1 PUSH4 0x1C883E7B EQ PUSH2 0x4A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x4D4 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x598 JUMPI DUP1 PUSH4 0x3C2ECFE5 EQ PUSH2 0x60B JUMPI PUSH2 0x28F JUMP JUMPDEST DUP1 PUSH4 0x3C5A29B EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7960532 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0x8EC5927 EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x40B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x104C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FA PUSH2 0x110C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x33A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x31F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x367 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x11AE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x409 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x126E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x417 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x464 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x42E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x493 PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x54D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x15F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57C PUSH2 0x16D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5F1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x16EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x644 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x179D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x692 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6BF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x17D0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x71A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x192C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x728 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x775 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x73F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1B8E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x783 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x78C PUSH2 0x1C18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E3 PUSH2 0x1C3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x80E PUSH2 0x1D55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x89F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1D7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8CA PUSH2 0x1DC3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x90F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x8EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x1F00 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x91D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x954 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x934 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x222A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2549 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9A6 PUSH2 0x287A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9FD PUSH2 0x28A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA2C PUSH2 0x2903 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA57 PUSH2 0x290D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA97 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA7C JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xAC4 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xADE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAE7 PUSH2 0x29AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB56 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AA6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xB7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC04 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xBEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2BFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC33 PUSH2 0x2C1E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5E PUSH2 0x2C28 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC80 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCCD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD20 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2C4C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD4E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2D34 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD65 PUSH2 0x2F35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDBC PUSH2 0x2F5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE0B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3052 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE46 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x338D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE95 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33A5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF1A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xECE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x33BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF45 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFAA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x344A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFFB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xFCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3543 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1036 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1020 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x35CB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1054 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x11A4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1179 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11A4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1187 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x11B6 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x122A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1304 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x13DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO ISZERO PUSH2 0x1452 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D75737420626F72726F77206E6F6E2D7A65726F20616D6F756E740000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 SLOAD DUP3 PUSH2 0x145E PUSH2 0x15E9 JUMP JUMPDEST ADD GT ISZERO ISZERO ISZERO PUSH2 0x14B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4561 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xF PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO ISZERO PUSH2 0x14F0 JUMPI INVALID JUMPDEST PUSH2 0x150D PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1564 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4468 PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1586 CALLER DUP5 PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0x3E08DF88D8E28F37DF9BF227D3142AC506A364403445661A60891A49ED6792CA DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15DF PUSH2 0x15D8 PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1606 DUP5 DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH2 0x16C8 DUP5 PUSH2 0x1612 PUSH2 0x3894 JUMP JUMPDEST PUSH2 0x16C3 DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x441F PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x1679 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1793 PUSH2 0x16F7 PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x178E DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x1708 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xD PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x17D8 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x184C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 GT ISZERO ISZERO ISZERO PUSH2 0x18C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x436C6F73696E6720666565206D757374206265206F7665722030000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2710 LT ISZERO ISZERO ISZERO PUSH2 0x1922 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x451B PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xA DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x19C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xD PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0xA8159D062909288CFE1BC71A9CB71A800664F2658FC2588D52676A844F1B0F13 DUP4 CALLER DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x1B96 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1C0A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C14 DUP3 DUP3 PUSH2 0x36D7 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD SWAP1 POP PUSH1 0x1 PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x8 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x1C65 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLER PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x8B6C1D05C678FA59695E26465A85918CE0FC63A88F74AF53D1DAEF8F0A9C7804 DUP2 CALLER PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DCB PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1E3F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x1F96 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x206C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x20DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4321 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2186 JUMPI PUSH2 0x212E DUP2 PUSH1 0xF PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x36A3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2185 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43E1 PUSH1 0x3E SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP5 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x21E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x6C0EA3BEA9DD66AFA8F9D39D6EB93D833466190330813B42835EFC650DCA4CB9 DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x22C0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2396 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2710 PUSH1 0xA SLOAD DUP6 MUL DUP2 ISZERO ISZERO PUSH2 0x23AA JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP DUP1 PUSH2 0x23B8 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x242E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x546F6B656E2062616C616E636520746F6F206C6F770000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO ISZERO PUSH2 0x249C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4346 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x24C7 CALLER DUP3 PUSH2 0x3E9E JUMP JUMPDEST PUSH2 0x2504 PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2710 PUSH1 0xA SLOAD DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x24FE JUMPI INVALID JUMPDEST DIV PUSH2 0x36D7 JUMP JUMPDEST PUSH32 0xCA61A5A543395EF00F7DC6426B9F9B227C0EF853A44388CDD9FDDBBABD2E087A DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x25DF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x26B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xF PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO ISZERO PUSH2 0x2740 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420686173206F75747374616E64696E672064656274000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO ISZERO PUSH2 0x27B8 JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x27B6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0xE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH32 0x4FE08624EE65B341C38AB9693D216B909D4DDEE1BC8D3FE0FEA14026C361B465 DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28E7 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x29A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x297A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x29A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2988 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2A4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x2A60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH2 0x2AAE PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2B22 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B2C DUP3 DUP3 PUSH2 0x3E9E JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BF4 PUSH2 0x2B3D PUSH2 0x3894 JUMP JUMPDEST DUP5 PUSH2 0x2BEF DUP6 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x453C PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x2B68 PUSH2 0x3894 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x389C JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C42 PUSH2 0x2C3B PUSH2 0x3894 JUMP JUMPDEST DUP5 DUP5 PUSH2 0x3A97 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2C54 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2CC8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2CD1 PUSH2 0x15E9 JUMP JUMPDEST GT ISZERO ISZERO ISZERO PUSH2 0x2D2A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4378 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x9 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x2DCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x2EA0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C74206973206E6F74206F776E656420627920796F7500000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD SWAP1 POP PUSH1 0xE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x2ED9 JUMPI INVALID JUMPDEST DUP1 PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0x52C4E7127EC34E8FC95F09CE2D06B4F00ACCA12CCBCDFB246EF67EE6AEFE068D DUP4 CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2FE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2FF6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x300C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x30E7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x311A PUSH1 0xE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x312B JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x318A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x30 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44C7 PUSH1 0x30 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 SLOAD DUP5 DUP2 ISZERO ISZERO PUSH2 0x3199 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 PUSH2 0x31A6 PUSH2 0x2F5B JUMP JUMPDEST DUP3 DUP2 ISZERO ISZERO PUSH2 0x31B0 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0xF PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB SWAP1 POP DUP1 PUSH2 0x31D7 CALLER PUSH2 0x1D7B JUMP JUMPDEST LT ISZERO ISZERO ISZERO PUSH2 0x3230 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43B0 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0xD PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0xF PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x32DC CALLER DUP4 PUSH2 0x3E9E JUMP JUMPDEST PUSH32 0xD5F2917D6C1A1057183BE88F3F1C867CF597030F2CD1197A2FDFE1F51376D0CB DUP9 DUP3 CALLER DUP6 PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xF PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x3452 PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x34C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x34FF JUMPI INVALID JUMPDEST DUP1 PUSH1 0xB PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x354B PUSH2 0x28A4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x35BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35C8 DUP2 PUSH2 0x40DB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x3662 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x5661756C7420646F6573206E6F74206578697374000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2710 PUSH1 0xA SLOAD PUSH1 0xF PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 ISZERO ISZERO PUSH2 0x369A JUMPI INVALID JUMPDEST DIV ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x36B2 DUP6 DUP6 PUSH2 0x4059 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP2 DUP4 DUP2 ISZERO ISZERO PUSH2 0x36C3 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH1 0x7 SLOAD DUP2 LT ISZERO SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x377C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3791 DUP2 PUSH1 0x2 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH2 0x37E8 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3924 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44F7 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x39AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42D9 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3B1F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44A2 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3BA7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x426E PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3C13 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x42FB PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3CA6 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3E14 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 GT ISZERO DUP3 SWAP1 ISZERO ISZERO PUSH2 0x3E01 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3DC6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DAB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3DF3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP4 DUP6 SUB SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x3E94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x3F26 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4447 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F92 DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x4291 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x3D52 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x3FE9 DUP2 PUSH1 0x2 SLOAD PUSH2 0x4223 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4066 PUSH2 0x29AF JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4070 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x407A PUSH2 0x2F5B JUMP JUMPDEST EQ ISZERO ISZERO ISZERO PUSH2 0x4084 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x408E PUSH2 0x29AF JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x409E JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x40A8 PUSH2 0x2F5B JUMP JUMPDEST DUP6 MUL SWAP1 POP DUP5 DUP2 LT ISZERO ISZERO ISZERO PUSH2 0x40B8 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP4 MUL SWAP1 POP DUP3 DUP2 GT ISZERO ISZERO PUSH2 0x40CB JUMPI INVALID JUMPDEST DUP1 DUP3 SWAP5 POP SWAP5 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO ISZERO PUSH2 0x4163 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42B3 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x10 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x10 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4265 DUP4 DUP4 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x3D52 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654F776E61 PUSH3 0x6C653A KECCAK256 PUSH15 0x6577206F776E657220697320746865 KECCAK256 PUSH27 0x65726F206164647265737345524332303A20617070726F76652074 PUSH16 0x20746865207A65726F20616464726573 PUSH20 0x45524332303A207472616E7366657220616D6F75 PUSH15 0x7420657863656564732062616C616E PUSH4 0x65566175 PUSH13 0x7420646F6573206E6F74206861 PUSH23 0x6520656E6F75676820636F6C6C61746572616C5661756C PUSH21 0x2064656274206C657373207468616E20616D6F756E PUSH21 0x20746F20706179206261636B2028706C7573206665 PUSH6 0x297365744365 PUSH10 0x6C696E673A204D757374 KECCAK256 PUSH3 0x65206F PUSH23 0x65722074686520616D6F756E74206F66206F7574737461 PUSH15 0x64696E6720646562742E546F6B656E KECCAK256 PUSH3 0x616C61 PUSH15 0x636520746F6F206C6F7720746F2070 PUSH2 0x7920 PUSH16 0x6666206F75747374616E64696E672064 PUSH6 0x627457697468 PUSH5 0x726177616C KECCAK256 PUSH24 0x6F756C6420707574207661756C742062656C6F77206D696E PUSH10 0x6D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH3 0x75726E KECCAK256 PUSH7 0x726F6D20746865 KECCAK256 PUSH27 0x65726F2061646472657373426F72726F7720776F756C6420707574 KECCAK256 PUSH23 0x61756C742062656C6F77206D696E696D756D20636F6C6C PUSH2 0x7465 PUSH19 0x616C2070657263656E7461676545524332303A KECCAK256 PUSH21 0x72616E736665722066726F6D20746865207A65726F KECCAK256 PUSH2 0x6464 PUSH19 0x6573735661756C74206973206E6F742062656C PUSH16 0x77206D696E696D756D20636F6C6C6174 PUSH6 0x72616C207065 PUSH19 0x63656E7461676545524332303A20617070726F PUSH23 0x652066726F6D20746865207A65726F2061646472657373 NUMBER PUSH13 0x6F73696E6720666565206D7573 PUSH21 0x20626520756E646572203130302E30302545524332 ADDRESS GASPRICE KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726F626F7272 PUSH16 0x77546F6B656E3A2043616E6E6F74206D PUSH10 0x6E74206F76657220746F PUSH21 0x616C537570706C792EA165627A7A7230582060626F SWAP1 EXTCODEHASH CALLDATASIZE 0xd8 PUSH16 0xA4021458E90E426178621633154B8D84 0x5c 0xc3 LT 0x5f 0xb8 0x1e GT MOD STOP 0x29 ",sourceMap:"109:1541:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;912:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;912:158:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;912:158:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;644:81:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:81:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;644:81:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;756:150:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;756:150:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;756:150:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;5511:608:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5511:608:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5511:608:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2500:149:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2500:149:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1559:89:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;419:25:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;419:25:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3107:300:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1472:81:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1472:81:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3802:207:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;533:45:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:45:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;533:45:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1280:223:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1280:223:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1280:223:7;;;;;;;;;;;;;;;;;:::i;:::-;;4395:180:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4395:180:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4395:180:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;530:107:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;530:107:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;530:107:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;224:33:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:33:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3642:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3642:286:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;451:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;451:23:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1706:108:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1642:137:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1642:137:2;;;:::i;:::-;;4913:592:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4913:592:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4913:592:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6355:570;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6355:570:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6355:570:8;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3934:455;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3934:455:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3934:455:8;;;;;;;;;;;;;;;;;:::i;:::-;;857:77:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;857:77:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1208:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1208:92:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2164:90:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2164:90:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;838:85:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:85:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;838:85:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2518:153:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2518:153:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;643:107:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;643:107:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;643:107:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4496:258:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4496:258:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;481:46:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;481:46:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;481:46:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2260:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2260:88:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;356:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;356:25:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2017:155:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2017:155:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1076:198:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1076:198:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1076:198:7;;;;;;;;;;;;;;;;;:::i;:::-;;4581:326:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4581:326:8;;;;;;;;;;;;;;;;;:::i;:::-;;263:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;263:35:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2354:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2354:157:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6931:1071;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6931:1071:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6931:1071:8;;;;;;;;;;;;;;;;;:::i;:::-;;640:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;640:44:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;640:44:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;584:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:50:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;584:50:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2230:132:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:132:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;387:26:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;387:26:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1509:139:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1509:139:7;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1509:139:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;1928:107:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1928:107:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1928:107:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;6125:224:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6125:224:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6125:224:8;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;912:158:7;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:23:7;1008:16;;:55;;;;;;;;;;;;;;;;;;912:158;:::o;644:81:4:-;681:13;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;756:150:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:21:7;848:14;;:51;;;;;;;;;;;;;;;;;;756:150;:::o;5511:608:8:-;5589:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5625:1;5616:6;:10;5608:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5700:11;;5690:6;5676:13;:11;:13::i;:::-;:20;:35;;5668:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5769:15;5808:6;5787:9;:18;5797:7;5787:18;;;;;;;;;;;;:27;5769:45;;5842:9;:18;5852:7;5842:18;;;;;;;;;;;;5832:7;:28;5825:36;;;;;;5880:52;5898:15;:24;5914:7;5898:24;;;;;;;;;;;;5924:7;5880:17;:52::i;:::-;5872:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6027:7;6006:9;:18;6016:7;6006:18;;;;;;;;;;;:28;;;;6044:25;6050:10;6062:6;6044:5;:25::i;:::-;6084:28;6096:7;6105:6;6084:28;;;;;;;;;;;;;;;;;;;;;;;;2150:1;5511:608;;;:::o;2500:149:3:-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;419:25:8:-;;;;:::o;3107:300:3:-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;1472:81:4:-;1513:5;1537:9;;;;;;;;;;;1530:16;;1472:81;:::o;3802:207:3:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;533:45:8:-;;;;;;;;;;;;;;;;;;;;;;:::o;1280:223:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1361:6:7;1358:1;:9;;1350:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1423:6;1416:5;:13;;1408:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:6;1477:10;:19;;;;1280:223;:::o;4395:180:8:-;4471:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4512:2;4490:10;:19;4501:7;4490:19;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4530:38;4544:7;4553:10;4565:2;4530:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4395:180;;;:::o;530:107:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:22:7;614:7;623:6;608:5;:22::i;:::-;530:107;;:::o;224:33:8:-;;;;;;;;;;;;;:::o;3642:286::-;3683:7;3702:10;3715;;3702:23;;3749:1;3735:10;;:15;;;;;;;;;;;3782:2;3768:10;;:16;;3761:24;;;;;;3817:4;3796:14;:18;3811:2;3796:18;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3848:10;3831;:14;3842:2;3831:14;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3874;3886:2;3890:10;3874:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3919:2;3912:9;;;3642:286;:::o;451:23::-;;;;;;;;;;;;;:::o;1706:108:3:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;1642:137:2:-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:1;1703:40;;1724:6;;;;;;;;;;;1703:40;;;;;;;;;;;;1770:1;1753:6;;:19;;;;;;;;;;;;;;;;;;1642:137::o;4913:592:8:-;4998:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5053:6;5025:15;:24;5041:7;5025:24;;;;;;;;;;;;:34;;5017:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5112:21;5163:6;5136:15;:24;5152:7;5136:24;;;;;;;;;;;;:33;5112:57;;5205:1;5183:9;:18;5193:7;5183:18;;;;;;;;;;;;:23;;5180:180;;;5230:52;5248:13;5263:9;:18;5273:7;5263:18;;;;;;;;;;;;5230:17;:52::i;:::-;5222:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5180:180;5397:13;5370:15;:24;5386:7;5370:24;;;;;;;;;;;:40;;;;5420:10;:19;;:27;5440:6;5420:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5420:27:8;5463:35;5482:7;5491:6;5463:35;;;;;;;;;;;;;;;;;;;;;;;;2150:1;4913:592;;;:::o;6355:570::-;6434:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6453:20;6506:6;6499:5;6487:10;;6478:6;:19;6477:27;;;;;;;;6476:36;6453:59;;6555:12;6530:21;6540:10;6530:9;:21::i;:::-;:37;;6522:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6633:12;6611:9;:18;6621:7;6611:18;;;;;;;;;;;;:34;;6603:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6733:6;6711:9;:18;6721:7;6711:18;;;;;;;;;;;;:28;;;;;;;;;;;6749:31;6755:10;6767:12;6749:5;:31::i;:::-;6830:44;6836:8;;;;;;;;;;;6868:5;6856:10;;6847:6;:19;6846:27;;;;;;;;6830:5;:44::i;:::-;6889:29;6902:7;6911:6;6889:29;;;;;;;;;;;;;;;;;;;;;;;;2150:1;6355:570;;;:::o;3934:455::-;3997:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4046:1;4024:9;:18;4034:7;4024:18;;;;;;;;;;;;:23;4016:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4120:1;4092:15;:24;4108:7;4092:24;;;;;;;;;;;;:29;;4089:104;;;4137:10;:19;;:45;4157:15;:24;4173:7;4157:24;;;;;;;;;;;;4137:45;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4137:45:8;4089:104;4210:14;:23;4225:7;4210:23;;;;;;;;;;;;4203:30;;;;;;;;;;;4250:10;:19;4261:7;4250:19;;;;;;;;;;;;4243:26;;;;;;;;;;;4286:15;:24;4302:7;4286:24;;;;;;;;;;;4279:31;;;4327:9;:18;4337:7;4327:18;;;;;;;;;;;4320:25;;;4361:21;4374:7;4361:21;;;;;;;;;;;;;;;;;;3934:455;;:::o;857:77:2:-;895:7;921:6;;;;;;;;;;;914:13;;857:77;:::o;1208:92::-;1248:4;1287:6;;;;;;;;;;;1271:22;;:12;:10;:12::i;:::-;:22;;;1264:29;;1208:92;:::o;2164:90:8:-;2211:7;2236:11;;2229:18;;2164:90;:::o;838:85:4:-;877:13;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:85;:::o;2518:153:8:-;2568:7;2588:9;2604:14;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2604:32:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2604:32:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2604:32:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2586:50;;;;;;2658:5;2646:18;;;2518:153;:::o;643:107:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;721:22:7;727:7;736:6;721:5;:22::i;:::-;643:107;;:::o;4496:258:3:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;481:46:8:-;;;;;;;;;;;;;;;;;;;;;;:::o;2260:88::-;2306:7;2331:10;;2324:17;;2260:88;:::o;356:25::-;;;;:::o;2017:155:3:-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;1076:198:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1170:6:7;1155:13;:11;:13::i;:::-;:21;;1147:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1261:6;1247:11;:20;;;;1076:198;:::o;4581:326:8:-;4657:7;2011:14;:23;2026:7;2011:23;;;;;;;;;;;;;;;;;;;;;2003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:10;2077:33;;:10;:19;2088:7;2077:19;;;;;;;;;;;;;;;;;;;;;:33;;;2069:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4676:21;4727:9;4700:15;:24;4716:7;4700:24;;;;;;;;;;;;:36;4676:60;;4771:15;:24;4787:7;4771:24;;;;;;;;;;;;4754:13;:41;;4747:49;;;;;;4834:13;4807:15;:24;4823:7;4807:24;;;;;;;;;;;:40;;;;4863:37;4881:7;4890:9;4863:37;;;;;;;;;;;;;;;;;;;;;;;;2150:1;4581:326;;:::o;263:35::-;;;;;;;;;;;;;:::o;2354:157::-;2406:7;2426:9;2442:16;;;;;;;;;;;:32;;;:34;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2442:34:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2442:34:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2442:34:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2424:52;;;;;;2498:5;2486:18;;;2354:157;:::o;6931:1071::-;6998:14;:23;7013:7;6998:23;;;;;;;;;;;;;;;;;;;;;6990:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7058:31;7091:17;7112:75;7142:15;:24;7158:7;7142:24;;;;;;;;;;;;7168:9;:18;7178:7;7168:18;;;;;;;;;;;;7112:29;:75::i;:::-;7057:130;;;;7198:28;7255:9;7229:23;:35;;;;;;;;7198:66;;7306:28;;7283:20;:51;7275:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7398:24;7451:28;;7425:23;:54;;;;;;;;7398:81;;7490:19;7531:21;:19;:21::i;:::-;7512:16;:40;;;;;;;;7490:62;;7563:22;7609:11;7588:9;:18;7598:7;7588:18;;;;;;;;;;;;:32;7563:57;;7664:14;7639:21;7649:10;7639:9;:21::i;:::-;:39;;7631:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7743:21;7767:10;:19;7778:7;7767:19;;;;;;;;;;;;;;;;;;;;;7743:43;;7819:10;7797;:19;7808:7;7797:19;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;7860:11;7839:9;:18;7849:7;7839:18;;;;;;;;;;;:32;;;;7881:33;7887:10;7899:14;7881:5;:33::i;:::-;7930:65;7944:7;7953:13;7968:10;7980:14;7930:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6931:1071;;;;;;;;:::o;640:44::-;;;;;;;;;;;;;;;;;:::o;584:50::-;;;;;;;;;;;;;;;;;:::o;2230:132:3:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;387:26:8:-;;;;:::o;1509:139:7:-;1061:9:2;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:1:7;1587:23;;:9;:23;;;;1580:31;;;;;;1632:9;1621:8;;:20;;;;;;;;;;;;;;;;;;1509:139;:::o;1928:107:2:-;1061:9;:7;:9::i;:::-;1053:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2000:28;2019:8;2000:18;:28::i;:::-;1928:107;:::o;6125:224:8:-;6189:7;6215:14;:23;6230:7;6215:23;;;;;;;;;;;;;;;;;;;;;6207:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6323:9;:18;6333:7;6323:18;;;;;;;;;;;;6316:5;6304:10;;6283:9;:18;6293:7;6283:18;;;;;;;;;;;;:31;6282:39;;;;;;;;6281:60;6273:69;;6125:224;;;:::o;3281:355::-;3364:4;3381:31;3414:17;3435:47;3465:10;3477:4;3435:29;:47::i;:::-;3380:102;;;;3493:28;3550:9;3524:23;:35;;;;;;;;3493:66;;3601:28;;3577:20;:52;;3570:59;;;;;3281:355;;;;:::o;5962:302:3:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;788:96:0:-;833:15;867:10;860:17;;788:96;:::o;7351:332:3:-;7461:1;7444:19;;:5;:19;;;;7436:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7541:1;7522:21;;:7;:21;;;;7514:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7623:6;7593:11;:18;7605:5;7593:18;;;;;;;;;;;;;;;:27;7612:7;7593:27;;;;;;;;;;;;;;;:36;;;;7660:7;7644:32;;7653:5;7644:32;;;7669:6;7644:32;;;;;;;;;;;;;;;;;;7351:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:1:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;6584:342:3:-;6678:1;6659:21;;:7;:21;;;;6651:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6750:68;6773:6;6750:68;;;;;;;;;;;;;;;;;;:9;:18;6760:7;6750:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;6729:9;:18;6739:7;6729:18;;;;;;;;;;;;;;;:89;;;;6843:24;6860:6;6843:12;;:16;;:24;;;;:::i;:::-;6828:12;:39;;;;6908:1;6882:37;;6891:7;6882:37;;;6912:6;6882:37;;;;;;;;;;;;;;;;;;6584:342;;:::o;2677:598:8:-;2772:7;2781;2830:1;2807:19;:17;:19::i;:::-;:24;;2800:32;;;;;;2874:1;2849:21;:19;:21::i;:::-;:26;;2842:34;;;;;;2887:23;2926:19;:17;:19::i;:::-;2913:10;:32;2887:58;;2982:10;2963:15;:29;;2956:37;;;;;;3004:17;3031:21;:19;:21::i;:::-;3024:4;:28;3004:48;;3083:4;3070:9;:17;;3063:25;;;;;;3099:31;3151:3;3133:15;:21;3099:55;;3198:15;3172:23;:41;3165:49;;;;;;3233:23;3258:9;3225:43;;;;;;;2677:598;;;;;:::o;2136:225:2:-;2229:1;2209:22;;:8;:22;;;;2201:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:8;2289:38;;2310:6;;;;;;;;;;;2289:38;;;;;;;;;;;;2346:8;2337:6;;:17;;;;;;;;;;;;;;;;;;2136:225;:::o;1274:134:1:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1274:134;;;;:::o"}},interface:[{constant:!1,inputs:[{name:"tokenPriceSourceAddress",type:"address"}],name:"changeTokenPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"borrowToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"closingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultOwner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setClosingFee",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"to",type:"address"}],name:"transferVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"mint",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"ethPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createVault",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"treasury",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"renounceOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"},{name:"amount",type:"uint256"}],name:"payBackToken",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getDebtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getEthPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"account",type:"address"},{name:"amount",type:"uint256"}],name:"burn",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"spender",type:"address"},{name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultExistence",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"vaultCount",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"amount",type:"uint256"}],name:"setDebtCeiling",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"depositCollateral",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"tokenPriceSource",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTokenPriceSource",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"vaultID",type:"uint256"}],name:"buyRiskyVault",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultDebt",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"debtCeiling",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_treasury",type:"address"}],name:"setTreasury",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"vaultID",type:"uint256"}],name:"checkClosingFee",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"ethPriceSourceAddress",type:"address"},{name:"tokenPriceSourceAddress",type:"address"},{name:"minimumCollateralPercentage",type:"uint256"},{name:"name",type:"string"},{name:"symbol",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,name:"previousOwner",type:"address"},{indexed:!0,name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"from",type:"address"},{indexed:!1,name:"to",type:"address"}],name:"TransferVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"amount",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"vaultID",type:"uint256"},{indexed:!1,name:"owner",type:"address"},{indexed:!1,name:"buyer",type:"address"},{indexed:!1,name:"amountPayed",type:"uint256"}],name:"BuyRiskyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"}],bytecode:"60806040523480156200001157600080fd5b50604051620049de380380620049de833981018060405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080516401000000008111156200006e57600080fd5b828101905060208101848111156200008557600080fd5b8151856001820283011164010000000082111715620000a357600080fd5b50509291906020018051640100000000811115620000c057600080fd5b82810190506020810184811115620000d757600080fd5b8151856001820283011164010000000082111715620000f557600080fd5b505092919050505084848484848181601282600390805190602001906200011e92919062000369565b5081600490805190602001906200013792919062000369565b5080600560006101000a81548160ff021916908360ff160217905550505050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156200019057fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515620001ca57fe5b60008314151515620001d857fe5b6a084595161401484a0000006009819055506032600a8190555084600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260078190555050505050506200029962000361640100000000026401000000009004565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505062000418565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ac57805160ff1916838001178555620003dd565b82800160010185558215620003dd579182015b82811115620003dc578251825591602001919060010190620003bf565b5b509050620003ec9190620003f0565b5090565b6200041591905b8082111562000411576000816000905550600101620003f7565b5090565b90565b6145b680620004286000396000f3fe60806040526004361061028f576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b1161016c578063b1511cc9116100de578063d4a9b2c511610097578063d4a9b2c514610e5c578063dd62ed3e14610eab578063e1c84ea414610f30578063f0f4426014610f5b578063f2fde38b14610fac578063ff24b9bc14610ffd5761028f565b8063b1511cc914610ce7578063bad4a01f14610d22578063bda609f614610d50578063cd44db1b14610da7578063ce77f24314610dd2578063d310f49b14610e0d5761028f565b80639dc29fac116101305780639dc29fac14610afd578063a457c2d714610b58578063a525323d14610bcb578063a5e9883714610c1e578063a7c6a10014610c49578063a9059cbb14610c745761028f565b80638da5cb5b146109915780638f32d59b146109e857806394cd4ba714610a1757806395d89b4114610a4257806398c3f2db14610ad25761028f565b80633db991771161020557806361d027b3116101c957806361d027b3146107f957806370a0823114610850578063715018a6146108b5578063767a7b05146108cc57806385af3c161461091157806385e290a3146109565761028f565b80633db99177146106865780633e61facd146106c157806340c10f191461071c57806342f371c6146107775780635d12928b146107ce5761028f565b806318160ddd1161025757806318160ddd1461047e5780631c883e7b146104a957806323b872dd146104d4578063313ce5671461056757806339509351146105985780633c2ecfe51461060b5761028f565b806303c5a29b1461029457806306fdde03146102e5578063079605321461037557806308ec5927146103c6578063095ea7b31461040b575b600080fd5b3480156102a057600080fd5b506102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061104c565b005b3480156102f157600080fd5b506102fa61110c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033a57808201518184015260208101905061031f565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038157600080fd5b506103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156103d257600080fd5b50610409600480360360408110156103e957600080fd5b81019080803590602001909291908035906020019092919050505061126e565b005b34801561041757600080fd5b506104646004803603604081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cb565b604051808215151515815260200191505060405180910390f35b34801561048a57600080fd5b506104936115e9565b6040518082815260200191505060405180910390f35b3480156104b557600080fd5b506104be6115f3565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b5061054d600480360360608110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115f9565b604051808215151515815260200191505060405180910390f35b34801561057357600080fd5b5061057c6116d3565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105a457600080fd5b506105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ea565b604051808215151515815260200191505060405180910390f35b34801561061757600080fd5b506106446004803603602081101561062e57600080fd5b810190808035906020019092919050505061179d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069257600080fd5b506106bf600480360360208110156106a957600080fd5b81019080803590602001909291905050506117d0565b005b3480156106cd57600080fd5b5061071a600480360360408110156106e457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192c565b005b34801561072857600080fd5b506107756004803603604081101561073f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b8e565b005b34801561078357600080fd5b5061078c611c18565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107da57600080fd5b506107e3611c3e565b6040518082815260200191505060405180910390f35b34801561080557600080fd5b5061080e611d55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085c57600080fd5b5061089f6004803603602081101561087357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d7b565b6040518082815260200191505060405180910390f35b3480156108c157600080fd5b506108ca611dc3565b005b3480156108d857600080fd5b5061090f600480360360408110156108ef57600080fd5b810190808035906020019092919080359060200190929190505050611f00565b005b34801561091d57600080fd5b506109546004803603604081101561093457600080fd5b81019080803590602001909291908035906020019092919050505061222a565b005b34801561096257600080fd5b5061098f6004803603602081101561097957600080fd5b8101908080359060200190929190505050612549565b005b34801561099d57600080fd5b506109a661287a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f457600080fd5b506109fd6128a4565b604051808215151515815260200191505060405180910390f35b348015610a2357600080fd5b50610a2c612903565b6040518082815260200191505060405180910390f35b348015610a4e57600080fd5b50610a5761290d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a97578082015181840152602081019050610a7c565b50505050905090810190601f168015610ac45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ade57600080fd5b50610ae76129af565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b5660048036036040811015610b2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612aa6565b005b348015610b6457600080fd5b50610bb160048036036040811015610b7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612b30565b604051808215151515815260200191505060405180910390f35b348015610bd757600080fd5b50610c0460048036036020811015610bee57600080fd5b8101908080359060200190929190505050612bfe565b604051808215151515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c33612c1e565b6040518082815260200191505060405180910390f35b348015610c5557600080fd5b50610c5e612c28565b6040518082815260200191505060405180910390f35b348015610c8057600080fd5b50610ccd60048036036040811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c2e565b604051808215151515815260200191505060405180910390f35b348015610cf357600080fd5b50610d2060048036036020811015610d0a57600080fd5b8101908080359060200190929190505050612c4c565b005b610d4e60048036036020811015610d3857600080fd5b8101908080359060200190929190505050612d34565b005b348015610d5c57600080fd5b50610d65612f35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db357600080fd5b50610dbc612f5b565b6040518082815260200191505060405180910390f35b348015610dde57600080fd5b50610e0b60048036036020811015610df557600080fd5b8101908080359060200190929190505050613052565b005b348015610e1957600080fd5b50610e4660048036036020811015610e3057600080fd5b810190808035906020019092919050505061338d565b6040518082815260200191505060405180910390f35b348015610e6857600080fd5b50610e9560048036036020811015610e7f57600080fd5b81019080803590602001909291905050506133a5565b6040518082815260200191505060405180910390f35b348015610eb757600080fd5b50610f1a60048036036040811015610ece57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133bd565b6040518082815260200191505060405180910390f35b348015610f3c57600080fd5b50610f45613444565b6040518082815260200191505060405180910390f35b348015610f6757600080fd5b50610faa60048036036020811015610f7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061344a565b005b348015610fb857600080fd5b50610ffb60048036036020811015610fcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613543565b005b34801561100957600080fd5b506110366004803603602081101561102057600080fd5b81019080803590602001909291905050506135cb565b6040518082815260200191505060405180910390f35b6110546128a4565b15156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111a45780601f10611179576101008083540402835291602001916111a4565b820191906000526020600020905b81548152906001019060200180831161118757829003601f168201915b5050505050905090565b6111b66128a4565b151561122a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082111515611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d75737420626f72726f77206e6f6e2d7a65726f20616d6f756e74000000000081525060200191505060405180910390fd5b6009548261145e6115e9565b01111515156114b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614561602a913960400191505060405180910390fd5b600082600f600086815260200190815260200160002054019050600f600085815260200190815260200160002054811115156114f057fe5b61150d600e600086815260200190815260200160002054826136a3565b1515611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614468603a913960400191505060405180910390fd5b80600f60008681526020019081526020016000208190555061158633846136d7565b7f3e08df88d8e28f37df9bf227d3142ac506a364403445661a60891a49ed6792ca8484604051808381526020018281526020019250505060405180910390a150505050565b60006115df6115d8613894565b848461389c565b6001905092915050565b6000600254905090565b600a5481565b6000611606848484613a97565b6116c884611612613894565b6116c3856060604051908101604052806028815260200161441f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611679613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006117936116f7613894565b8461178e8560016000611708613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b61389c565b6001905092915050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d86128a4565b151561184c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b806000111515156118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436c6f73696e6720666565206d757374206265206f766572203000000000000081525060200191505060405180910390fd5b8061271010151515611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061451b6021913960400191505060405180910390fd5b80600a8190555050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600d600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa8159d062909288cfe1bc71a9cb71a800664f2658fc2588d52676a844f1b0f13833384604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b611b966128a4565b1515611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611c1482826136d7565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600854905060016008600082825401925050819055508060085410151515611c6557fe5b6001600c600083815260200190815260200160002060006101000a81548160ff02191690831515021790555033600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8b6c1d05c678fa59695e26465a85918ce0fc63a88f74af53d1daef8f0a9c78048133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a18091505090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dcb6128a4565b1515611e3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b81600c600082815260200190815260200160002060009054906101000a900460ff161515611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561206c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b81600e600085815260200190815260200160002054101515156120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143216025913960400191505060405180910390fd5b600082600e6000868152602001908152602001600020540390506000600f6000868152602001908152602001600020541415156121865761212e81600f6000878152602001908152602001600020546136a3565b1515612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806143e1603e913960400191505060405180910390fd5b5b80600e6000868152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156121e4573d6000803e3d6000fd5b507f6c0ea3bea9dd66afa8f9d39d6eb93d833466190330813b42835efc650dca4cb98484604051808381526020018281526020019250505060405180910390a150505050565b81600c600082815260200190815260200160002060009054906101000a900460ff1615156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612396576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600082612710600a5485028115156123aa57fe5b04019050806123b833611d7b565b1015151561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f546f6b656e2062616c616e636520746f6f206c6f77000000000000000000000081525060200191505060405180910390fd5b80600f6000868152602001908152602001600020541015151561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143466032913960400191505060405180910390fd5b82600f6000868152602001908152602001600020600082825403925050819055506124c73382613e9e565b612504600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5486028115156124fe57fe5b046136d7565b7fca61a5a543395ef00f7dc6426b9f9b227c0ef853a44388cdd9fddbbabd2e087a8484604051808381526020018281526020019250505060405180910390a150505050565b80600c600082815260200190815260200160002060009054906101000a900460ff1615156125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156126b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b6000600f600084815260200190815260200160002054141515612740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5661756c7420686173206f75747374616e64696e67206465627400000000000081525060200191505060405180910390fd5b6000600e6000848152602001908152602001600020541015156127b8573373ffffffffffffffffffffffffffffffffffffffff166108fc600e6000858152602001908152602001600020549081150290604051600060405180830381858888f193505050501580156127b6573d6000803e3d6000fd5b505b600c600083815260200190815260200160002060006101000a81549060ff0219169055600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600e600083815260200190815260200160002060009055600f6000838152602001908152602001600020600090557f4fe08624ee65b341c38ab9693d216b909d4ddee1bc8d3fe0fea14026c361b465826040518082815260200191505060405180910390a15050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128e7613894565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000600954905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050905090565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612a3657600080fd5b505afa158015612a4a573d6000803e3d6000fd5b505050506040513d60a0811015612a6057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b612aae6128a4565b1515612b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612b2c8282613e9e565b5050565b6000612bf4612b3d613894565b84612bef856060604051908101604052806025815260200161453c6025913960016000612b68613894565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b61389c565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600a54905090565b60085481565b6000612c42612c3b613894565b8484613a97565b6001905092915050565b612c546128a4565b1515612cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80612cd16115e9565b11151515612d2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806143786038913960400191505060405180910390fd5b8060098190555050565b80600c600082815260200190815260200160002060009054906101000a900460ff161515612dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600d600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612ea0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5661756c74206973206e6f74206f776e656420627920796f750000000000000081525060200191505060405180910390fd5b600034600e600085815260200190815260200160002054019050600e6000848152602001908152602001600020548110151515612ed957fe5b80600e6000858152602001908152602001600020819055507f52c4e7127ec34e8fc95f09ce2d06b4f00acca12ccbcdfb246ef67ee6aefe068d8334604051808381526020018281526020019250505060405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160a06040518083038186803b158015612fe257600080fd5b505afa158015612ff6573d6000803e3d6000fd5b505050506040513d60a081101561300c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050505050509150508091505090565b600c600082815260200190815260200160002060009054906101000a900460ff1615156130e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b60008061311a600e600085815260200190815260200160002054600f600086815260200190815260200160002054614059565b915091506000818381151561312b57fe5b0490506007548110151561318a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806144c76030913960400191505060405180910390fd5b60006007548481151561319957fe5b04905060006131a6612f5b565b828115156131b057fe5b049050600081600f600089815260200190815260200160002054039050806131d733611d7b565b10151515613230576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806143b06031913960400191505060405180910390fd5b6000600d600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600d60008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f60008a8152602001908152602001600020819055506132dc3383613e9e565b7fd5f2917d6c1a1057183be88f3f1c867cf597030f2cd1197a2fdfe1f51376d0cb88823385604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a15050505050505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6134526128a4565b15156134c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134ff57fe5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61354b6128a4565b15156135bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6135c8816140db565b50565b6000600c600083815260200190815260200160002060009054906101000a900460ff161515613662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661756c7420646f6573206e6f7420657869737400000000000000000000000081525060200191505060405180910390fd5b600f600083815260200190815260200160002054612710600a54600f6000868152602001908152602001600020540281151561369a57fe5b04019050919050565b60008060006136b28585614059565b91509150600081838115156136c357fe5b049050600754811015935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561377c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61379181600254613e1490919063ffffffff16565b6002819055506137e8816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144f76024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806142d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515613b1f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806144a26025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061426e6023913960400191505060405180910390fd5b613c1381606060405190810160405280602681526020016142fb602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ca6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582901515613e01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dc6578082015181840152602081019050613dab565b50505050905090810190601f168015613df35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110151515613e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613f26576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806144476021913960400191505060405180910390fd5b613f928160606040519081016040528060228152602001614291602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613d529092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fe98160025461422390919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060006140666129af565b1415151561407057fe5b600061407a612f5b565b1415151561408457fe5b600061408e6129af565b8502905084811015151561409e57fe5b60006140a8612f5b565b850290508481101515156140b857fe5b600060648302905082811115156140cb57fe5b8082945094505050509250929050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142b36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061426583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613d52565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655661756c7420646f6573206e6f74206861766520656e6f75676820636f6c6c61746572616c5661756c742064656274206c657373207468616e20616d6f756e7420746f20706179206261636b2028706c757320666565297365744365696c696e673a204d757374206265206f7665722074686520616d6f756e74206f66206f75747374616e64696e6720646562742e546f6b656e2062616c616e636520746f6f206c6f7720746f20706179206f6666206f75747374616e64696e6720646562745769746864726177616c20776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f2061646472657373426f72726f7720776f756c6420707574207661756c742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735661756c74206973206e6f742062656c6f77206d696e696d756d20636f6c6c61746572616c2070657263656e7461676545524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436c6f73696e6720666565206d75737420626520756e646572203130302e30302545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f626f72726f77546f6b656e3a2043616e6e6f74206d696e74206f76657220746f74616c537570706c792ea165627a7a7230582060626f903f36d86fa4021458e90e426178621633154b8d845cc3105fb81e11060029"},Yt=[{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"},{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"_mai",type:"address"},{internalType:"address",name:"_collateral",type:"address"},{internalType:"string",name:"baseURI",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"AddedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BorrowToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"riskyVault",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newVault",type:"uint256"},{indexed:!1,internalType:"address",name:"riskyVaultBuyer",type:"address"},{indexed:!1,internalType:"uint256",name:"amountPaidtoBuy",type:"uint256"}],name:"BoughtRiskyDebtVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"BurnedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"}],name:"CreateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"DepositCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"}],name:"DestroyVault",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"debtRepaid",type:"uint256"},{indexed:!1,internalType:"uint256",name:"collateralLiquidated",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"LiquidateVault",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"closingFee",type:"uint256"}],name:"PayBackToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"}],name:"RemovedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"UpdatedAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedClosingFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"UpdatedDebtRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"_ethPriceSourceAddress",type:"address"}],name:"UpdatedEthPriceSource",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_adminFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_refFee",type:"uint256"}],name:"UpdatedFees",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"promoter",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedFrontEnd",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"UpdatedGainRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"interestRate",type:"uint256"}],name:"UpdatedInterestRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMaxDebt",type:"uint256"}],name:"UpdatedMaxDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinCollateralRatio",type:"uint256"}],name:"UpdatedMinCollateralRatio",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newMinDebt",type:"uint256"}],name:"UpdatedMinDebt",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"UpdatedOpeningFee",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"oracle",type:"string"}],name:"UpdatedOracleName",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newRef",type:"address"}],name:"UpdatedRef",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pool",type:"address"}],name:"UpdatedStabilityPool",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"uri",type:"string"}],name:"UpdatedTokenURI",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"vaultID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawCollateral",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"earned",type:"uint256"}],name:"WithdrawInterest",type:"event"},{inputs:[],name:"_minimumCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"accumulatedVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"addFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"adm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"adminFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"borrowToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountToken",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"buyRiskDebtVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"promoFee",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"ethPriceSourceAddress",type:"address"}],name:"changeEthPriceSource",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCollateralPercentage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkExtract",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkLiquidation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"checkRiskyVault",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"closingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"collateral",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"createVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"debtRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimalDifferenceRaisedToTen",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"destroyVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ethPriceSource",outputs:[{internalType:"contract IPriceSource",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"gainRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getClosingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDebtCeiling",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEthPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pay",type:"address"}],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getPaid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getTokenPriceSource",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTotalValueLocked",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"iR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_collateral",type:"uint256"},{internalType:"uint256",name:"debt",type:"uint256"}],name:"isValidCollateral",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"lastInterest",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"liquidateVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mai",outputs:[{internalType:"contract ERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maiDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"maticDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"openingFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"payBackToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"_front",type:"uint256"}],name:"paybackTokenAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"priceSourceDecimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"promoter",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"ref",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"refFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"}],name:"removeFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adm",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_closingFee",type:"uint256"}],name:"setClosingFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_debtRatio",type:"uint256"}],name:"setDebtRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_admin",type:"uint256"},{internalType:"uint256",name:"_ref",type:"uint256"}],name:"setFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gainRatio",type:"uint256"}],name:"setGainRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_iR",type:"uint256"}],name:"setInterestRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_maxDebt",type:"uint256"}],name:"setMaxDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"minimumCollateralPercentage",type:"uint256"}],name:"setMinCollateralRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_minDebt",type:"uint256"}],name:"setMinDebt",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_openingFee",type:"uint256"}],name:"setOpeningFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_ref",type:"address"}],name:"setRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_pool",type:"address"}],name:"setStabilityPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_uri",type:"string"}],name:"setTokenURI",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stabilityPool",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPeg",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalBorrowed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_promoter",type:"uint256"},{internalType:"uint256",name:"cashback",type:"uint256"}],name:"updateFrontEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_oracle",type:"string"}],name:"updateOracleName",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"updateVaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"vaultCollateral",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vaultCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"}],name:"vaultDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultID",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawInterest",outputs:[],stateMutability:"nonpayable",type:"function"}];exports.FRONTEND=void 0,(ht=exports.FRONTEND||(exports.FRONTEND={}))[ht.MAI=0]="MAI",ht[ht.MANHATTAN=1]="MANHATTAN",ht[ht.STELLASWAP=2]="STELLASWAP";var qt,zt,jt,$t,en,tn,nn,fn,an,pn,sn,un,Fn,on,Pn,yn,rn={CrosschainNativeQiStablecoin:Nt,CrosschainQiStablecoin:Jt,CrosschainQiStablecoinSlim:kt,CrosschainQiStablecoinSlimV2:Vt,CrosschainQiStablecoinV2:Zt,CrosschainQiStablecoinwbtc:_t,Erc20QiStablecoincamwbtc:Kt,Erc20QiStablecoinwbtc:Qt,Erc20Stablecoin:Gt,StableQiVault:Yt,QiStablecoin:Xt},dn=[{shortName:"weth",vaultAddress:"0x98eb27E5F24FB83b7D129D789665b08C258b4cCF",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,oe,18,"WETH","Wrapped Ether"),discriminator:"StableQiVault",connect:vt.connect,minimumCDR:120,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Ethereum)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0x8C45969aD19D297c9B85763e90D0344C6E2ac9d1",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",8,"WBTC","Wrapped Bitcoin"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:120,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Ethereum)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"stake-dao-crv-eth-steth",fallbackUnderlyingAddress:V,vaultAddress:"0xcc61Ee649A95F2E2f0830838681f839BDb7CB823",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV","StakeDAO Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"StakeDAO Curve ETH/stETH (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"yvcrv-eth-steth",fallbackUnderlyingAddress:V,vaultAddress:"0x82E90EB7034C1DF646bD06aFb9E67281AAb5ed28",chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xdCD90C7f6324cfa40d7169ef80b12031770B4325",18,"yvcurve-eth-steth","Yearn Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn Curve ETH/stETH (Ethereum)",underlyingIds:["yearn-finance","weth","lido-staked-ether"],platform:["Yearn","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"yveth",vaultAddress:"0xEcbd32bD581e241739be1763DFE7a8fFcC844ae1",fallbackUnderlyingAddress:oe,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xa258C4606Ca8206D8aA700cE2143D7db854D168c",18,"YVETH","Yearn WETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn WETH (Ethereum)",underlyingIds:["yearn-finance","weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"yvlink",vaultAddress:"0x60d133c666919B54a3254E0d3F14332cB783B733",fallbackUnderlyingAddress:Pe,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x671a912C10bba0CFA74Cfc2d6Fba9BA1ed9530B2",18,"YVLINK","Yearn Link"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn LINK (Ethereum)",underlyingIds:["chainlink"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"yvcurve-steth-f-perf",vaultAddress:"0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0x5B8C556B8b2a78696F0B9B830B3d67623122E270",18,"yvCurve-stETH-f","Curve stETH Factory yVault"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn Curve ETH/stETH (Ethereum)",underlyingIds:["yearn-finance","weth","lido-staked-ether"],platform:["Yearn","Curve"],addedAt:1681002e3,deprecated:!1},{shortName:"stake-dao-crv-eth-steth-perf",vaultAddress:"0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV","StakeDAO Curve.fi ETH/stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"StakeDAO Curve ETH/stETH Perf (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["StakeDAO","Curve"],addedAt:1681002e3,deprecated:!1},{shortName:"beefy-eth-steth-crv-perf",vaultAddress:"0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",fallbackUnderlyingAddress:V,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,"0xa7739fd3d12ac7F16D8329AF3Ee407e19De10D8D",18,"mooConvexStETH","Moo Convex stETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Convex Perf (Eth)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Convex","Lido"],addedAt:1681002e3,deprecated:!1},{shortName:"crv",vaultAddress:"0xCA3EB45FB186Ed4e75B9B22A514fF1d4abAdD123",fallbackUnderlyingAddress:K,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,K,18,"CRV","Curve DAO Token"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Curve (Eth)",underlyingIds:["curve-finance"],platform:["Curve"],addedAt:1681390800,deprecated:!1},{shortName:"cbeth",vaultAddress:Ae,fallbackUnderlyingAddress:G,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,G,18,"cbETH","Coinbase Wrapped Staked ETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"cbEth (Eth)",underlyingIds:["coinbase-wrapped-staked-eth"],platform:["Coinbase"],addedAt:1685365200,deprecated:!1},{shortName:"steth",vaultAddress:me,fallbackUnderlyingAddress:X,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,X,18,"stETH","Liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"stEth (Eth)",underlyingIds:["lido-staked-ether"],addedAt:1685365200,deprecated:!1},{shortName:"ldo",vaultAddress:"0x954ac12c339c60eafbb32213b15af3f7c7a0dec2",fallbackUnderlyingAddress:Y,chainId:exports.ChainId.MAINNET,token:new Ke(exports.ChainId.MAINNET,Y,18,"LDO","Lido DAO Token"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"LDO (Eth)",underlyingIds:["lido-dao-token"],platform:["Lido"],addedAt:1685365200,deprecated:!1}],ln=[{shortName:"ftm",vaultAddress:"0x1066b8FC999c1eE94241344818486D5f944331A0",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,k,18,"FTM","Fantom"),minimumCDR:130,native:!0,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-fantom-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WFTM (Fantom)",underlyingIds:["fantom"],addedAt:162009e4,deprecated:!0},{shortName:"yvwftm",vaultAddress:ae,fallbackUnderlyingAddress:k,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x0DEC85e74A92c52b7F708c4B10207D9560CEFaf0",18,"yvWFTM","Yearn Fantom"),minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-yvwftm-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault WFTM (Fantom)",underlyingIds:["yearn-finance","fantom"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvwbtc",vaultAddress:ie,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xd817A100AB8A29fE3DBd925c2EB489D67F758DA9",8,"yvWBTC","Yearn Wrapped Bitcoin"),fallbackUnderlyingAddress:"0x321162Cd933E2Be498Cd2267a90534A804051b11",minimumCDR:135,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault BTC (Fantom)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvyfi",vaultAddress:pe,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x2C850cceD00ce2b14AA9D658b7Cad5dF659493Db",18,"yvYFI","Yearn Vault YFI"),minimumCDR:135,fallbackUnderlyingAddress:"0x29b0Da86e484E1C0029B56e817912d778aC0EC69",connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault YFI (Fantom)",underlyingIds:["yearn-finance"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yveth",vaultAddress:se,chainId:exports.ChainId.FANTOM,fallbackUnderlyingAddress:"0x74b23882a30290451A17c44f4F05243b6b58C76d",token:new Ke(exports.ChainId.FANTOM,"0xCe2Fc0bDc18BD6a4d9A725791A3DEe33F3a23BB7",18,"yvWETH","Yearn Wrapped Ether"),minimumCDR:135,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Yearn vault ETH (Fantom)",underlyingIds:["yearn-finance","weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"yvwdai",vaultAddress:ue,chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x637eC617c86D24E421328e6CAEa1d92114892439",18,"yvDAI","Yearn DAI"),minimumCDR:110,fallbackUnderlyingAddress:"0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-yvdai-vaults",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["yearn-finance","daidai"],platform:["Yearn"],addedAt:162009e4,deprecated:!0},{shortName:"ftmweth",vaultAddress:"0xD939c268C49c442F037E968F045ba02f499562D4",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"ETH","Ethereum"),minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-fantom-eth-vaults",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Fantom)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"aave",vaultAddress:"0xdB09908b82499CAdb9E6108444D5042f81569bD9",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x6a07A792ab2965C72a5B8088d3a069A7aC3a993B",18,"AAVE","Aave"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"AAVE (Fantom)",underlyingIds:["aave"],addedAt:162009e4,deprecated:!0},{shortName:"sushi",vaultAddress:"0x267bDD1C19C932CE03c7A62BBe5b95375F9160A6",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xae75A438b2E0cB8Bb01Ec1E1e376De11D44477CC",18,"SUSHI","Sushi"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"SUSHI (Fantom)",underlyingIds:["sushiswap"],addedAt:162009e4,deprecated:!0},{shortName:"link",vaultAddress:"0xd6488d586E8Fcd53220e4804D767F19F5C846086",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8",18,"LINK","ChainLink"),minimumCDR:130,connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"LINK (Fantom)",underlyingIds:["chainlink"],addedAt:162009e4,deprecated:!0},{shortName:"btc",vaultAddress:"0xE5996a2cB60eA57F03bf332b5ADC517035d8d094",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"BTC","Bitcoin"),minimumCDR:130,connect:xt.connect,discriminator:"CrosschainQiStablecoinwbtc",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Fantom)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-scream-wbtc",vaultAddress:"0x5563Cc1ee23c4b17C861418cFF16641D46E12436",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x97927aBfE1aBBE5429cBe79260B290222fC9fbba",18,"mooScreamWBTC","Beefy Scream WBTC"),minimumCDR:135,fallbackUnderlyingAddress:"0x321162Cd933E2Be498Cd2267a90534A804051b11",connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4},{shortName:"beefy-scream-dai",vaultAddress:"0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x920786cff2A6f601975874Bb24C63f0115Df7dc8",18,"mooScreamDAI","Beefy Scream DAI"),fallbackUnderlyingAddress:"0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["daidai"],addedAt:162009e4},{shortName:"beefy-scream-eth",vaultAddress:"0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x0a03D2C1cFcA48075992d810cc69Bd9FE026384a",18,"mooScreamETH","Beefy Scream ETH"),fallbackUnderlyingAddress:"0x74b23882a30290451A17c44f4F05243b6b58C76d",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4},{shortName:"beefy-scream-ftm",vaultAddress:"0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x49c68eDb7aeBd968F197121453e41b8704AcdE0C",18,"mooScreamFTM","Beefy Scream FTM"),fallbackUnderlyingAddress:"0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["fantom"],addedAt:162009e4},{shortName:"beefy-scream-link",vaultAddress:"0x8e5e4D08485673770Ab372c05f95081BE0636Fa2",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0x6DfE2AAEA9dAadADf0865B661b53040E842640f8",18,"mooScreamLINK","Beefy Scream LINK"),fallbackUnderlyingAddress:"0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",minimumCDR:135,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["chainlink"],addedAt:162009e4},{shortName:"beefy-spooky-btc-ftm",vaultAddress:"0xF34e271312e41Bbd7c451B76Af2AF8339D6f16ED",deprecated:!0,chainId:exports.ChainId.FANTOM,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.FANTOM,"0xA3e3Af161943CfB3941B631676134bb048739727",18,"mooBooBTC-FTM","Beefy SpookySwap BTC-FTM LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc","fantom"],addedAt:162009e4},{shortName:"beefy-spooky-eth-ftm",vaultAddress:"0x9BA01B1279B1F7152b42aCa69fAF756029A9ABDe",deprecated:!0,chainId:exports.ChainId.FANTOM,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.FANTOM,"0x2a30C5e0d577108F694d2A96179cd73611Ee069b",18,"mooBooETH-FTM","Beefy SpookySwap ETH-FTM LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth","fantom"],addedAt:162009e4},{shortName:"beefy-bifi",vaultAddress:"0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",chainId:exports.ChainId.FANTOM,token:new Ke(exports.ChainId.FANTOM,"0xbF07093ccd6adFC3dEB259C557b61E94c1F66945",18,"mooFantomBIFI","Beefy Staked BIFI"),minimumCDR:140,fallbackUnderlyingAddress:"0xd6070ae98b8069de6b494332d1a1a81b6179d960",connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"mooBIFI (Fantom)",underlyingIds:["beefy-finance"],platform:["Beefy"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"xboo",vaultAddress:"0x3f6cf10e85e9c0630856599FAB8D8BFcd9C0E7D4",chainId:exports.ChainId.FANTOM,fallbackUnderlyingAddress:"0x841fad6eae12c286d1fd18d1d525dffa75c7effe",token:new Ke(exports.ChainId.FANTOM,"0xa48d959AE2E88f1dAA7D5F611E01908106dE7598",18,"XBOO","xBoo MirrorWorld"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"xBOO (Fantom)",underlyingIds:["spookyswap"],platform:["Spookyswap"],addedAt:162009e4,deprecated:!0}],Sn=[{shortName:"beefy-aave-avax",vaultAddress:Fe,chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x1B156C5c75E9dF4CAAb2a5cc5999aC58ff4F9090",18,"mooAaveAVAX","Beefy Aave AVAX"),minimumCDR:135,fallbackUnderlyingAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",connect:St.connect,discriminator:"CrosschainQiStablecoin",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Beefy Aave AVAX (Avalanche)",underlyingIds:["avalanche"],platform:["Beefy","AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"sdav3crv",vaultAddress:"0x13A7fE3Ab741ea6301Db8B164290bE711f546A73",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x0665eF3556520B21368754Fb644eD3ebF1993AD4",18,"sdav3CRV","Stake DAO av3CRV Strategy"),connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",minimumCDR:110,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["stake-dao-crv","tether","daidai","usd-coin"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"avaxwbtc",vaultAddress:"0x1f8f7a1d38e41eaf0ed916def29bdd13f2a3f11a",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x50b7545627a5162F82A992c33b87aDc75187B218",8,"WBTC.e","Wrapped BTC"),connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Avalanche)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"avaxweth",vaultAddress:"0xa9122dacf3fccf1aae6b8ddd1f75b6267e5cbbb8",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",18,"WETH","Wrapped Ethereum"),connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Avalanche)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"avax",vaultAddress:"0x73a755378788a4542a780002a75a7bae7f558730",chainId:exports.ChainId.AVALANCHE,token:new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WAVAX (Avalanche)",underlyingIds:["avalanche"],addedAt:162009e4,deprecated:!0}],Un=[{shortName:"weth-old",vaultAddress:"0xf5c2b1b92456fe1b1208c63d8ea040d464f74a72",chainId:exports.ChainId.ARBITRUM,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",token:new Ke(exports.ChainId.ARBITRUM,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH (OLD)","Wrapped Ether (OLD)"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"weth",vaultAddress:"0xC76a3cBefE490Ae4450B2fCC2c38666aA99f7aa0",chainId:exports.ChainId.ARBITRUM,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.ARBITRUM,"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Arbitrum)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB237f4264938f0903F5EC120BB1Aa4beE3562FfF",chainId:exports.ChainId.ARBITRUM,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",token:new Ke(exports.ChainId.ARBITRUM,"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",8,"WBTC","Wrapped Bitcoin"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Arbitrum)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"gdai",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.ARBITRUM,minimumCDR:112,token:new Ke(exports.ChainId.ARBITRUM,"0xd85E038593d7A098614721EaE955EC2022B9B91B",18,"gDAI","Gains Network DAI"),frontend:exports.FRONTEND.MAI,vaultAddress:Ue,version:2,fallbackUnderlyingAddress:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",underlyingIds:["gns","daidai"],platform:["Gains"],addedAt:162009e4,deprecated:!1},{shortName:"knc",vaultAddress:De,chainId:exports.ChainId.ARBITRUM,token:new Ke(exports.ChainId.ARBITRUM,"0xe4DDDfe67E7164b0FE14E218d80dC4C08eDC01cB",18,"KNC","Kyber Network Crystal (v2)"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-eth-steth-crv",vaultAddress:ce,fallbackUnderlyingAddress:"0x5979D7b546E38E414F7E9822514be443A4800529",chainId:exports.ChainId.ARBITRUM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.ARBITRUM,"0x9E75f8298e458B76382870982788988A0799195b",18,"mooCurveWSTETH","Moo Curve wstETH"),minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Curve (Arbitrum)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Curve","Lido"],addedAt:1680483600,deprecated:!1},{shortName:"arb",vaultAddress:"0x950eCEeE9E7D7366a24fC9D2Ed4C0c37d17a0Fa9",fallbackUnderlyingAddress:Q,chainId:exports.ChainId.ARBITRUM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.ARBITRUM,Q,18,"ARB","Arbitrum"),minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Arb (Arbitrum)",underlyingIds:["arbitrum"],platform:["Arbitrum"],addedAt:1680483600,deprecated:!1}],Dn=[{shortName:"weth",vaultAddress:"0x062016Cd29Fabb26c52BAB646878987fC9B0Bc55",chainId:exports.ChainId.OPTIMISM,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Optimism)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC",chainId:exports.ChainId.OPTIMISM,connect:At.connect,discriminator:"CrosschainQiStablecoinSlimV2",token:new Ke(exports.ChainId.OPTIMISM,"0x68f180fcCe6836688e9084f035309E29Bf0A2095",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Optimism)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"op",vaultAddress:"0xbf1aeA8670D2528E08334083616dD9C5F3B087aE",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000042",18,"OP","Optimism"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"OP (Optimism)",underlyingIds:["optimism"],platform:["Optimism"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-dai",vaultAddress:"0xB89c1b3d9f335B9d8Bb16016F3d60160AE71041f",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",fallbackUnderlyingAddress:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",token:new Ke(exports.ChainId.OPTIMISM,"0x4D153F47F03c237F6360a6eccd185b4aE09c63D0",18,"mooAaveDAI","Beefy OP Aave Dai"),minimumCDR:110,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["daidai"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-weth",vaultAddress:"0xF9CE2522027bD40D3b1aEe4abe969831FE3BeAf5",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x7eE71053102d54Fc843BaEBaf07277C2b6dB64f1",18,"mooAaveWETH","Beefy OP Aave WETH"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy Aave ETH (Optimism)",underlyingIds:["weth"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"beefy-aave-wbtc",vaultAddress:"0xAB91c51b55F7Dd7B34F2FD7217506fD5b632B2B9",fallbackUnderlyingAddress:"0x68f180fcCe6836688e9084f035309E29Bf0A2095",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x8e2cDf8c6477439B7C989e86B917D80871B92339",18,"mooAaveWBTC","Beefy OP Aave WBTC"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy Aave BTC (Optimism)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["Beefy","AaveV3"],addedAt:162009e4,deprecated:!0},{shortName:"wsteth",vaultAddress:ye,fallbackUnderlyingAddress:"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x926B92B15385981416a5E0Dcb4f8b31733d598Cf",18,"wstETH","Wrapped liquid staked Ether 2.0"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Optimism)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:162009e4,deprecated:!1},{shortName:"yvweth",vaultAddress:"0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x22f39d6535dF5767f8F57FEE3B2F941410773ec4",18,"yvWETH","WETH yVault"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Yearn vault ETH (Optimism)",underlyingIds:["weth"],platform:["Yearn"],addedAt:162009e4,deprecated:!1},{shortName:"beefy-eth-steth-crv",vaultAddress:"0xa478E708A27853848C6Bc979668fe6225FEe46Fa",fallbackUnderlyingAddress:"0x4200000000000000000000000000000000000006",chainId:exports.ChainId.OPTIMISM,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.OPTIMISM,"0x480798FAC621adD14113ECC82638305c260cEaf1",18,"mooCurveWSTETH","Beefy OP Curve ETH/stETH"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Beefy stETH Curve (Optimism)",underlyingIds:["weth","lido-staked-ether"],platform:["Beefy","Curve","Lido"],addedAt:162009e4,deprecated:!1},{shortName:"knc",vaultAddress:re,chainId:exports.ChainId.OPTIMISM,token:new Ke(exports.ChainId.OPTIMISM,"0xa00E3A3511aAC35cA78530c85007AFCd31753819",18,"KNC","Kyber Network Crystal (v2)"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0}],cn=[{shortName:"eth",vaultAddress:"0x4a0474E3262d4DB3306Cea4F207B5d66eC8E0AA9",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C",18,"ETH","Ethereum"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"moo-solar-eth-usdc",vaultAddress:"0x97D811A7eb99Ef4Cb027ad59800cE27E68Ee1109",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x932009984bd2a7dA8C6396694E811Da5C0952d05",18,"mooSolarETH-USDC","Beefy Solarbeam ETH-USDC LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth","usd-coin"],addedAt:162009e4,deprecated:!0},{shortName:"movr",native:!0,vaultAddress:"0x5dB6617DDF077d76CFD9d7fC0Fa91aAabc3da683",chainId:exports.ChainId.MOONRIVER,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x98878B06940aE243284CA214f92Bb71a2b032B8A",18,"MOVR","Moonriver"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"MOVR (Moonriver)",underlyingIds:["moonriver"],addedAt:162009e4,deprecated:!0},{shortName:"moo-solar-movr-usdc",vaultAddress:"0xF4fa968578723580935a00d1e12Fe96Bc6401947",chainId:exports.ChainId.MOONRIVER,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.MOONRIVER,"0x78Dc4b7C7A89812fb337dD8C3B0ccB3e04E02D7C",18,"mooSolarMOVR-USDC","Beefy Solarbeam MOVR-USDC LP"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["moonriver","usd-coin"],addedAt:162009e4,deprecated:!0}],An=[{connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MOONBEAM,minimumCDR:200,token:new Ke(exports.ChainId.MOONBEAM,"0xAcc15dC74880C9944775448304B263D191c6077F",18,"WGLMT","Wrapped GLMR"),shortName:"GLMVT",frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x3A82F4da24F93a32dc3C2A28cFA9D6E63EC28531",version:2,underlyingIds:["moonbeam"],addedAt:162009e4,deprecated:!0},{connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MOONBEAM,minimumCDR:250,token:new Ke(exports.ChainId.MOONBEAM,"0x06A3b410b681c82417A906993aCeFb91bAB6A080",18,"xStella","xStella"),shortName:"xSMVT",frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x3756465c5b1C1C4cEe473880c9726E20875284f1",version:2,underlyingIds:[],addedAt:162009e4,deprecated:!0}],mn=[{shortName:"eth",vaultAddress:"0x46469f995A5CB60708200C25EaD3cF1667Ed36d6",chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",deprecated:!0,token:new Ke(exports.ChainId.HARMONY,"0x6983D1E6DEf3690C4d616b13597A09e6193EA013",18,"1ETH","Wrapped Ethereum"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["weth"],addedAt:162009e4},{shortName:"one",vaultAddress:"0x12FcB286D664F37981a42cbAce92eAf28d1dA94f",native:!0,chainId:exports.ChainId.HARMONY,connect:dt.connect,discriminator:"CrosschainNativeQiStablecoin",deprecated:!0,token:new Ke(exports.ChainId.HARMONY,"0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a",18,"ONE","Harmony (ONE)"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["harmony"],addedAt:162009e4},{shortName:"btc_old",vaultAddress:"0x9f4E3d01c634441F284beb92bBAEeb76133BbB28",deprecated:!0,chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.HARMONY,"0x3095c7557bCb296ccc6e363DE01b760bA031F2d9",8,"1WBTC OLD","Wrapped Bitcoin OLD"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4},{shortName:"btc",vaultAddress:"0x4592e0bcf01121757e70404915f220a77ffb4e15",deprecated:!0,chainId:exports.ChainId.HARMONY,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.HARMONY,"0x3095c7557bCb296ccc6e363DE01b760bA031F2d9",8,"1WBTC","Wrapped Bitcoin"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4}],bn=[{shortName:"wbnb",vaultAddress:"0xA56F9A54880afBc30CF29bB66d2D9ADCdcaEaDD6",chainId:exports.ChainId.BSC,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.BSC,"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",18,"Wrapped BNB","WBNB"),minimumCDR:135,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"BNB (BNB)",underlyingIds:["wrapped-bnb"],addedAt:162009e4,deprecated:!0},{shortName:"cake",vaultAddress:"0x014A177E9642d1b4E970418f894985dC1b85657f",connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",chainId:exports.ChainId.BSC,token:new Ke(exports.ChainId.BSC,"0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",18,"PancakeSwap Token","CAKE"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"CAKE (BNB)",underlyingIds:["pancakeswap"],addedAt:162009e4,deprecated:!0},{shortName:"dodo",vaultAddress:"0x7333fd58d8D73a8e5FC1a16C8037ADa4f580FA2B",chainId:exports.ChainId.BSC,token:new Ke(exports.ChainId.BSC,"0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2",18,"DODO","DODO"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:150,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"DODO (BNB)",underlyingIds:["dodo"],addedAt:162009e4,deprecated:!0}],Tn=[{shortName:"weth",vaultAddress:"0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b",chainId:exports.ChainId.XDAI,connect:St.connect,discriminator:"CrosschainQiStablecoin",token:new Ke(exports.ChainId.XDAI,"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",18,"Wrapped Ether","WETH"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Gnosis Chain)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"gno",vaultAddress:"0x014a177e9642d1b4e970418f894985dc1b85657f",chainId:exports.ChainId.XDAI,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.XDAI,"0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb",18,"Gnosis","GNO"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"GNO (Gnosis Chain)",underlyingIds:["gnosis"],addedAt:162009e4,deprecated:!0},{shortName:"sdai",vaultAddress:xe,chainId:exports.ChainId.XDAI,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.XDAI,j,18,"sDAI","Savings xDAI"),minimumCDR:110,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Savings DAI (Gnosis Chain)",underlyingIds:["daidai"],addedAt:1697608800,deprecated:!1}],xn=[{shortName:"matic",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-mai-finance-og",vaultAddress:A,token:new Ke(exports.ChainId.MATIC,s.constants.AddressZero,18,"MATIC","Polygon MATIC"),minimumCDR:150,connect:yt.connect,discriminator:"QiStablecoin",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"camwmatic",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-amwmatic-vaults",vaultAddress:"0x88d84a85A87ED12B8f098e8953B322fF789fCD1a",fallbackUnderlyingAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x7068Ea5255cb05931EFa8026Bd04b18F3DeB8b0B",18,"camWMATIC","Compounding Aave Market MATIC"),minimumCDR:135,aaveId:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf12700xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave MATIC (Polygon)",underlyingIds:["wrapped-matic"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"weth",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-weth-vaults",vaultAddress:"0x3fd939B017b31eaADF9ae50C7fF7Fa5c0661d47C",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WETH (Polygon)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"camweth",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-cam-weth-vaults",vaultAddress:ee,fallbackUnderlyingAddress:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x0470CD31C8FcC42671465880BA81D631F0B76C1D",18,"camWETH","Compounding Aave Market WETH"),minimumCDR:135,aaveId:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6190xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave ETH (Polygon)",underlyingIds:["weth"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"camaave",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-cam-aave-vaults",vaultAddress:te,fallbackUnderlyingAddress:_,token:new Ke(exports.ChainId.MATIC,"0xeA4040B21cb68afb94889cB60834b13427CFc4EB",18,"camAAVE","Compounding Aave Market AAVE"),minimumCDR:135,connect:It.connect,discriminator:"Erc20Stablecoin",aaveId:"0xd6df932a45c0f255f85145f286ea0b292b21c90b0xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave AAVE (Polygon)",underlyingIds:["aave"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"aave",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-aave-vaults",vaultAddress:"0x87ee36f780ae843A78D5735867bc1c13792b7b11",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,_,18,"AAVE","Aave"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"AAVE (Polygon)",underlyingIds:["aave"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"link",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-link-vaults",vaultAddress:"0x61167073E31b1DAd85a3E531211c7B8F1E5cAE72",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",18,"LINK","ChainLink Token"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"LINK (Polygon)",underlyingIds:["chainlink"],addedAt:162009e4,deprecated:!0},{shortName:"crv",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/mai-finance-curve-vaults",vaultAddress:"0x98B5F32dd9670191568b661a3e847Ed764943875",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x172370d5Cd63279eFa6d502DAB29171933a610AF",18,"CRV","Curve Dao Token"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"CRV (Polygon)",underlyingIds:["curve-finance"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-wbtc-vaults",vaultAddress:"0x37131aEDd3da288467B6EBe9A77C523A700E6Ca1",connect:Ot.connect,discriminator:"Erc20QiStablecoinwbtc",token:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"WBTC (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"camwbtc",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-cam-wbtc-vaults",vaultAddress:ne,token:new Ke(exports.ChainId.MATIC,"0xBa6273A78a23169e01317bd0f6338547F869E8Df",8,"camWBTC","Compounding Aave Market WBTC"),minimumCDR:135,aaveId:"0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd60xd05e3e715d945b59290df0ae8ef85c1bdb684744",connect:Mt.connect,discriminator:"Erc20QiStablecoincamwbtc",frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Compounding Aave WBTC (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"bal-old",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-bal-vaults",vaultAddress:"0xf6906b1Cf79Ab14c79DdC7D763c1A517cF9968A5",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3",18,"BAL OLD","Balancer"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["balancer"],addedAt:162009e4,deprecated:!0},{shortName:"dquick-old",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-dquick-vaults",vaultAddress:"0x9e6e3e8161Fffb31a6030E56a3E024842567154F",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0xf28164A485B0B2C90639E47b0f377b4a438a16B1",18,"dQUICK OLD","Dragon QUICK"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["quickswap"],addedAt:162009e4,deprecated:!0},{shortName:"bal",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-bal-vaults-v2",vaultAddress:"0x701A1824e5574B0b6b1c8dA808B184a7AB7A2867",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3",18,"BAL","Balancer"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"BAL (Polygon)",underlyingIds:["balancer"],addedAt:162009e4,deprecated:!0},{shortName:"dquick",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-dquick-vaults-v2",vaultAddress:"0x649Aa6E6b6194250C077DF4fB37c23EE6c098513",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0xf28164A485B0B2C90639E47b0f377b4a438a16B1",18,"dQUICK","Dragon QUICK"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["quickswap","dragon-s-quick"],platform:["QuickSwap"],addedAt:162009e4,deprecated:!0},{shortName:"ghst",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-ghst-vaults",vaultAddress:"0xF086dEdf6a89e7B16145b03a6CB0C0a9979F1433",connect:It.connect,discriminator:"Erc20Stablecoin",token:new Ke(exports.ChainId.MATIC,"0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7",18,"GHST","Aavegotchi GHST"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:1,snapshotName:"GHST (Polygon)",underlyingIds:["aavegotchi"],addedAt:162009e4,deprecated:!0},{shortName:"camdai",chainId:exports.ChainId.MATIC,subgraph:"https://api.thegraph.com/subgraphs/name/0xlaozi/qi-dao-camdai-vaults",vaultAddress:fe,connect:St.connect,discriminator:"CrosschainQiStablecoin",fallbackUnderlyingAddress:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",token:new Ke(exports.ChainId.MATIC,"0xE6C23289Ba5A9F0Ef31b8EB36241D5c800889b7b",18,"camDAI","Compounding Aave Market DAI"),minimumCDR:110,aaveId:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a0630xd05e3e715d945b59290df0ae8ef85c1bdb684744",frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["daidai"],platform:["AaveV2"],addedAt:162009e4,deprecated:!0},{shortName:"sdam3crv",vaultAddress:"0x57Cbf36788113237D64E46f25A88855c3dff1691",connect:bt.connect,discriminator:"CrosschainQiStablecoinV2",chainId:exports.ChainId.MATIC,minimumCDR:110,token:new Ke(exports.ChainId.MATIC,"0x7d60F21072b585351dFd5E8b17109458D97ec120",18,"sdam3CRV","Stake DAO am3CRV Strategy"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["stake-dao-crv","tether","daidai","usd-coin"],platform:["StakeDAO","Curve"],addedAt:162009e4,deprecated:!0},{shortName:"fxs",vaultAddress:"0xff2c44Fb819757225a176e825255a01B3B8BB051",chainId:exports.ChainId.MATIC,connect:St.connect,discriminator:"CrosschainQiStablecoin",minimumCDR:130,token:new Ke(exports.ChainId.MATIC,"0x1a3acf6D19267E2d3e7f898f42803e90C9219062",18,"FXS","Frax Share"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Frax Share (Polygon)",underlyingIds:["frax-share"],addedAt:162009e4,deprecated:!0},{shortName:"cxeth",vaultAddress:"0x7d36999a69f2B99BF3FB98866cBbE47aF43696C8",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0xfe4546feFe124F30788c4Cc1BB9AA6907A7987F9",18,"cxETH","CelsiusX ETH"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["ethereum"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"cxada",vaultAddress:"0x506533B9C16eE2472A6BF37cc320aE45a0a24F11",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x64875Aaa68d1d5521666C67d692Ee0B926b08b2F",18,"cxADA","CelsiusX Wrapped ADA"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["cardano"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"cxdoge",vaultAddress:"0x7CbF49E4214C7200AF986bc4aACF7bc79dd9C19a",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x9Bd9aD490dD3a52f096D229af4483b94D63BE618",18,"cxDOGE","CelsiusX Wrapped DOGE"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["dogecoin"],addedAt:162009e4,deprecated:!0,disabled:!0},{shortName:"vghst",vaultAddress:"0x1F0aa72b980d65518e88841bA1dA075BD43fa933",fallbackUnderlyingAddress:"0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7",chainId:exports.ChainId.MATIC,minimumCDR:130,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x51195e21BDaE8722B29919db56d95Ef51FaecA6C",18,"vGHST","Gotchi Vault GHST"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"vGHST (Polygon)",underlyingIds:["aavegotchi"],addedAt:162009e4,deprecated:!0,platform:["GotchiVault"]},{shortName:"celsius",vaultAddress:"0x178f1c95C85Fe7221C7A6a3d6F12B7Da3253eeAe",chainId:exports.ChainId.MATIC,minimumCDR:135,connect:bt.connect,discriminator:"CrosschainQiStablecoinV2",token:new Ke(exports.ChainId.MATIC,"0xD85d1e945766Fea5Eda9103F918Bd915FbCa63E6",4,"CEL","Celsius"),frontend:exports.FRONTEND.MAI,version:1,underlyingIds:["celsius"],addedAt:162009e4,deprecated:!0},{shortName:"sand",vaultAddress:"0x1DCc1f864A4Bd0b8f4Ad33594B758b68e9Fa872c",chainId:exports.ChainId.MATIC,minimumCDR:135,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683",18,"SAND","The Sandbox Game"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"SAND (Polygon)",underlyingIds:["the-sandbox"],addedAt:162009e4,deprecated:!0},{shortName:"wmatic",vaultAddress:"0x305f113ff78255d4F8524c8F50C7300B91B10f6A",chainId:exports.ChainId.MATIC,minimumCDR:120,connect:Dt.connect,discriminator:"CrosschainQiStablecoinSlim",token:new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped Matic"),frontend:exports.FRONTEND.MAI,version:1,snapshotName:"Wrapped MATIC (Polygon)",underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"xxdai",vaultAddress:"0xaa19d0e397c964a35e6e80262c692dbfC9C23451",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",minimumCDR:110,token:new Ke(exports.ChainId.MATIC,"0xf52B3250E026E0307d7d717AE0f331baAA4F83a8",18,"xxDAI","Tetu xxDAI"),connect:vt.connect,discriminator:"StableQiVault",frontend:exports.FRONTEND.MAI,version:2,underlyingIds:["daidai"],platform:["Tetu"],addedAt:162009e4,deprecated:!0},{shortName:"xxlink",vaultAddress:"0x11826d20B6A16A22450978642404dA95B4640123",chainId:exports.ChainId.MATIC,fallbackUnderlyingAddress:"0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",minimumCDR:150,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x6c5e2E7dF0372f834B7F40D16Ff4333Cf49Af235",18,"xxLINK","Tetu xxLINK"),frontend:exports.FRONTEND.MAI,version:2,snapshotName:"xxLINK (Polygon)",underlyingIds:["chainlink"],platform:["Tetu"],addedAt:162009e4,deprecated:!0},{shortName:"knc",vaultAddress:"0xa3b0A659f2147D77A443f70D96b3cC95E7A26390",chainId:exports.ChainId.MATIC,token:new Ke(exports.ChainId.MATIC,"0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C",18,"KNC","Kyber Network Crystal"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:140,frontend:exports.FRONTEND.MAI,snapshotName:"KNC (Polygon)",version:2,underlyingIds:["kyber-network-crystal"],addedAt:162009e4,deprecated:!0},{shortName:"maidai",vaultAddress:"0x7d75F83f0aBe2Ece0b9Daf41CCeDdF38Cb66146b",chainId:exports.ChainId.MATIC,token:new Ke(exports.ChainId.MATIC,"0x873f4aE80867b9f97304B9Bb7Ef92c4d563fA48c",18,"aMAIDAI","Arrakis MAI/DAI"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:102,frontend:exports.FRONTEND.MAI,fallbackUnderlyingAddress:A,version:2,underlyingIds:["daidai","mai-finance"],platform:["Arrakis"],addedAt:162009e4,deprecated:!0},{shortName:"LSMMVT",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic"),frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x4b7509ce029656341D0B59D387D9B5312E41615a",version:2,underlyingIds:["wrapped-matic"],addedAt:162009e4,deprecated:!0},{shortName:"STMMVT",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMatic","Staked Matic"),frontend:exports.FRONTEND.MANHATTAN,vaultAddress:"0x34fa22892256216a659D4f635354250b4D771458",version:2,underlyingIds:["lido-staked-matic"],platform:["Lido"],addedAt:162009e4,deprecated:!0},{shortName:"stmatic",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMATIC","Staked MATIC (PoS)"),frontend:exports.FRONTEND.MAI,vaultAddress:de,version:2,underlyingIds:["lido-staked-matic"],platform:["Lido"],addedAt:162009e4,deprecated:!1},{shortName:"gdai",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:112,token:new Ke(exports.ChainId.MATIC,"0x91993f2101cc758D0dEB7279d41e880F7dEFe827",18,"gDAI","Gains Network DAI"),frontend:exports.FRONTEND.MAI,vaultAddress:le,version:2,fallbackUnderlyingAddress:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",underlyingIds:["gns","daidai"],platform:["Gains"],addedAt:162009e4,deprecated:!1},{shortName:"maticx",connect:vt.connect,discriminator:"StableQiVault",chainId:exports.ChainId.MATIC,minimumCDR:135,token:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic (PoS)"),frontend:exports.FRONTEND.MAI,vaultAddress:Se,version:2,underlyingIds:["stader-maticx"],platform:["Stader"],addedAt:162009e4,deprecated:!1},{shortName:"wsteth",vaultAddress:"0x3bcbAC61456c9C9582132D1493A00E318EA9C122",fallbackUnderlyingAddress:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0xcC03032fBf096F14a2DE8809c79d8b584151212B",18,"wstETH","Wrapped liquid staked Ether 2.0"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Optimism)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1679274e3,deprecated:!1},{shortName:"wbtc-i",vaultAddress:"0x169d47043CC0c94c39fa327941c56CB0344dc508",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC-I (Polygon)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:1683594e3,deprecated:!1},{shortName:"weth-i",vaultAddress:"0xB5B31E6A13aE856bc30b3C76B16eDaD9F432B54F",chainId:exports.ChainId.MATIC,connect:vt.connect,discriminator:"StableQiVault",token:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH-I (Polygon)",underlyingIds:["weth"],addedAt:1683594e3,deprecated:!1}],En=[{shortName:"metis",vaultAddress:"0x10DcBEe8afA39a847707e16Aea5eb34c6b01aBA9",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"METIS","Metis"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:155,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"METIS (Metis)",underlyingIds:["metis-token"],addedAt:162009e4,deprecated:!0},{shortName:"weth",vaultAddress:"0xC09c73F7B32573d178138E76C0e286BA21085c20",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0x420000000000000000000000000000000000000A",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Metis)",underlyingIds:["weth"],addedAt:162009e4,deprecated:!0},{shortName:"wbtc",vaultAddress:"0xB89c1b3d9f335B9d8Bb16016F3d60160AE71041f",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,Z,8,"WBTC","Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Metis)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"mwbtc",vaultAddress:"0x5A03716bd1f338D7849f5c9581AD5015ce0020B0",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0x433E43047B95cB83517abd7c9978Bdf7005E9938",8,"m.WBTC","Metis Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"m.WBTC (Metis)",fallbackUnderlyingAddress:Z,underlyingIds:["wrapped-bitcoinwbtc"],addedAt:162009e4,deprecated:!0},{shortName:"metis",vaultAddress:"0x19Cb63CCbfAC2f28B1fd79923f6aDfC096e6EBB4",chainId:exports.ChainId.METIS,token:new Ke(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",18,"METIS","Metis"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MANHATTAN,version:2,underlyingIds:["metis-token"],addedAt:1683853200,deprecated:!1}],Mn=[{shortName:"weth",vaultAddress:"0x4d4872fe2D6B8a6297e77510FfEe4EE7c4B274bc",chainId:exports.ChainId.ZKEVM,token:new Ke(exports.ChainId.ZKEVM,"0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (ZKEVM)",underlyingIds:["weth"],addedAt:1686618e3,deprecated:!1},{shortName:"wmatic",vaultAddress:"0xC8A3e6F64f3a73F5b53Dbf4E20C8A2847161f7AE",chainId:exports.ChainId.ZKEVM,token:new Ke(exports.ChainId.ZKEVM,"0xa2036f0538221a77A3937F1379699f44945018d0",18,"WMATIC","Wrapped Matic"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WMATIC (ZKEVM)",underlyingIds:["wrapped-matic"],addedAt:1686618e3,deprecated:!1}],Hn=[{shortName:"weth",vaultAddress:"0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6",chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WETH (Base)",underlyingIds:["weth"],addedAt:1686618e3,deprecated:!1},{shortName:"cbeth",vaultAddress:be,chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,q,18,"cbETH","Coinbase Wrapped Staked ETH"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"cbEth (Base)",underlyingIds:["coinbase-wrapped-staked-eth"],platform:["Coinbase"],addedAt:1685365200,deprecated:!1},{shortName:"wsteth",vaultAddress:Te,chainId:exports.ChainId.BASE,token:new Ke(exports.ChainId.BASE,z,18,"wstETH","liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:125,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Base)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1700096400,deprecated:!1}],On=[{shortName:"wsteth",vaultAddress:"0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,$,18,"WSTETH","Wrapped liquid staked Ether 2.0"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Linea)",underlyingIds:["lido-staked-ether"],platform:["Lido"],addedAt:1699923600,deprecated:!1},{shortName:"wbtc",vaultAddress:"0x8AB01c5Ee3422099156ab151eecB83c095626599",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,"0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4",8,"WBTC","Wrapped BTC"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"WBTC (Linea)",underlyingIds:["wrapped-bitcoinwbtc"],addedAt:1700096400,deprecated:!1},{shortName:"weth",vaultAddress:"0x7f9Dd991e8fD0cBb52CB8Eb35DD35c474a9a7a70",chainId:exports.ChainId.LINEA,token:new Ke(exports.ChainId.LINEA,"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",18,"WETH","Wrapped Ether"),connect:vt.connect,discriminator:"StableQiVault",minimumCDR:130,frontend:exports.FRONTEND.MAI,version:2,snapshotName:"Wrapped Staked ETH (Linea)",underlyingIds:["lido-staked-ether"],addedAt:1699923600,deprecated:!1}],Cn=((Wt={})[exports.ChainId.MAINNET]=dn,Wt[exports.ChainId.FANTOM]=ln,Wt[exports.ChainId.AVALANCHE]=Sn,Wt[exports.ChainId.ARBITRUM]=Un,Wt[exports.ChainId.OPTIMISM]=Dn,Wt[exports.ChainId.MOONRIVER]=cn,Wt[exports.ChainId.MOONBEAM]=An,Wt[exports.ChainId.HARMONY]=mn,Wt[exports.ChainId.BSC]=bn,Wt[exports.ChainId.XDAI]=Tn,Wt[exports.ChainId.MATIC]=xn,Wt[exports.ChainId.METIS]=En,Wt[exports.ChainId.CUBE]=[],Wt[exports.ChainId.HECO]=[],Wt[exports.ChainId.KOVAN]=[],Wt[exports.ChainId.FUJI]=[],Wt[exports.ChainId.CELO]=[],Wt[exports.ChainId.MOONBASE]=[],Wt[exports.ChainId.BOBA]=[],Wt[exports.ChainId.AURORA]=[],Wt[exports.ChainId.GÖRLI]=[],Wt[exports.ChainId.MILKOMEDA]=[],Wt[exports.ChainId.BSC_TESTNET]=[],Wt[exports.ChainId.CRONOS]=[],Wt[exports.ChainId.MATIC_TESTNET]=[],Wt[exports.ChainId.FANTOM_TESTNET]=[],Wt[exports.ChainId.HARMONY_TESTNET]=[],Wt[exports.ChainId.HECO_TESTNET]=[],Wt[exports.ChainId.SYSCOIN]=[],Wt[exports.ChainId.IOTEX]=[],Wt[exports.ChainId.KAVA]=[],Wt[exports.ChainId.KLAYTN]=[],Wt[exports.ChainId.CANTO]=[],Wt[exports.ChainId.DOGECHAIN]=[],Wt[exports.ChainId.ZKEVM]=Mn,Wt[exports.ChainId.BASE]=Hn,Wt[exports.ChainId.LINEA]=On,Wt[exports.ChainId.SCROLL]=[],Wt[exports.ChainId.FRAXTAL]=[],Wt),In={Beefy:{description:J["beefy-finance"].shortDescription,logo:J["beefy-finance"].logo},Yearn:{description:J["yearn-finance"].shortDescription,logo:J["yearn-finance"].logo},Curve:{description:J["curve-finance"].shortDescription,logo:J["curve-finance"].logo},AaveV2:{description:J.aave.shortDescription,logo:J.aave.logo},AaveV3:{description:J.aave.shortDescription,logo:J.aave.logo},Balancer:{description:J.balancer.shortDescription,logo:J.balancer.logo},Lido:{description:J["lido-dao-token"].shortDescription,logo:J["lido-dao-token"].logo},Arrakis:{description:"Arrakis is web3's trustless market making infrastructure protocol that enables running sophisticated algorithmic strategies on Uniswap V3. Liquidity providers can utilize Arrakis Vaults to have their liquidity be managed in an automated, capital efficient, non-custodial and transparent manner.",logo:"https://icons.llamao.fi/icons/protocols/arrakis-finance"},QuickSwap:{description:J.quickswap.shortDescription,logo:J.quickswap.logo},Gains:{description:J.gns.shortDescription,logo:J.gns.logo},GotchiVault:{description:"Gotchi Vault allows users to deposit their GHST and Aavegotchis into the Vault smart contracts to be collectively managed.",logo:"https://icons.llamao.fi/icons/protocols/gotchivault"},Stader:{description:"Stader offers the most convenient & safest way to maximize your returns on staking.",logo:"https://icons.llamao.fi/icons/protocols/stader"},StakeDAO:{description:"Stake Capital DAO is a revenue sharing DAO which tokenizes Stake Capital's DeFi services and uses staking derivatives to unlock additional decentralized products. The Stake Capital DAO distributes value generated by a basket of DeFi services to stakeholders.",logo:"https://icons.llamao.fi/icons/protocols/stakedao"},Tetu:{description:"Tetu is a decentralized organization committed to providing a next generation yield aggregator to DeFi investors.",logo:"https://icons.llamao.fi/icons/protocols/tetu"},Spookyswap:{description:"Automated Market Maker (AMM) built on the Fantom Opera Network.",logo:"https://icons.llamao.fi/icons/protocols/spookyswap"},Convex:{description:"Convex simplifies your Curve-boosting experience to maximize your yields.",logo:"https://icons.llamao.fi/icons/protocols/convex-finance"},Coinbase:{description:"Coinbase is a secure online platform for buying, selling, transferring, and storing digital currency.",logo:"https://s2.tokeninsight.com/static/elogo/64x64/536.png"},Optimism:{description:J.optimism.shortDescription,logo:J.optimism.logo},Arbitrum:{description:J.arbitrum.shortDescription,logo:J.arbitrum.logo}},Rn=function(e,t,n,f,a,i,p,u){try{var F=new s.Contract(t,gt,e);return Promise.resolve(F.beefyZapFromVault(i,p,n,f,a,He({gasLimit:35e5},u)))}catch(e){return Promise.reject(e)}},vn=function(e,t,n,f,a,i,p,u){try{var F=new s.Contract(t,gt,e);return Promise.resolve(F.beefyZapToVault(i,p,n,f,a,u))}catch(e){return Promise.reject(e)}},Wn="0xE2379CB4c4627E5e9dF459Ce08c2342C696C4c1f";function hn(e){var t=e.underlying,n=e.mooAssetAddress,f=e.mooAssetVaultAddress,a=e.zapperAddress;return{vaultType:e.vaultType,zapperAddress:a,underlying:t,underlyingPriceSourceAddress:e.underlyingPriceSourceAddress,mooAssetAddress:n,collateralScaling:e.collateralScaling,underlyingScaling:e.underlyingScaling,zapInFunction:function(e,i,p,s){return vn(p,a,t.address,n,f,e,i,s)},zapOutFunction:function(e,i,p,s){return Rn(p,a,t.address,n,f,e,i,s)}}}var wn=((jt={})[exports.ChainId.AVALANCHE]=((qt={})[Fe]=hn({vaultType:"BEEFY",zapperAddress:"0x1d0a9E2c445EB8f99767eF289832637921e6F6a5",underlying:new Ke(exports.ChainId.AVALANCHE,"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",18,"WAVAX","Wrapped AVAX"),underlyingPriceSourceAddress:"0x0A77230d17318075983913bC2145DB16C7366156",mooAssetAddress:"0x1B156C5c75E9dF4CAAb2a5cc5999aC58ff4F9090",mooAssetVaultAddress:Fe}),qt),jt[exports.ChainId.FANTOM]=((zt={})[ae]=hn({vaultType:"YEARN",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Fantom"),underlyingPriceSourceAddress:"0xf4766552D15AE4d256Ad41B6cf2933482B0680dc",mooAssetAddress:"0x0DEC85e74A92c52b7F708c4B10207D9560CEFaf0",mooAssetVaultAddress:ae}),zt[ie]=hn({vaultType:"YEARN",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"WBTC","Wrapped Bitcoin"),underlyingPriceSourceAddress:"0x8e94C22142F4A64b99022ccDd994f4e9EC86E4B4",collateralScaling:{priceScalingFactor:{scalingFactor:1e10,scaleVia:"mul"}},underlyingScaling:{liquidationScalingFactor:{scalingFactor:1e10,scaleVia:"div"}},mooAssetAddress:"0xd817A100AB8A29fE3DBd925c2EB489D67F758DA9",mooAssetVaultAddress:ie}),zt[pe]=hn({vaultType:"YEARN",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x29b0Da86e484E1C0029B56e817912d778aC0EC69",18,"YFI","Yearn.finance"),underlyingPriceSourceAddress:"0x9d5c6db3bf2904d9277a7b82698a588a05a0679a",mooAssetAddress:"0x2C850cceD00ce2b14AA9D658b7Cad5dF659493Db",mooAssetVaultAddress:pe}),zt[se]=hn({vaultType:"YEARN",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"WETH","Wrapped Ether"),underlyingPriceSourceAddress:"0x425eA1422DBF9764D9f84e6d581c3e0187C5A340",mooAssetAddress:"0xCe2Fc0bDc18BD6a4d9A725791A3DEe33F3a23BB7",mooAssetVaultAddress:se}),zt[ue]=hn({vaultType:"YEARN",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",18,"DAI","Dai Stablecoin"),underlyingPriceSourceAddress:"0x91d5DEFAFfE2854C7D02F50c80FA1fdc8A721e52",mooAssetAddress:"0x637ec617c86d24e421328e6caea1d92114892439",mooAssetVaultAddress:ue}),zt["0x5563Cc1ee23c4b17C861418cFF16641D46E12436"]=hn({vaultType:"BEEFY",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x321162Cd933E2Be498Cd2267a90534A804051b11",8,"BTC","Bitcoin"),underlyingPriceSourceAddress:"0x8e94C22142F4A64b99022ccDd994f4e9EC86E4B4",mooAssetAddress:"0x97927abfe1abbe5429cbe79260b290222fc9fbba",mooAssetVaultAddress:"0x5563Cc1ee23c4b17C861418cFF16641D46E12436",collateralScaling:{liquidationScalingFactor:{scalingFactor:Math.pow(10,10),scaleVia:"div"}}}),zt["0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146"]=hn({vaultType:"BEEFY",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",18,"DAI","Dai Stablecoin"),underlyingPriceSourceAddress:"0x91d5DEFAFfE2854C7D02F50c80FA1fdc8A721e52",mooAssetAddress:"0x920786cff2A6f601975874Bb24C63f0115Df7dc8",mooAssetVaultAddress:"0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146"}),zt["0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e"]=hn({vaultType:"BEEFY",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0x74b23882a30290451A17c44f4F05243b6b58C76d",18,"ETH","Ethereum"),underlyingPriceSourceAddress:"0x11DdD3d147E5b83D01cee7070027092397d63658",mooAssetAddress:"0x0a03D2C1cFcA48075992d810cc69Bd9FE026384a",mooAssetVaultAddress:"0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e"}),zt["0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90"]=hn({vaultType:"BEEFY",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,k,18,"WFTM","Wrapped Fantom"),underlyingPriceSourceAddress:"0xf4766552D15AE4d256Ad41B6cf2933482B0680dc",mooAssetAddress:"0x49c68eDb7aeBd968F197121453e41b8704AcdE0C",mooAssetVaultAddress:"0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90"}),zt["0x8e5e4D08485673770Ab372c05f95081BE0636Fa2"]=hn({vaultType:"BEEFY",zapperAddress:Wn,underlying:new Ke(exports.ChainId.FANTOM,"0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8",18,"LINK","ChainLink"),underlyingPriceSourceAddress:"0x221C773d8647BC3034e91a0c47062e26D20d97B4",mooAssetAddress:"0x6DfE2AAEA9dAadADf0865B661b53040E842640f8",mooAssetVaultAddress:"0x8e5e4D08485673770Ab372c05f95081BE0636Fa2"}),zt["0x75D4aB6843593C111Eeb02Ff07055009c836A1EF"]=hn({vaultType:"BEEFY",underlying:new Ke(exports.ChainId.FANTOM,"0xd6070ae98b8069de6B494332d1A1a81B6179D960",18,"BIFI","Beefy.Finance"),underlyingPriceSourceAddress:"0x4F5Cc6a2291c964dEc4C7d6a50c0D89492d4D91B",mooAssetAddress:"0xbF07093ccd6adFC3dEB259C557b61E94c1F66945",mooAssetVaultAddress:"0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",zapperAddress:Wn}),zt),jt);function Ln(e){var t=e.perfToken,n=e.underlying,f=e.mooAssetVaultAddress,a=e.zapperAddress;return{underlyingPriceSourceAddress:e.underlyingPriceSourceAddress,perfToken:t,underlying:n,zapperAddress:a,zapInFunction:function(e,i,p,u){return new s.Contract(a,Lt,p).beefyZapToVault(e,i,n.address,t,f,He({},u))},zapOutFunction:function(e,i,p,u){return new s.Contract(a,Lt,p).beefyZapFromVault(e,i,n.address,t,f,He({},u))}}}Ln({perfToken:"0x4fC050d75dBA5bF2d6EbD3667FFEc731A45B1f35",mooAssetVaultAddress:Ue,underlying:new Ke(exports.ChainId.ARBITRUM,"0xd85E038593d7A098614721EaE955EC2022B9B91B",18,"gDAI"),underlyingPriceSourceAddress:"0xc5C8E77B397E531B8EC06BFb0048328B30E9eCfB",zapperAddress:T});var Bn,gn,Nn,Jn,kn,Vn,Zn,_n,Kn,Qn,Gn,Xn="0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",Yn="0xd85E038593d7A098614721EaE955EC2022B9B91B",qn="0x4fC050d75dBA5bF2d6EbD3667FFEc731A45B1f35",zn=((Fn={})[exports.ChainId.MAINNET]=(($t={})["0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83"]=Ln({perfToken:"0xE9D954a9A6A1a61bc1120970f84CDd76562c4a0c",mooAssetVaultAddress:"0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",underlying:new Ke(exports.ChainId.MAINNET,"0x5B8C556B8b2a78696F0B9B830B3d67623122E270",18,"yvCurve-stETH-f"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),$t["0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7"]=Ln({perfToken:"0xf2833F5E72207D1Da1EEE7F8395Fb5f49895BBb4",mooAssetVaultAddress:"0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",underlying:new Ke(exports.ChainId.MAINNET,"0xbC10c4F7B9FE0B305e8639B04c536633A3dB7065",18,"sdsteCRV"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),$t["0x86f78d3cbCa0636817AD9e27a44996C738Ec4932"]=Ln({perfToken:"0x3c82A9514327A93928108e9F00D89877F4beB6e3",mooAssetVaultAddress:"0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",underlying:new Ke(exports.ChainId.MAINNET,"0xa7739fd3d12ac7F16D8329AF3Ee407e19De10D8D",18,"mooConvexStETH"),underlyingPriceSourceAddress:"0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",zapperAddress:M}),$t[Ae]=Ln({perfToken:"0x97451025De0beef64c1A454bcF995de6FB8e0f2A",mooAssetVaultAddress:Ae,underlying:new Ke(exports.ChainId.MAINNET,G,18,"Coinbase Wrapped Staked ETH"),underlyingPriceSourceAddress:"0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419",zapperAddress:M}),$t[me]=Ln({perfToken:"0x9414e766E8B59473599b9968aAf52CDCd07f59a9",mooAssetVaultAddress:me,underlying:new Ke(exports.ChainId.MAINNET,X,18,"Liquid staked Ether 2.0"),underlyingPriceSourceAddress:"0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419",zapperAddress:M}),$t),Fn[exports.ChainId.ARBITRUM]=((nn={})[Ue]={underlyingPriceSourceAddress:"0xc5C8E77B397E531B8EC06BFb0048328B30E9eCfB",depositTokens:[new Ke(exports.ChainId.ARBITRUM,Xn,18,"DAI"),new Ke(exports.ChainId.ARBITRUM,Yn,18,"gDAI")],perfToken:qn,withdrawToken:new Ke(exports.ChainId.ARBITRUM,Yn,18,"gDAI"),zapperAddresses:(en={},en[Xn]=E,en[Yn]=T,en),zapOutFunction:function(e,t,n,f){return new s.Contract(T,Lt,n).beefyZapFromVault(e,t,Yn,qn,Ue,He({},f))},zapInFunctions:(tn={},tn[Xn]=function(e,t,n,f){return ut.connect(E,n).gainsZapToVault(e,t,Xn,Yn,qn,Ue,He({},f))},tn[Yn]=function(e,t,n,f){return new s.Contract(T,Lt,n).beefyZapToVault(e,t,Yn,qn,Ue,He({},f))},tn)},nn[De]=Ln({perfToken:"0xe7d5De69F42881cFEABAc44eaf9c782A08B083B8",mooAssetVaultAddress:De,underlying:new Ke(exports.ChainId.ARBITRUM,"0xe4DDDfe67E7164b0FE14E218d80dC4C08eDC01cB",18,"KNC","Kyber Network Crystal (v2)"),underlyingPriceSourceAddress:"0xbF539d4c2106dd4D9AB6D56aed3d9023529Db145",zapperAddress:T}),nn[ce]=Ln({perfToken:"0xf05f0e8760cE9a32df05549309ebEF7Ddb2190Fe",mooAssetVaultAddress:ce,underlying:new Ke(exports.ChainId.ARBITRUM,"0x9E75f8298e458B76382870982788988A0799195b",18,"mooCurveWSTETH","Moo Curve wstETH"),underlyingPriceSourceAddress:"0x07C5b924399cc23c24a95c8743DE4006a32b7f2a",zapperAddress:T}),nn),Fn[exports.ChainId.OPTIMISM]=((fn={})[ye]=Ln({perfToken:"0x926B92B15385981416a5E0Dcb4f8b31733d598Cf",mooAssetVaultAddress:ye,underlying:new Ke(exports.ChainId.OPTIMISM,"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",18,"wstETH","Wrapped liquid staked Ether 2.0"),underlyingPriceSourceAddress:"0x41878779a388585509657CE5Fb95a80050502186",zapperAddress:b}),fn["0x7198FF382b5798dAb7DC72a23C1fec9dc091893B"]=(Bn={underlyingPriceSourceAddress:"0x13e3ee699d1909e989722e753853ae30b17e08c5",perfToken:"0x22f39d6535df5767f8f57fee3b2f941410773ec4",mooAssetAddress:"0x5B977577Eb8a480f63e11FC615D6753adB8652Ae",mooAssetVaultAddress:"0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",zapperAddress:m,underlying:new Ke(exports.ChainId.OPTIMISM,"0x4200000000000000000000000000000000000006",18,"WETH","Wrapped Ether")},kn=Bn.mooAssetVaultAddress,{underlyingPriceSourceAddress:Bn.underlyingPriceSourceAddress,perfToken:gn=Bn.perfToken,underlying:Nn=Bn.underlying,mooAssetAddress:Jn=Bn.mooAssetAddress,zapperAddress:Vn=Bn.zapperAddress,zapInFunction:function(e,t,n,f){return new s.Contract(Vn,Bt,n).beefyZapToVault(e,t,Nn.address,Jn,gn,kn,He({},f))},zapOutFunction:function(e,t,n,f){return new s.Contract(Vn,Bt,n).beefyZapFromVault(e,t,Nn.address,Jn,gn,kn,He({},f))}}),fn["0xa478E708A27853848C6Bc979668fe6225FEe46Fa"]=Ln({underlyingPriceSourceAddress:"0x41878779a388585509657CE5Fb95a80050502186",perfToken:"0x480798FAC621adD14113ECC82638305c260cEaf1",underlying:new Ke(exports.ChainId.OPTIMISM,"0x0892a178c363b4739e5Ac89E9155B9c30214C0c0",18,"mooCurveWSTETH","Moo Curve wstETH"),mooAssetVaultAddress:"0xa478E708A27853848C6Bc979668fe6225FEe46Fa",zapperAddress:b}),fn[re]=Ln({perfToken:"0x80ff0aA765e49D451FF7C7D046f7e8ba732d8bb5",mooAssetVaultAddress:re,underlying:new Ke(exports.ChainId.ARBITRUM,"0xa00E3A3511aAC35cA78530c85007AFCd31753819",18,"KNC","Kyber Network Crystal (v2)"),underlyingPriceSourceAddress:"0xCB24d22aF35986aC1feb8874AdBbDF68f6dC2e96",zapperAddress:b}),fn),Fn[exports.ChainId.MATIC]=((an={})[de]=Ln({underlyingPriceSourceAddress:"0x97371dF4492605486e23Da797fA68e55Fc38a13f",perfToken:"0x4c8DFb55D08bD030814cB6fE774420f3C01a5EdB",underlying:new Ke(exports.ChainId.MATIC,"0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",18,"stMATIC","Staked MATIC (PoS)"),mooAssetVaultAddress:de,zapperAddress:x}),an[le]=Ln({underlyingPriceSourceAddress:"0x4746DeC9e833A82EC7C2C1356372CcF2cfcD2F3D",perfToken:"0x2DeA91E68FDC5693B63924c5FEE0a28cFb78a801",underlying:new Ke(exports.ChainId.MATIC,"0x91993f2101cc758D0dEB7279d41e880F7dEFe827",18,"gDAI","Gains Network DAI"),mooAssetVaultAddress:le,zapperAddress:x}),an[Se]=Ln({underlyingPriceSourceAddress:"0x5d37E4b374E6907de8Fc7fb33EE3b0af403C7403",perfToken:"0x2acD702F7D35d3D2915663d7f7CbDF2863Ec6E79",underlying:new Ke(exports.ChainId.MATIC,"0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",18,"MaticX","Liquid Staking Matic (PoS)"),mooAssetVaultAddress:Se,zapperAddress:x}),an["0x3bcbAC61456c9C9582132D1493A00E318EA9C122"]=Ln({underlyingPriceSourceAddress:"0x10f964234cae09cB6a9854B56FF7D4F38Cda5E6a",perfToken:"0xcC03032fBf096F14a2DE8809c79d8b584151212B",underlying:new Ke(exports.ChainId.MATIC,"0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD",18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:"0x3bcbAC61456c9C9582132D1493A00E318EA9C122",zapperAddress:x}),an),Fn[exports.ChainId.BASE]=((pn={})[be]=Ln({underlyingPriceSourceAddress:"0x5e5CcE0ac9375937D264d0aaf680C5261f95e3ff",perfToken:"0xC765D6B7eA9D4b9CcD8cBAdbB0e4726d68e195E4",underlying:new Ke(exports.ChainId.MAINNET,q,18,"Coinbase Wrapped Staked ETH"),mooAssetVaultAddress:be,zapperAddress:"0x70dD6dEf31E7285EcA5d2341FD9136A786c29422"}),pn[Te]=Ln({underlyingPriceSourceAddress:"0x19Cb63CCbfAC2f28B1fd79923f6aDfC096e6EBB4",perfToken:"0x96c8F7D6Ea190df5c5eF2EbAb6ecd2a86262b810",underlying:new Ke(exports.ChainId.LINEA,z,18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:Te,zapperAddress:"0x70dD6dEf31E7285EcA5d2341FD9136A786c29422"}),pn),Fn[exports.ChainId.XDAI]=((sn={})[xe]=Ln({underlyingPriceSourceAddress:"0xAB91c51b55F7Dd7B34F2FD7217506fD5b632B2B9",perfToken:"0x87A1b336872b710F38C3D99d23624653B2f75088",underlying:new Ke(exports.ChainId.XDAI,j,18,"sDAI","Staked DAI"),mooAssetVaultAddress:xe,zapperAddress:"0xb9e1b02e3a3a58b2c48e5ea3d830007e9d6d2e0b"}),sn),Fn[exports.ChainId.LINEA]=((un={})["0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D"]=Ln({underlyingPriceSourceAddress:"0xe333292A460ec04720f62d035Cb93C36bC1c3EDa",perfToken:"0xFf0756582c66D59F3C1bd413F7D0A720c99B9992",underlying:new Ke(exports.ChainId.LINEA,$,18,"wstETH","Wrapped liquid staked Ether 2.0"),mooAssetVaultAddress:"0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",zapperAddress:"0xD7Acff6De10A71710C05132eB771e96630Ae132b"}),un),Fn),jn=((on={})[exports.ChainId.MATIC]="0xd8d22817D216164D09Ca5909A70bEcA608D65Aa9",on),$n=((yn={})[exports.ChainId.MATIC]=((Pn={})["0x88d84a85A87ED12B8f098e8953B322fF789fCD1a"]={underlyingPriceSourceAddress:"0xAB594600376Ec9fD91F8e885dADF0CE036862dE0",underlying:new Ke(exports.ChainId.MATIC,"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",18,"WMATIC","Wrapped MATIC"),amTokenAddress:"0x8dF3aad3a84da6b69A4DA8aeC3eA40d9091B2Ac4",camTokenAddress:"0x7068Ea5255cb05931EFa8026Bd04b18F3DeB8b0B"},Pn[ee]={underlyingPriceSourceAddress:"0xF9680D99D6C9589e2a93a78A04A279e509205945",underlying:new Ke(exports.ChainId.MATIC,"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",18,"WETH","Wrapped Ether"),amTokenAddress:"0x28424507fefb6f7f8E9D3860F56504E4e5f5f390",camTokenAddress:"0x0470CD31C8FcC42671465880BA81D631F0B76C1D"},Pn[te]={underlyingPriceSourceAddress:"0x72484B12719E23115761D5DA1646945632979bB6",underlying:new Ke(exports.ChainId.MATIC,"0xD6DF932A45C0f255f85145f286eA0b292B21C90B",18,"AAVE","Aave"),amTokenAddress:"0x1d2a0E5EC8E5bBDCA5CB219e649B565d8e5c3360",camTokenAddress:"0xeA4040B21cb68afb94889cB60834b13427CFc4EB"},Pn[ne]={underlyingPriceSourceAddress:"0xDE31F8bFBD8c84b5360CFACCa3539B938dd78ae6",underlying:new Ke(exports.ChainId.MATIC,"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",8,"WBTC","Wrapped BTC"),amTokenAddress:"0x5c2ed810328349100A66B82b78a1791B101C9D61",camTokenAddress:"0xBa6273A78a23169e01317bd0f6338547F869E8Df"},Pn[fe]={underlyingPriceSourceAddress:"0x4746DeC9e833A82EC7C2C1356372CcF2cfcD2F3D",underlying:new Ke(exports.ChainId.MATIC,"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",18,"DAI","Dai Stablecoin"),amTokenAddress:"0x27F8D03b3a2196956ED754baDc28D73be8830A6e",camTokenAddress:"0xE6C23289Ba5A9F0Ef31b8EB36241D5c800889b7b"},Pn),yn);function ef(e,t,n){return void 0===n&&(n=18),function(f,a){return new Ke(f,a,n,e,t)}}var tf=ef("LDO","Lido"),nf=((Zn={})[exports.ChainId.MATIC]=tf(exports.ChainId.MATIC,"0xC3C7d422809852031b44ab29EEC9F1EfF2A58756"),Zn),ff=ef("METIS","Metis"),af=((_n={})[exports.ChainId.METIS]=ff(exports.ChainId.METIS,"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"),_n),pf=ef("SD","Stader Labs"),sf=((Kn={})[exports.ChainId.MATIC]=pf(exports.ChainId.MATIC,"0x1d734A02eF1e1f5886e66b0673b71Af5B53ffA94"),Kn),uf=ef("QI","QiDao"),Ff=((Qn={})[exports.ChainId.MAINNET]=uf(exports.ChainId.MAINNET,"0x559b7bfC48a5274754b08819F75C5F27aF53D53b"),Qn[exports.ChainId.MATIC]=uf(exports.ChainId.MATIC,"0x580A84C73811E1839F75d86d75d88cCa0c241fF4"),Qn[exports.ChainId.FANTOM]=uf(exports.ChainId.FANTOM,"0x68Aa691a8819B07988B18923F712F3f4C8d36346"),Qn[exports.ChainId.AVALANCHE]=uf(exports.ChainId.AVALANCHE,"0xA56F9A54880afBc30CF29bB66d2D9ADCdcaEaDD6"),Qn[exports.ChainId.ARBITRUM]=uf(exports.ChainId.ARBITRUM,"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC"),Qn[exports.ChainId.BOBA]=uf(exports.ChainId.BOBA,"0xC85C1ce70C4Bf751a73793D735e9D0209152F13d"),Qn[exports.ChainId.XDAI]=uf(exports.ChainId.XDAI,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Qn[exports.ChainId.METIS]=uf(exports.ChainId.METIS,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.OPTIMISM]=uf(exports.ChainId.OPTIMISM,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Qn[exports.ChainId.BSC]=uf(exports.ChainId.BSC,"0xdDC3D26BAA9D2d979F5E2e42515478bf18F354D5"),Qn),of=ef("MAI","MAI (miMatic)"),Pf=((Gn={})[exports.ChainId.MAINNET]=of(exports.ChainId.MAINNET,"0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6"),Gn[exports.ChainId.MATIC]=of(exports.ChainId.MATIC,"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1"),Gn[exports.ChainId.FANTOM]=of(exports.ChainId.FANTOM,"0xfB98B335551a418cD0737375a2ea0ded62Ea213b"),Gn[exports.ChainId.AVALANCHE]=of(exports.ChainId.AVALANCHE,"0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b"),Gn[exports.ChainId.MOONBEAM]=of(exports.ChainId.MOONRIVER,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Gn[exports.ChainId.MOONRIVER]=of(exports.ChainId.MOONRIVER,"0xFb2019DfD635a03cfFF624D210AEe6AF2B00fC2C"),Gn[exports.ChainId.HARMONY]=of(exports.ChainId.HARMONY,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.CRONOS]=of(exports.ChainId.CRONOS,"0x2Ae35c8E3D4bD57e8898FF7cd2bBff87166EF8cb"),Gn[exports.ChainId.ARBITRUM]=of(exports.ChainId.ARBITRUM,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.BOBA]=of(exports.ChainId.BOBA,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.XDAI]=of(exports.ChainId.XDAI,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.METIS]=of(exports.ChainId.METIS,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Gn[exports.ChainId.BSC]=of(exports.ChainId.BSC,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.AURORA]=of(exports.ChainId.AURORA,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Gn[exports.ChainId.CELO]=of(exports.ChainId.CELO,"0xB9C8F0d3254007eE4b98970b94544e473Cd610EC"),Gn[exports.ChainId.IOTEX]=of(exports.ChainId.IOTEX,"0x3F56e0c36d275367b8C502090EDF38289b3dEa0d"),Gn[exports.ChainId.OPTIMISM]=of(exports.ChainId.OPTIMISM,"0xdFA46478F9e5EA86d57387849598dbFB2e964b02"),Gn[exports.ChainId.KAVA]=of(exports.ChainId.KAVA,"0xb84Df10966a5D7e1ab46D9276F55d57bD336AFC7"),Gn[exports.ChainId.DOGECHAIN]=of(exports.ChainId.DOGECHAIN,"0xb84Df10966a5D7e1ab46D9276F55d57bD336AFC7"),Gn[exports.ChainId.ZKEVM]=of(exports.ChainId.ZKEVM,"0x615B25500403Eb688Be49221b303084D9Cf0E5B4"),Gn[exports.ChainId.BASE]=of(exports.ChainId.BASE,"0xbf1aeA8670D2528E08334083616dD9C5F3B087aE"),Gn[exports.ChainId.LINEA]=of(exports.ChainId.LINEA,"0xf3B001D64C656e30a62fbaacA003B1336b4ce12A"),Gn);Object.defineProperty(exports,"JSBI",{enumerable:!0,get:function(){return d.default}}),exports.AAVE_ADDRESS=_,exports.ARBI_ARB_ADDRESS=Q,exports.ARBI_ARB_VAULT_ADDRESS="0x950eCEeE9E7D7366a24fC9D2Ed4C0c37d17a0Fa9",exports.ARBI_GAINS_ZAPPER=E,exports.ARBI_GDAI_VAULT_ADDRESS=Ue,exports.ARBI_KNC_VAULT_ADDRESS=De,exports.ARBI_THREE_STEP_ZAPPER=T,exports.ARBI_WSTETH_VAULT_ADDRESS=ce,exports.AVAX_ZAPPER_ADDRESS="0x1d0a9E2c445EB8f99767eF289832637921e6F6a5",exports.BASE_CBETH_ADDRESS=q,exports.BASE_CBETH_VAULT_ADDRESS=be,exports.BASE_THREE_STEP_ZAPPER="0x70dD6dEf31E7285EcA5d2341FD9136A786c29422",exports.BASE_WETH_ADDRESS="0x4200000000000000000000000000000000000006",exports.BASE_WETH_VAULT_ADDRESS="0x8D6CeBD76f18E1558D4DB88138e2DeFB3909fAD6",exports.BASE_WSTETH_ADDRESS=z,exports.BASE_WSTETH_VAULT_ADDRESS=Te,exports.BeefyZapper=gt,exports.CAMAAVE_VAULT_ADDRESS=te,exports.CAMDAI_VAULT_ADDRESS=fe,exports.CAMWBTC_VAULT_ADDRESS=ne,exports.CAMWETH_VAULT_ADDRESS=ee,exports.CAMWMATIC_VAULT_ADDRESS="0x88d84a85A87ED12B8f098e8953B322fF789fCD1a",exports.CAMZAPPER_ADDRESS=jn,exports.CAM_META=$n,exports.COLLATERALS=Cn,exports.CrosschainNativeQiStablecoin__factory=dt,exports.CrosschainQiStablecoinSlimV2__factory=At,exports.CrosschainQiStablecoinSlim__factory=Dt,exports.CrosschainQiStablecoinV2__factory=bt,exports.CrosschainQiStablecoin__factory=St,exports.CrosschainQiStablecoinwbtc__factory=xt,exports.Currency=Ve,exports.CurrencyAmount=at,exports.DISCRIMINATOR_TO_ABI=rn,exports.ETHER=_e,exports.ETH_BEEFY_CONVEX_STETH_VAULT_ADDRESS="0x86f78d3cbCa0636817AD9e27a44996C738Ec4932",exports.ETH_CBETH_ADDRESS=G,exports.ETH_CBETH_VAULT_ADDRESS=Ae,exports.ETH_CRV_ADDRESS=K,exports.ETH_CRV_VAULT_ADDRESS="0xCA3EB45FB186Ed4e75B9B22A514fF1d4abAdD123",exports.ETH_LDO_ADDRESS=Y,exports.ETH_LDO_VAULT_ADDRESS="0x954ac12c339c60eafbb32213b15af3f7c7a0dec2",exports.ETH_SDSTECRV_VAULT_ADDRESS="0x67411793C5Dcf9ABC5a8D113dDD0e596cD5ba3e7",exports.ETH_STETH_ADDRESS=X,exports.ETH_STETH_VAULT_ADDRESS=me,exports.ETH_YVCURVE_STETH_F_VAULT_ADDRESS="0xD1a6F422ceFf5a39b764e340Fd1bCd46C0744F83",exports.Erc20QiStablecoincamwbtc__factory=Mt,exports.Erc20QiStablecoinwbtc__factory=Ot,exports.Erc20Stablecoin__factory=It,exports.FIVE=W,exports.FTM_ZAPPER_ADDRESS="0xE2379CB4c4627E5e9dF459Ce08c2342C696C4c1f",exports.Fraction=et,exports.GDAI_VAULT_ADDRESS=le,exports.GainsZapper__factory=ut,exports.INIT_CODE_HASH="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",exports.InsufficientInputAmountError=ge,exports.InsufficientReservesError=Be,exports.LDO=nf,exports.LINEA_THREE_STEP_ZAPPER="0xD7Acff6De10A71710C05132eB771e96630Ae132b",exports.LINEA_WBTC_ADDRESS="0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4",exports.LINEA_WBTC_VAULT_ADDRESS="0x8AB01c5Ee3422099156ab151eecB83c095626599",exports.LINEA_WETH_ADDRESS="0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",exports.LINEA_WETH_VAULT_ADDRESS="0x7f9Dd991e8fD0cBb52CB8Eb35DD35c474a9a7a70",exports.LINEA_WSTETH_ADDRESS=$,exports.LINEA_WSTETH_VAULT_ADDRESS="0x759D0e8623C5028ED4D447dB25Bbe789FD07A43D",exports.LINK_ADDRESS=Pe,exports.MAI=Pf,exports.MAINNET_ZAPPER=M,exports.MATICX_MAI_VAULT_ADDRESS=Se,exports.MATIC_THREE_STEP_ZAPPER=x,exports.MATIC_WBTC_I_VAULT_ADDRESS="0x169d47043CC0c94c39fa327941c56CB0344dc508",exports.MATIC_WETH_I_VAULT_ADDRESS="0xB5B31E6A13aE856bc30b3C76B16eDaD9F432B54F",exports.MATIC_WSTETH_VAULT_ADDRESS="0x3bcbAC61456c9C9582132D1493A00E318EA9C122",exports.METIS=af,exports.METIS_WBTC_ADDRESS=Z,exports.MINIMUM_LIQUIDITY=O,exports.MOO_BIFI_FTM_VAULT_ADDRESS="0x75D4aB6843593C111Eeb02Ff07055009c836A1EF",exports.MOO_ETH_STETH_CRV_VAULT_ADDRESS="0xa478E708A27853848C6Bc979668fe6225FEe46Fa",exports.MOO_SCREAM_DAI_VAULT_ADDRESS="0xBf0ff8ac03f3E0DD7d8faA9b571ebA999a854146",exports.MOO_SCREAM_ETH_VAULT_ADDRESS="0xC1c7eF18ABC94013F6c58C6CdF9e829A48075b4e",exports.MOO_SCREAM_LINK_VAULT_ADDRESS="0x8e5e4D08485673770Ab372c05f95081BE0636Fa2",exports.MOO_SCREAM_WBTC_VAULT_ADDRESS="0x5563Cc1ee23c4b17C861418cFF16641D46E12436",exports.MOO_SCREAM_WFTM_VAULT_ADDRESS="0x3609A304c6A41d87E895b9c1fd18c02ba989Ba90",exports.MOO_WAVAX_VAULT_ADDRESS=Fe,exports.MULTICALL_NETWORKS=N,exports.OG_MATIC_VAULT=A,exports.ONE=I,exports.OP_KNC_VAULT_ADDRESS=re,exports.OP_QI_ZAPPER=m,exports.OP_THREE_STEP_ZAPPER=b,exports.PERF_TOKEN_ZAP_META=zn,exports.Percent=nt,exports.Price=pt,exports.ProtocolInfo=In,exports.QI=Ff,exports.QiStablecoin__factory=yt,exports.QiZappah=Bt,exports.SCROLL_THREE_STEP_ZAPPER="0xD7Acff6De10A71710C05132eB771e96630Ae132b",exports.SD=sf,exports.SOLIDITY_TYPE_MAXIMA=g,exports.STETH_ADDRESS=V,exports.STMATIC_MAI_VAULT_ADDRESS=de,exports.StableQiVault__factory=vt,exports.TEN=h,exports.THREE=v,exports.TOKEN_DESCRIPTIONS=J,exports.TWO=R,exports.ThreeStepQiZapper=Lt,exports.Token=Ke,exports.TokenAmount=it,exports.WETH_ADDRESS=oe,exports.WFTM_ADDRESS=k,exports.WNATIVE=Ye,exports.WSTETH_VAULT_ADDRESS=ye,exports.XDAI_SDAI_ADDRESS=j,exports.XDAI_SDAI_VAULT_ADDRESS=xe,exports.XDAI_THREE_STEP_ZAPPER="0xb9e1b02e3a3a58b2c48e5ea3d830007e9d6d2e0b",exports.YVDAI_VAULT_ADDRESS=ue,exports.YVETH_VAULT_ADDRESS="0xEcbd32bD581e241739be1763DFE7a8fFcC844ae1",exports.YVLINK_VAULT_ADDRESS="0x60d133c666919B54a3254E0d3F14332cB783B733",exports.YVWBTC_VAULT_ADDRESS=ie,exports.YVWETH_OPTIMISM_VAULT_ADDRESS="0x7198FF382b5798dAb7DC72a23C1fec9dc091893B",exports.YVWETH_VAULT_ADDRESS=se,exports.YVWFTM_VAULT_ADDRESS=ae,exports.YVYFI_VAULT_ADDRESS=pe,exports.ZAP_META=wn,exports.ZERO=C,exports.ZKEVM_WETH_ADDRESS="0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",exports.ZKEVM_WETH_VAULT_ADDRESS="0x4d4872fe2D6B8a6297e77510FfEe4EE7c4B274bc",exports.ZKEVM_WMATIC_ADDRESS="0xa2036f0538221a77A3937F1379699f44945018d0",exports.ZKEVM_WMATIC_VAULT_ADDRESS="0xC8A3e6F64f3a73F5b53Dbf4E20C8A2847161f7AE",exports._100=w,exports._1000=B,exports._997=L,exports.beefyZapFromVault=Rn,exports.beefyZapToVault=vn,exports.crosschainNativeQiStablecoin=Nt,exports.crosschainQiStablecoin=Jt,exports.crosschainQiStablecoinSlim=kt,exports.crosschainQiStablecoinSlimV2=Vt,exports.crosschainQiStablecoinV2=Zt,exports.crosschainQiStablecoinwbtc=_t,exports.currencyEquals=Qe,exports.erc20QiStablecoincamwbtc=Kt,exports.erc20QiStablecoinwbtc=Qt,exports.erc20Stablecoin=Gt,exports.factories=wt,exports.gainsZapper=[{inputs:[],name:"MustBeNominated",type:"error"},{inputs:[],name:"NotOwnerError",type:"error"},{inputs:[],name:"OwnerCannotBeZero",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetUnZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!0,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vaultId",type:"uint256"}],name:"AssetZapped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnerNominated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"addChainToWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapFromVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"gainsZapToVault",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"asset",type:"address"},{internalType:"contract GDAY",name:"amToken",type:"address"},{internalType:"contract pToken",name:"_pToken",type:"address"},{internalType:"contract IStableQiVault",name:"pTokenVault",type:"address"}],internalType:"struct gainsZapper.GChain",name:"chain",type:"tuple"}],name:"isWhiteListed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"}],name:"nominateNewOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nominatedOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauseZapping",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"address",name:"_amAsset",type:"address"},{internalType:"address",name:"_camAsset",type:"address"},{internalType:"address",name:"_camAssetVault",type:"address"}],name:"removeChainFromWhiteList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"resumeZapping",outputs:[],stateMutability:"nonpayable",type:"function"}],exports.isGaugeValid=function(e){return void 0!==e.snapshotName&&!e.deprecated},exports.isV2QiVault=function(e){return 2===e.version},exports.qiStablecoin=Xt,exports.stableQiVault=Yt;
2
2
  //# sourceMappingURL=index.js.map