More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20170910 | 285 days ago | IN | 0 ETH | 0.00071622 | ||||
Set Buy Fees | 20170906 | 285 days ago | IN | 0 ETH | 0.00037206 | ||||
Remove Limits | 20170815 | 285 days ago | IN | 0 ETH | 0.00027355 | ||||
Set Sell Fees | 20170811 | 285 days ago | IN | 0 ETH | 0.0002221 | ||||
Approve | 20170808 | 285 days ago | IN | 0 ETH | 0.00052009 | ||||
Set Sell Fees | 20170807 | 285 days ago | IN | 0 ETH | 0.00022569 | ||||
Launch Token | 20170791 | 285 days ago | IN | 0 ETH | 0.0224913 | ||||
Transfer | 20170640 | 285 days ago | IN | 2 ETH | 0.00016691 | ||||
Transfer | 20170595 | 285 days ago | IN | 0 ETH | 0.00033833 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Add Liquidity ET... | 20170791 | 285 days ago | 2 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
LAIKA
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-06-25 */ /* $LAIKA LAUNCHING TODAY🐕 Laika, the first animal to orbit Earth, was a stray dog rescued from the streets of Moscow. Selected for her calm demeanor and small size, Laika's journey into space on November 3, 1957, marked a monumental moment in history🐕 Her legacy continues to inspire innovators and explorers, including visionaries like Elon Musk, to push the boundaries of what is possible and explore new frontiers. SOCIALS: 🐕 Telegram: https://t.me/LAIKA_eth 📱 Twitter: https://x.com/LAIKA_ETH 🌐 Website: https://laika.ceo WIKI: https://en.wikipedia.org/wiki/Laika TIME Magazine: https://time.com/3546215/laika-1957/ */ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval (address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract LAIKA is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _excludeFromFees; mapping (address => bool) private diamondHands; address payable private _markettingWallets; uint256 openingBlock; uint256 private _initBuyTax=24; uint256 private _initSellTax=24; uint256 private _endBuyTax=2; uint256 private _endSellTax=2; uint256 private _reduceBuyAt=19; uint256 private _reduceSellAt=29; uint256 private _noSwapbackBefore=20; uint256 private _buyAmount=0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Laika The Space Dog"; string private constant _symbol = unicode"LAIKA"; uint256 public _txLimit = 0 * 10**_decimals; uint256 public _walletLimit = 0 * 10**_decimals; uint256 public _swapbackThreshold= _tTotal.mul(1).div(100); uint256 public __swapbackLimit= _tTotal.mul(1).div(100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _txLimit); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _markettingWallets = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _excludeFromFees[owner()] = true; _excludeFromFees[address(this)] = true; _excludeFromFees[_markettingWallets] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner() && from != address(this)) { require(!diamondHands[from] && !diamondHands[to]); taxAmount = amount.mul((_buyAmount>_reduceBuyAt)?_endBuyTax:_initBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _excludeFromFees[to] ) { require(amount <= _txLimit, "Exceeds the _txLimit."); require(balanceOf(to) + amount <= _walletLimit, "Exceeds the maxWalletSize."); if (openingBlock + 3 > block.number) { require(!isContract(to)); } _buyAmount++; } if (to != uniswapV2Pair && !_excludeFromFees[to]) { require(balanceOf(to) + amount <= _walletLimit, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyAmount>_reduceSellAt)?_endSellTax:_initSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_swapbackThreshold && _buyAmount>_noSwapbackBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,__swapbackLimit))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _txLimit = _tTotal; _walletLimit=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _markettingWallets.transfer(amount); } function addHodlers(address[] memory diamondHands_) public onlyOwner { for (uint i = 0; i < diamondHands_.length; i++) { diamondHands[diamondHands_[i]] = true; } } function delHodlers(address[] memory notHolfer) public onlyOwner { for (uint i = 0; i < notHolfer.length; i++) { diamondHands[notHolfer[i]] = false; } } function isHolder(address a) public view returns (bool){ return diamondHands[a]; } function setSellFees(uint256 _newSellFees) public onlyOwner() { _initSellTax = _newSellFees; } function setBuyFees(uint256 _newBuyFees) public onlyOwner() { _endSellTax = _newBuyFees; } function LaunchToken() external onlyOwner() { require(!tradingOpen,"Trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; openingBlock = block.number; _txLimit = _tTotal.mul(20).div(100); _walletLimit = _tTotal.mul(20).div(100); } function withdrawETH() public onlyOwner { payable(msg.sender).transfer(address(this).balance); } function withdrawTokenERC20(address tokenAddress) public onlyOwner { IERC20 tokenContract = IERC20(tokenAddress); uint256 balance = tokenContract.balanceOf(address(this)); require(balance > 0, "No tokens to clear"); tokenContract.transfer(msg.sender, balance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_txLimit","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LaunchToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"__swapbackLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapbackThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"diamondHands_","type":"address[]"}],"name":"addHodlers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notHolfer","type":"address[]"}],"name":"delHodlers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFees","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSellFees","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"withdrawTokenERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526018600755601860085560026009556002600a556013600b55601d600c556014600d555f600e556012600a610039919061040d565b610043905f61041b565b600f556100526012600a61040d565b61005c905f61041b565b60105561008f606461008960016100756012600a61040d565b61008390633b9aca0061041b565b90610211565b9061029d565b6011556100a8606461008960016100756012600a61040d565b6012556014805461ffff60a81b191690553480156100c4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916331790556101236012600a61040d565b61013190633b9aca0061041b565b335f9081526001602081905260408220929092556003906101595f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101b63390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101ed6012600a61040d565b6101fb90633b9aca0061041b565b60405190815260200160405180910390a3610486565b5f825f0361022057505f610297565b5f61022b838561041b565b9050826102388583610432565b146102945760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61029483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506102e460201b60201c565b5f81836103045760405162461bcd60e51b815260040161028b9190610451565b505f6103108486610432565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561036757815f190482111561034d5761034d610319565b8085161561035a57918102915b93841c9390800290610332565b509250929050565b5f8261037d57506001610297565b8161038957505f610297565b816001811461039f57600281146103a9576103c5565b6001915050610297565b60ff8411156103ba576103ba610319565b50506001821b610297565b5060208310610133831016604e8410600b84101617156103e8575081810a610297565b6103f2838361032d565b805f190482111561040557610405610319565b029392505050565b5f61029460ff84168361036f565b808202811582820484141761029757610297610319565b5f8261044c57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b611d22806104935f395ff3fe60806040526004361061014a575f3560e01c80638da5cb5b116100b3578063c5c4ac321161006d578063c5c4ac32146103ad578063d4d7b19a146103cc578063dc714a1314610403578063dcf7aef314610418578063dd62ed3e14610437578063e086e5ec1461047b575f80fd5b80638da5cb5b146102e857806395927c251461030e57806395d89b411461032d578063a9059cbb1461035a578063aa962b0214610379578063bc7732fd1461038e575f80fd5b806359112f931161010457806359112f931461024257806363553e7c1461026357806364b0fdfa1461027857806370a082311461028c578063715018a6146102c0578063751039fc146102d4575f80fd5b806306fdde0314610155578063095ea7b3146101a25780630e2351e2146101d157806318160ddd146101f457806323b872dd14610208578063313ce56714610227575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b506040805180820190915260138152724c61696b612054686520537061636520446f6760681b60208201525b604051610199919061181a565b60405180910390f35b3480156101ad575f80fd5b506101c16101bc366004611873565b61048f565b6040519015158152602001610199565b3480156101dc575f80fd5b506101e660105481565b604051908152602001610199565b3480156101ff575f80fd5b506101e66104a5565b348015610213575f80fd5b506101c161022236600461189d565b6104c5565b348015610232575f80fd5b5060405160128152602001610199565b34801561024d575f80fd5b5061026161025c3660046118db565b61052c565b005b34801561026e575f80fd5b506101e6600f5481565b348015610283575f80fd5b50610261610682565b348015610297575f80fd5b506101e66102a63660046118db565b6001600160a01b03165f9081526001602052604090205490565b3480156102cb575f80fd5b50610261610a7c565b3480156102df575f80fd5b50610261610aed565b3480156102f3575f80fd5b505f546040516001600160a01b039091168152602001610199565b348015610319575f80fd5b506102616103283660046118f6565b610b9e565b348015610338575f80fd5b506040805180820190915260058152644c41494b4160d81b602082015261018c565b348015610365575f80fd5b506101c1610374366004611873565b610bcc565b348015610384575f80fd5b506101e660115481565b348015610399575f80fd5b506102616103a8366004611921565b610bd8565b3480156103b8575f80fd5b506102616103c7366004611921565b610c60565b3480156103d7575f80fd5b506101c16103e63660046118db565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561040e575f80fd5b506101e660125481565b348015610423575f80fd5b506102616104323660046118f6565b610ce3565b348015610442575f80fd5b506101e66104513660046119e1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610486575f80fd5b50610261610d11565b5f61049b338484610d66565b5060015b92915050565b5f6104b26012600a611b0c565b6104c090633b9aca00611b1a565b905090565b5f6104d1848484610e89565b610522843361051d85604051806060016040528060288152602001611cc5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611496565b610d66565b5060019392505050565b5f546001600160a01b0316331461055e5760405162461bcd60e51b815260040161055590611b31565b60405180910390fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c89190611b66565b90505f811161060e5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610555565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611b7d565b50505050565b5f546001600160a01b031633146106ab5760405162461bcd60e51b815260040161055590611b31565b601454600160a01b900460ff16156107055760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610555565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561074e9030906107406012600a611b0c565b61051d90633b9aca00611b1a565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c29190611b9c565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108459190611b9c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b39190611b9c565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108fa816001600160a01b03165f9081526001602052604090205490565b5f8061090d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610973573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109989190611bb7565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109ed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a119190611b7d565b506014805462ff00ff60a01b19166201000160a01b17815543600655610a5e90606490610a5890610a446012600a611b0c565b610a5290633b9aca00611b1a565b906114ce565b90611553565b600f55610a776064610a586014610a446012600a611b0c565b601055565b5f546001600160a01b03163314610aa55760405162461bcd60e51b815260040161055590611b31565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b165760405162461bcd60e51b815260040161055590611b31565b610b226012600a611b0c565b610b3090633b9aca00611b1a565b600f55610b3f6012600a611b0c565b610b4d90633b9aca00611b1a565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b7d6012600a611b0c565b610b8b90633b9aca00611b1a565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610bc75760405162461bcd60e51b815260040161055590611b31565b600855565b5f61049b338484610e89565b5f546001600160a01b03163314610c015760405162461bcd60e51b815260040161055590611b31565b5f5b8151811015610c5c57600160045f848481518110610c2357610c23611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c03565b5050565b5f546001600160a01b03163314610c895760405162461bcd60e51b815260040161055590611b31565b5f5b8151811015610c5c575f60045f848481518110610caa57610caa611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c8b565b5f546001600160a01b03163314610d0c5760405162461bcd60e51b815260040161055590611b31565b600a55565b5f546001600160a01b03163314610d3a5760405162461bcd60e51b815260040161055590611b31565b60405133904780156108fc02915f818181858888f19350505050158015610d63573d5f803e3d5ffd5b50565b6001600160a01b038316610dc85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610555565b6001600160a01b038216610e295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610555565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eed5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610555565b6001600160a01b038216610f4f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610555565b5f8111610fb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610555565b5f80546001600160a01b03858116911614801590610fdb57505f546001600160a01b03848116911614155b8015610ff057506001600160a01b0384163014155b15611359576001600160a01b0384165f9081526004602052604090205460ff1615801561103557506001600160a01b0383165f9081526004602052604090205460ff16155b61103d575f80fd5b6110636064610a58600b54600e54116110585760075461105c565b6009545b85906114ce565b6014549091506001600160a01b03858116911614801561109157506013546001600160a01b03848116911614155b80156110b557506001600160a01b0383165f9081526003602052604090205460ff16155b156111b457600f548211156111045760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fba3c2634b6b4ba1760591b6044820152606401610555565b60105482611126856001600160a01b03165f9081526001602052604090205490565b6111309190611bf6565b111561117e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610555565b43600654600361118e9190611bf6565b111561119f57823b1561119f575f80fd5b600e8054905f6111ae83611c09565b91905055505b6014546001600160a01b038481169116148015906111ea57506001600160a01b0383165f9081526003602052604090205460ff16155b156112695760105482611211856001600160a01b03165f9081526001602052604090205490565b61121b9190611bf6565b11156112695760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610555565b6014546001600160a01b03848116911614801561128f57506001600160a01b0384163014155b156112bc576112b96064610a58600c54600e54116112af5760085461105c565b600a5485906114ce565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156112f257506014546001600160a01b038581169116145b80156113075750601454600160b01b900460ff165b8015611314575060115481115b80156113235750600d54600e54115b15611357576113456113408461133b84601254611594565b611594565b6115a8565b4780156113555761135547611718565b505b505b80156113d157305f90815260016020526040902054611378908261174f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113c89085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113f390836117ad565b6001600160a01b0385165f9081526001602052604090205561143661141883836117ad565b6001600160a01b0385165f908152600160205260409020549061174f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61147f85856117ad565b60405190815260200160405180910390a350505050565b5f81848411156114b95760405162461bcd60e51b8152600401610555919061181a565b505f6114c58486611c21565b95945050505050565b5f825f036114dd57505f61049f565b5f6114e88385611b1a565b9050826114f58583611c34565b1461154c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610555565b9392505050565b5f61154c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ee565b5f8183116115a2578261154c565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106115ee576115ee611be2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611645573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116699190611b9c565b8160018151811061167c5761167c611be2565b6001600160a01b0392831660209182029290920101526013546116a29130911684610d66565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906116da9085905f90869030904290600401611c53565b5f604051808303815f87803b1580156116f1575f80fd5b505af1158015611703573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610c5c573d5f803e3d5ffd5b5f8061175b8385611bf6565b90508381101561154c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610555565b5f61154c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611496565b5f818361180e5760405162461bcd60e51b8152600401610555919061181a565b505f6114c58486611c34565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d63575f80fd5b803561186e8161184f565b919050565b5f8060408385031215611884575f80fd5b823561188f8161184f565b946020939093013593505050565b5f805f606084860312156118af575f80fd5b83356118ba8161184f565b925060208401356118ca8161184f565b929592945050506040919091013590565b5f602082840312156118eb575f80fd5b813561154c8161184f565b5f60208284031215611906575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611932575f80fd5b823567ffffffffffffffff80821115611949575f80fd5b818501915085601f83011261195c575f80fd5b81358181111561196e5761196e61190d565b8060051b604051601f19603f830116810181811085821117156119935761199361190d565b6040529182528482019250838101850191888311156119b0575f80fd5b938501935b828510156119d5576119c685611863565b845293850193928501926119b5565b98975050505050505050565b5f80604083850312156119f2575f80fd5b82356119fd8161184f565b91506020830135611a0d8161184f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6657815f1904821115611a4c57611a4c611a18565b80851615611a5957918102915b93841c9390800290611a31565b509250929050565b5f82611a7c5750600161049f565b81611a8857505f61049f565b8160018114611a9e5760028114611aa857611ac4565b600191505061049f565b60ff841115611ab957611ab9611a18565b50506001821b61049f565b5060208310610133831016604e8410600b8410161715611ae7575081810a61049f565b611af18383611a2c565b805f1904821115611b0457611b04611a18565b029392505050565b5f61154c60ff841683611a6e565b808202811582820484141761049f5761049f611a18565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611b76575f80fd5b5051919050565b5f60208284031215611b8d575f80fd5b8151801515811461154c575f80fd5b5f60208284031215611bac575f80fd5b815161154c8161184f565b5f805f60608486031215611bc9575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561049f5761049f611a18565b5f60018201611c1a57611c1a611a18565b5060010190565b8181038181111561049f5761049f611a18565b5f82611c4e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ca35784516001600160a01b031683529383019391830191600101611c7e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006b8cced72c19a074571adf7d2e7ad89e02ac054bdd488077c2db2a8317e9f7964736f6c63430008190033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c80638da5cb5b116100b3578063c5c4ac321161006d578063c5c4ac32146103ad578063d4d7b19a146103cc578063dc714a1314610403578063dcf7aef314610418578063dd62ed3e14610437578063e086e5ec1461047b575f80fd5b80638da5cb5b146102e857806395927c251461030e57806395d89b411461032d578063a9059cbb1461035a578063aa962b0214610379578063bc7732fd1461038e575f80fd5b806359112f931161010457806359112f931461024257806363553e7c1461026357806364b0fdfa1461027857806370a082311461028c578063715018a6146102c0578063751039fc146102d4575f80fd5b806306fdde0314610155578063095ea7b3146101a25780630e2351e2146101d157806318160ddd146101f457806323b872dd14610208578063313ce56714610227575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b506040805180820190915260138152724c61696b612054686520537061636520446f6760681b60208201525b604051610199919061181a565b60405180910390f35b3480156101ad575f80fd5b506101c16101bc366004611873565b61048f565b6040519015158152602001610199565b3480156101dc575f80fd5b506101e660105481565b604051908152602001610199565b3480156101ff575f80fd5b506101e66104a5565b348015610213575f80fd5b506101c161022236600461189d565b6104c5565b348015610232575f80fd5b5060405160128152602001610199565b34801561024d575f80fd5b5061026161025c3660046118db565b61052c565b005b34801561026e575f80fd5b506101e6600f5481565b348015610283575f80fd5b50610261610682565b348015610297575f80fd5b506101e66102a63660046118db565b6001600160a01b03165f9081526001602052604090205490565b3480156102cb575f80fd5b50610261610a7c565b3480156102df575f80fd5b50610261610aed565b3480156102f3575f80fd5b505f546040516001600160a01b039091168152602001610199565b348015610319575f80fd5b506102616103283660046118f6565b610b9e565b348015610338575f80fd5b506040805180820190915260058152644c41494b4160d81b602082015261018c565b348015610365575f80fd5b506101c1610374366004611873565b610bcc565b348015610384575f80fd5b506101e660115481565b348015610399575f80fd5b506102616103a8366004611921565b610bd8565b3480156103b8575f80fd5b506102616103c7366004611921565b610c60565b3480156103d7575f80fd5b506101c16103e63660046118db565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561040e575f80fd5b506101e660125481565b348015610423575f80fd5b506102616104323660046118f6565b610ce3565b348015610442575f80fd5b506101e66104513660046119e1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610486575f80fd5b50610261610d11565b5f61049b338484610d66565b5060015b92915050565b5f6104b26012600a611b0c565b6104c090633b9aca00611b1a565b905090565b5f6104d1848484610e89565b610522843361051d85604051806060016040528060288152602001611cc5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611496565b610d66565b5060019392505050565b5f546001600160a01b0316331461055e5760405162461bcd60e51b815260040161055590611b31565b60405180910390fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156105a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c89190611b66565b90505f811161060e5760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b6044820152606401610555565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611b7d565b50505050565b5f546001600160a01b031633146106ab5760405162461bcd60e51b815260040161055590611b31565b601454600160a01b900460ff16156107055760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610555565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561074e9030906107406012600a611b0c565b61051d90633b9aca00611b1a565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c29190611b9c565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108459190611b9c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b39190611b9c565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108fa816001600160a01b03165f9081526001602052604090205490565b5f8061090d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610973573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109989190611bb7565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109ed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a119190611b7d565b506014805462ff00ff60a01b19166201000160a01b17815543600655610a5e90606490610a5890610a446012600a611b0c565b610a5290633b9aca00611b1a565b906114ce565b90611553565b600f55610a776064610a586014610a446012600a611b0c565b601055565b5f546001600160a01b03163314610aa55760405162461bcd60e51b815260040161055590611b31565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610b165760405162461bcd60e51b815260040161055590611b31565b610b226012600a611b0c565b610b3090633b9aca00611b1a565b600f55610b3f6012600a611b0c565b610b4d90633b9aca00611b1a565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b7d6012600a611b0c565b610b8b90633b9aca00611b1a565b60405190815260200160405180910390a1565b5f546001600160a01b03163314610bc75760405162461bcd60e51b815260040161055590611b31565b600855565b5f61049b338484610e89565b5f546001600160a01b03163314610c015760405162461bcd60e51b815260040161055590611b31565b5f5b8151811015610c5c57600160045f848481518110610c2357610c23611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c03565b5050565b5f546001600160a01b03163314610c895760405162461bcd60e51b815260040161055590611b31565b5f5b8151811015610c5c575f60045f848481518110610caa57610caa611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c8b565b5f546001600160a01b03163314610d0c5760405162461bcd60e51b815260040161055590611b31565b600a55565b5f546001600160a01b03163314610d3a5760405162461bcd60e51b815260040161055590611b31565b60405133904780156108fc02915f818181858888f19350505050158015610d63573d5f803e3d5ffd5b50565b6001600160a01b038316610dc85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610555565b6001600160a01b038216610e295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610555565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eed5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610555565b6001600160a01b038216610f4f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610555565b5f8111610fb05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610555565b5f80546001600160a01b03858116911614801590610fdb57505f546001600160a01b03848116911614155b8015610ff057506001600160a01b0384163014155b15611359576001600160a01b0384165f9081526004602052604090205460ff1615801561103557506001600160a01b0383165f9081526004602052604090205460ff16155b61103d575f80fd5b6110636064610a58600b54600e54116110585760075461105c565b6009545b85906114ce565b6014549091506001600160a01b03858116911614801561109157506013546001600160a01b03848116911614155b80156110b557506001600160a01b0383165f9081526003602052604090205460ff16155b156111b457600f548211156111045760405162461bcd60e51b815260206004820152601560248201527422bc31b2b2b239903a3432902fba3c2634b6b4ba1760591b6044820152606401610555565b60105482611126856001600160a01b03165f9081526001602052604090205490565b6111309190611bf6565b111561117e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610555565b43600654600361118e9190611bf6565b111561119f57823b1561119f575f80fd5b600e8054905f6111ae83611c09565b91905055505b6014546001600160a01b038481169116148015906111ea57506001600160a01b0383165f9081526003602052604090205460ff16155b156112695760105482611211856001600160a01b03165f9081526001602052604090205490565b61121b9190611bf6565b11156112695760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610555565b6014546001600160a01b03848116911614801561128f57506001600160a01b0384163014155b156112bc576112b96064610a58600c54600e54116112af5760085461105c565b600a5485906114ce565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156112f257506014546001600160a01b038581169116145b80156113075750601454600160b01b900460ff165b8015611314575060115481115b80156113235750600d54600e54115b15611357576113456113408461133b84601254611594565b611594565b6115a8565b4780156113555761135547611718565b505b505b80156113d157305f90815260016020526040902054611378908261174f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113c89085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113f390836117ad565b6001600160a01b0385165f9081526001602052604090205561143661141883836117ad565b6001600160a01b0385165f908152600160205260409020549061174f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61147f85856117ad565b60405190815260200160405180910390a350505050565b5f81848411156114b95760405162461bcd60e51b8152600401610555919061181a565b505f6114c58486611c21565b95945050505050565b5f825f036114dd57505f61049f565b5f6114e88385611b1a565b9050826114f58583611c34565b1461154c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610555565b9392505050565b5f61154c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ee565b5f8183116115a2578261154c565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106115ee576115ee611be2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611645573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116699190611b9c565b8160018151811061167c5761167c611be2565b6001600160a01b0392831660209182029290920101526013546116a29130911684610d66565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906116da9085905f90869030904290600401611c53565b5f604051808303815f87803b1580156116f1575f80fd5b505af1158015611703573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610c5c573d5f803e3d5ffd5b5f8061175b8385611bf6565b90508381101561154c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610555565b5f61154c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611496565b5f818361180e5760405162461bcd60e51b8152600401610555919061181a565b505f6114c58486611c34565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d63575f80fd5b803561186e8161184f565b919050565b5f8060408385031215611884575f80fd5b823561188f8161184f565b946020939093013593505050565b5f805f606084860312156118af575f80fd5b83356118ba8161184f565b925060208401356118ca8161184f565b929592945050506040919091013590565b5f602082840312156118eb575f80fd5b813561154c8161184f565b5f60208284031215611906575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611932575f80fd5b823567ffffffffffffffff80821115611949575f80fd5b818501915085601f83011261195c575f80fd5b81358181111561196e5761196e61190d565b8060051b604051601f19603f830116810181811085821117156119935761199361190d565b6040529182528482019250838101850191888311156119b0575f80fd5b938501935b828510156119d5576119c685611863565b845293850193928501926119b5565b98975050505050505050565b5f80604083850312156119f2575f80fd5b82356119fd8161184f565b91506020830135611a0d8161184f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6657815f1904821115611a4c57611a4c611a18565b80851615611a5957918102915b93841c9390800290611a31565b509250929050565b5f82611a7c5750600161049f565b81611a8857505f61049f565b8160018114611a9e5760028114611aa857611ac4565b600191505061049f565b60ff841115611ab957611ab9611a18565b50506001821b61049f565b5060208310610133831016604e8410600b8410161715611ae7575081810a61049f565b611af18383611a2c565b805f1904821115611b0457611b04611a18565b029392505050565b5f61154c60ff841683611a6e565b808202811582820484141761049f5761049f611a18565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611b76575f80fd5b5051919050565b5f60208284031215611b8d575f80fd5b8151801515811461154c575f80fd5b5f60208284031215611bac575f80fd5b815161154c8161184f565b5f805f60608486031215611bc9575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561049f5761049f611a18565b5f60018201611c1a57611c1a611a18565b5060010190565b8181038181111561049f5761049f611a18565b5f82611c4e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ca35784516001600160a01b031683529383019391830191600101611c7e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006b8cced72c19a074571adf7d2e7ad89e02ac054bdd488077c2db2a8317e9f7964736f6c63430008190033
Deployed Bytecode Sourcemap
4136:8834:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5978:83;;;;;;;;;;-1:-1:-1;6048:5:0;;;;;;;;;;;;-1:-1:-1;;;6048:5:0;;;;5978:83;;;;;;;:::i;:::-;;;;;;;;6811:161;;;;;;;;;;-1:-1:-1;6811:161:0;;;;;:::i;:::-;;:::i;:::-;;;1197:14:1;;1190:22;1172:41;;1160:2;1145:18;6811:161:0;1032:187:1;5123:47:0;;;;;;;;;;;;;;;;;;;1370:25:1;;;1358:2;1343:18;5123:47:0;1224:177:1;6255:95:0;;;;;;;;;;;;;:::i;6980:313::-;;;;;;;;;;-1:-1:-1;6980:313:0;;;;;:::i;:::-;;:::i;6164:83::-;;;;;;;;;;-1:-1:-1;6164:83:0;;4874:2;2009:36:1;;1997:2;1982:18;6164:83:0;1867:184:1;12625:303:0;;;;;;;;;;-1:-1:-1;12625:303:0;;;;;:::i;:::-;;:::i;:::-;;5073:43;;;;;;;;;;;;;;;;11694:805;;;;;;;;;;;;;:::i;6358:119::-;;;;;;;;;;-1:-1:-1;6358:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6451:18:0;6424:7;6451:18;;;:9;:18;;;;;;;6358:119;3217:148;;;;;;;;;;;;;:::i;10698:153::-;;;;;;;;;;;;;:::i;3003:79::-;;;;;;;;;;-1:-1:-1;3041:7:0;3068:6;3003:79;;-1:-1:-1;;;;;3068:6:0;;;2454:51:1;;2442:2;2427:18;3003:79:0;2308:203:1;11466:108:0;;;;;;;;;;-1:-1:-1;11466:108:0;;;;;:::i;:::-;;:::i;6069:87::-;;;;;;;;;;-1:-1:-1;6141:7:0;;;;;;;;;;;;-1:-1:-1;;;6141:7:0;;;;6069:87;;6485:167;;;;;;;;;;-1:-1:-1;6485:167:0;;;;;:::i;:::-;;:::i;5177:58::-;;;;;;;;;;;;;;;;10967:199;;;;;;;;;;-1:-1:-1;10967:199:0;;;;;:::i;:::-;;:::i;11174:182::-;;;;;;;;;;-1:-1:-1;11174:182:0;;;;;:::i;:::-;;:::i;11364:94::-;;;;;;;;;;-1:-1:-1;11364:94:0;;;;;:::i;:::-;-1:-1:-1;;;;;11435:15:0;11414:4;11435:15;;;:12;:15;;;;;;;;;11364:94;5242:55;;;;;;;;;;;;;;;;11582:104;;;;;;;;;;-1:-1:-1;11582:104:0;;;;;:::i;:::-;;:::i;6660:143::-;;;;;;;;;;-1:-1:-1;6660:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6768:18:0;;;6741:7;6768:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6660:143;12507:110;;;;;;;;;;;;;:::i;6811:161::-;6886:4;6903:39;837:10;6926:7;6935:6;6903:8;:39::i;:::-;-1:-1:-1;6960:4:0;6811:161;;;;;:::o;6255:95::-;6308:7;4931:13;4874:2;4931;:13;:::i;:::-;4918:26;;:10;:26;:::i;:::-;6328:14;;6255:95;:::o;6980:313::-;7078:4;7095:36;7105:6;7113:9;7124:6;7095:9;:36::i;:::-;7142:121;7151:6;837:10;7173:89;7211:6;7173:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7173:19:0;;;;;;:11;:19;;;;;;;;837:10;7173:33;;;;;;;;;;:37;:89::i;:::-;7142:8;:121::i;:::-;-1:-1:-1;7281:4:0;6980:313;;;;;:::o;12625:303::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;;;;;;;;;12775:38:::1;::::0;-1:-1:-1;;;12775:38:0;;12807:4:::1;12775:38;::::0;::::1;2454:51:1::0;12733:12:0;;12703:20:::1;::::0;-1:-1:-1;;;;;12775:23:0;::::1;::::0;::::1;::::0;2427:18:1;;12775:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12757:56;;12842:1;12832:7;:11;12824:42;;;::::0;-1:-1:-1;;;12824:42:0;;6786:2:1;12824:42:0::1;::::0;::::1;6768:21:1::0;6825:2;6805:18;;;6798:30;-1:-1:-1;;;6844:18:1;;;6837:48;6902:18;;12824:42:0::1;6584:342:1::0;12824:42:0::1;12877:43;::::0;-1:-1:-1;;;12877:43:0;;12900:10:::1;12877:43;::::0;::::1;7105:51:1::0;7172:18;;;7165:34;;;-1:-1:-1;;;;;12877:22:0;::::1;::::0;::::1;::::0;7078:18:1;;12877:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12692:236;;12625:303:::0;:::o;11694:805::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;11758:11:::1;::::0;-1:-1:-1;;;11758:11:0;::::1;;;11757:12;11749:47;;;::::0;-1:-1:-1;;;11749:47:0;;7694:2:1;11749:47:0::1;::::0;::::1;7676:21:1::0;7733:2;7713:18;;;7706:30;7772:25;7752:18;;;7745:53;7815:18;;11749:47:0::1;7492:347:1::0;11749:47:0::1;11807:15;:80:::0;;-1:-1:-1;;;;;;11807:80:0::1;11844:42;11807:80:::0;;::::1;::::0;;;11898:58:::1;::::0;11915:4:::1;::::0;4931:13:::1;4874:2;4931;:13;:::i;:::-;4918:26;::::0;:10:::1;:26;:::i;11898:58::-;12001:15;;;;;;;;;-1:-1:-1::0;;;;;12001:15:0::1;-1:-1:-1::0;;;;;12001:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11983:55:0::1;;12047:4;12054:15;;;;;;;;;-1:-1:-1::0;;;;;12054:15:0::1;-1:-1:-1::0;;;;;12054:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11983:94;::::0;-1:-1:-1;;;;;;11983:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8330:15:1;;;11983:94:0::1;::::0;::::1;8312:34:1::0;8382:15;;8362:18;;;8355:43;8247:18;;11983:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11967:13;:110:::0;;-1:-1:-1;;;;;11967:110:0;;::::1;-1:-1:-1::0;;;;;;11967:110:0;;::::1;;::::0;;12088:15:::1;::::0;::::1;:31;12127:21;12158:4;12164:24;12158:4:::0;-1:-1:-1;;;;;6451:18:0;6424:7;6451:18;;;:9;:18;;;;;;;6358:119;12164:24:::1;12189:1;12191::::0;12193:7:::1;3041::::0;3068:6;-1:-1:-1;;;;;3068:6:0;;3003:79;12193:7:::1;12088:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12088:129:0;;;-1:-1:-1;;;;;8768:15:1;;;12088:129:0::1;::::0;::::1;8750:34:1::0;8800:18;;;8793:34;;;;8843:18;;;8836:34;;;;8886:18;;;8879:34;8950:15;;;8929:19;;;8922:44;12201:15:0::1;8982:19:1::0;;;8975:35;8684:19;;12088:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12235:13:0::1;::::0;12266:15:::1;::::0;12228:71:::1;::::0;-1:-1:-1;;;12228:71:0;;-1:-1:-1;;;;;12266:15:0;;::::1;12228:71;::::0;::::1;7105:51:1::0;-1:-1:-1;;7172:18:1;;;7165:34;12235:13:0;::::1;::::0;-1:-1:-1;12228:29:0::1;::::0;7078:18:1;;12228:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12310:11:0::1;:18:::0;;-1:-1:-1;;;;12339:18:0;-1:-1:-1;;;12339:18:0;;;12383:12:::1;12368;:27:::0;12417:24:::1;::::0;12437:3:::1;::::0;12417:15:::1;::::0;4931:13:::1;4874:2;4931;:13;:::i;:::-;4918:26;::::0;:10:::1;:26;:::i;:::-;12417:11:::0;::::1;:15::i;:::-;:19:::0;::::1;:24::i;:::-;12406:8;:35:::0;12467:24:::1;12487:3;12467:15;12479:2;4931:13;4874:2;4931;:13;:::i;12467:24::-;12452:12;:39:::0;11694:805::o;3217:148::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;3324:1:::1;3308:6:::0;;3287:40:::1;::::0;-1:-1:-1;;;;;3308:6:0;;::::1;::::0;3287:40:::1;::::0;3324:1;;3287:40:::1;3355:1;3338:19:::0;;-1:-1:-1;;;;;;3338:19:0::1;::::0;;3217:148::o;10698:153::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;4931:13:::1;4874:2;4931;:13;:::i;:::-;4918:26;::::0;:10:::1;:26;:::i;:::-;10751:8;:18:::0;4931:13:::1;4874:2;4931;:13;:::i;:::-;4918:26;::::0;:10:::1;:26;:::i;:::-;10780:12;:20:::0;10816:27:::1;4931:13;4874:2;4931;:13;:::i;:::-;4918:26;::::0;:10:::1;:26;:::i;:::-;10816:27;::::0;1370:25:1;;;1358:2;1343:18;10816:27:0::1;;;;;;;10698:153::o:0;11466:108::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;11539:12:::1;:27:::0;11466:108::o;6485:167::-;6563:4;6580:42;837:10;6604:9;6615:6;6580:9;:42::i;10967:199::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;11052:6:::1;11047:112;11068:13;:20;11064:1;:24;11047:112;;;11143:4;11110:12;:30;11123:13;11137:1;11123:16;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11110:30:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11110:30:0;:37;;-1:-1:-1;;11110:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11090:3:0::1;11047:112;;;;10967:199:::0;:::o;11174:182::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;11253:6:::1;11248:101;11269:9;:16;11265:1;:20;11248:101;;;11334:5;11305:12;:26;11318:9;11328:1;11318:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11305:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11305:26:0;:34;;-1:-1:-1;;11305:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11287:3:0::1;11248:101;;11582:104:::0;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;11653:11:::1;:25:::0;11582:104::o;12507:110::-;3130:6;;-1:-1:-1;;;;;3130:6:0;837:10;3130:22;3122:67;;;;-1:-1:-1;;;3122:67:0;;;;;;;:::i;:::-;12558:51:::1;::::0;12566:10:::1;::::0;12587:21:::1;12558:51:::0;::::1;;;::::0;::::1;::::0;;;12587:21;12566:10;12558:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12507:110::o:0;7301:335::-;-1:-1:-1;;;;;7394:19:0;;7386:68;;;;-1:-1:-1;;;7386:68:0;;9666:2:1;7386:68:0;;;9648:21:1;9705:2;9685:18;;;9678:30;9744:34;9724:18;;;9717:62;-1:-1:-1;;;9795:18:1;;;9788:34;9839:19;;7386:68:0;9464:400:1;7386:68:0;-1:-1:-1;;;;;7473:21:0;;7465:68;;;;-1:-1:-1;;;7465:68:0;;10071:2:1;7465:68:0;;;10053:21:1;10110:2;10090:18;;;10083:30;10149:34;10129:18;;;10122:62;-1:-1:-1;;;10200:18:1;;;10193:32;10242:19;;7465:68:0;9869:398:1;7465:68:0;-1:-1:-1;;;;;7544:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7596:32;;1370:25:1;;;7596:32:0;;1343:18:1;7596:32:0;;;;;;;7301:335;;;:::o;7644:2244::-;-1:-1:-1;;;;;7732:18:0;;7724:68;;;;-1:-1:-1;;;7724:68:0;;10474:2:1;7724:68:0;;;10456:21:1;10513:2;10493:18;;;10486:30;10552:34;10532:18;;;10525:62;-1:-1:-1;;;10603:18:1;;;10596:35;10648:19;;7724:68:0;10272:401:1;7724:68:0;-1:-1:-1;;;;;7811:16:0;;7803:64;;;;-1:-1:-1;;;7803:64:0;;10880:2:1;7803:64:0;;;10862:21:1;10919:2;10899:18;;;10892:30;10958:34;10938:18;;;10931:62;-1:-1:-1;;;11009:18:1;;;11002:33;11052:19;;7803:64:0;10678:399:1;7803:64:0;7895:1;7886:6;:10;7878:64;;;;-1:-1:-1;;;7878:64:0;;11284:2:1;7878:64:0;;;11266:21:1;11323:2;11303:18;;;11296:30;11362:34;11342:18;;;11335:62;-1:-1:-1;;;11413:18:1;;;11406:39;11462:19;;7878:64:0;11082:405:1;7878:64:0;7953:17;3068:6;;-1:-1:-1;;;;;7987:15:0;;;3068:6;;7987:15;;;;:32;;-1:-1:-1;3041:7:0;3068:6;-1:-1:-1;;;;;8006:13:0;;;3068:6;;8006:13;;7987:32;:57;;;;-1:-1:-1;;;;;;8023:21:0;;8039:4;8023:21;;7987:57;7983:1549;;;-1:-1:-1;;;;;8070:18:0;;;;;;:12;:18;;;;;;;;8069:19;:40;;;;-1:-1:-1;;;;;;8093:16:0;;;;;;:12;:16;;;;;;;;8092:17;8069:40;8061:49;;;;;;8137:69;8202:3;8137:60;8160:12;;8149:10;;:23;8148:48;;8185:11;;8148:48;;;8174:10;;8148:48;8137:6;;:10;:60::i;:69::-;8235:13;;8125:81;;-1:-1:-1;;;;;;8227:21:0;;;8235:13;;8227:21;:55;;;;-1:-1:-1;8266:15:0;;-1:-1:-1;;;;;8252:30:0;;;8266:15;;8252:30;;8227:55;:81;;;;-1:-1:-1;;;;;;8288:20:0;;;;;;:16;:20;;;;;;;;8286:22;8227:81;8223:427;;;8348:8;;8338:6;:18;;8330:52;;;;-1:-1:-1;;;8330:52:0;;11694:2:1;8330:52:0;;;11676:21:1;11733:2;11713:18;;;11706:30;-1:-1:-1;;;11752:18:1;;;11745:51;11813:18;;8330:52:0;11492:345:1;8330:52:0;8435:12;;8425:6;8409:13;8419:2;-1:-1:-1;;;;;6451:18:0;6424:7;6451:18;;;:9;:18;;;;;;;6358:119;8409:13;:22;;;;:::i;:::-;:38;;8401:77;;;;-1:-1:-1;;;8401:77:0;;12174:2:1;8401:77:0;;;12156:21:1;12213:2;12193:18;;;12186:30;12252:28;12232:18;;;12225:56;12298:18;;8401:77:0;11972:350:1;8401:77:0;8523:12;8503;;8518:1;8503:16;;;;:::i;:::-;:32;8499:105;;;10135:20;;10183:8;8560:24;;;;;;8622:10;:12;;;:10;:12;;;:::i;:::-;;;;;;8223:427;8676:13;;-1:-1:-1;;;;;8670:19:0;;;8676:13;;8670:19;;;;:44;;-1:-1:-1;;;;;;8694:20:0;;;;;;:16;:20;;;;;;;;8693:21;8670:44;8666:162;;;8769:12;;8759:6;8743:13;8753:2;-1:-1:-1;;;;;6451:18:0;6424:7;6451:18;;;:9;:18;;;;;;;6358:119;8743:13;:22;;;;:::i;:::-;:38;;8735:77;;;;-1:-1:-1;;;8735:77:0;;12174:2:1;8735:77:0;;;12156:21:1;12213:2;12193:18;;;12186:30;12252:28;12232:18;;;12225:56;12298:18;;8735:77:0;11972:350:1;8735:77:0;8853:13;;-1:-1:-1;;;;;8847:19:0;;;8853:13;;8847:19;:43;;;;-1:-1:-1;;;;;;8870:20:0;;8885:4;8870:20;;8847:43;8844:167;;;8923:72;8991:3;8923:63;8946:13;;8935:10;;:24;8934:51;;8973:12;;8934:51;;;8961:11;;8923:6;;:10;:63::i;:72::-;8911:84;;8844:167;9076:4;9027:28;6451:18;;;:9;:18;;;;;;9102:6;;-1:-1:-1;;;9102:6:0;;;;9101:7;:30;;;;-1:-1:-1;9118:13:0;;-1:-1:-1;;;;;9112:19:0;;;9118:13;;9112:19;9101:30;:45;;;;-1:-1:-1;9135:11:0;;-1:-1:-1;;;9135:11:0;;;;9101:45;:88;;;;;9171:18;;9150:20;:39;9101:88;:120;;;;;9204:17;;9193:10;;:28;9101:120;9097:424;;;9242:71;9259:53;9263:6;9270:41;9274:20;9295:15;;9270:3;:41::i;:::-;9259:3;:53::i;:::-;9242:16;:71::i;:::-;9361:21;9404:22;;9401:105;;9451:35;9464:21;9451:12;:35::i;:::-;9223:298;9097:424;8046:1486;7983:1549;9547:11;;9544:161;;9615:4;9597:24;;;;:9;:24;;;;;;:39;;9626:9;9597:28;:39::i;:::-;9590:4;9572:24;;;;:9;:24;;;;;;;:64;;;;9654:39;;-1:-1:-1;;;;;9654:39:0;;;;;;;9683:9;1370:25:1;;1358:2;1343:18;;1224:177;9654:39:0;;;;;;;;9544:161;-1:-1:-1;;;;;9731:15:0;;;;;;:9;:15;;;;;;:27;;9751:6;9731:19;:27::i;:::-;-1:-1:-1;;;;;9715:15:0;;;;;;:9;:15;;;;;:43;9783:40;9801:21;:6;9812:9;9801:10;:21::i;:::-;-1:-1:-1;;;;;9783:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9769:13:0;;;;;;;:9;:13;;;;;:54;;;;9839:41;;;9858:21;:6;9869:9;9858:10;:21::i;:::-;9839:41;;1370:25:1;;;1358:2;1343:18;9839:41:0;;;;;;;7713:2175;7644:2244;;;:::o;1895:190::-;1981:7;2017:12;2009:6;;;;2001:29;;;;-1:-1:-1;;;2001:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2041:9:0;2053:5;2057:1;2053;:5;:::i;:::-;2041:17;1895:190;-1:-1:-1;;;;;1895:190:0:o;2093:246::-;2151:7;2175:1;2180;2175:6;2171:47;;-1:-1:-1;2205:1:0;2198:8;;2171:47;2228:9;2240:5;2244:1;2240;:5;:::i;:::-;2228:17;-1:-1:-1;2273:1:0;2264:5;2268:1;2228:17;2264:5;:::i;:::-;:10;2256:56;;;;-1:-1:-1;;;2256:56:0;;13024:2:1;2256:56:0;;;13006:21:1;13063:2;13043:18;;;13036:30;13102:34;13082:18;;;13075:62;-1:-1:-1;;;13153:18:1;;;13146:31;13194:19;;2256:56:0;12822:397:1;2256:56:0;2330:1;2093:246;-1:-1:-1;;;2093:246:0:o;2347:132::-;2405:7;2432:39;2436:1;2439;2432:39;;;;;;;;;;;;;;;;;:3;:39::i;9898:98::-;9955:7;9982:1;9980;:3;9979:9;;9987:1;9979:9;;;-1:-1:-1;9985:1:0;9898:98;-1:-1:-1;9898:98:0:o;10207:483::-;5575:6;:13;;-1:-1:-1;;;;5575:13:0;-1:-1:-1;;;5575:13:0;;;10309:16:::1;::::0;;10323:1:::1;10309:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10309:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10309:16:0::1;10285:40;;10354:4;10336;10341:1;10336:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10336:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10380:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10380:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10336:7;;10380:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10370:4;10375:1;10370:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10370:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10445:15:::1;::::0;10413:62:::1;::::0;10430:4:::1;::::0;10445:15:::1;10463:11:::0;10413:8:::1;:62::i;:::-;10486:15;::::0;:196:::1;::::0;-1:-1:-1;;;10486:196:0;;-1:-1:-1;;;;;10486:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10567:11;;10486:15:::1;::::0;10609:4;;10636::::1;::::0;10656:15:::1;::::0;10486:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5611:6:0;:14;;-1:-1:-1;;;;5611:14:0;;;-1:-1:-1;;;;10207:483:0:o;10859:100::-;10916:18;;:35;;-1:-1:-1;;;;;10916:18:0;;;;:35;;;;;10944:6;;10916:18;:35;:18;:35;10944:6;10916:18;:35;;;;;;;;;;;;;;;;;;;1564:179;1622:7;;1654:5;1658:1;1654;:5;:::i;:::-;1642:17;;1683:1;1678;:6;;1670:46;;;;-1:-1:-1;;;1670:46:0;;14411:2:1;1670:46:0;;;14393:21:1;14450:2;14430:18;;;14423:30;14489:29;14469:18;;;14462:57;14536:18;;1670:46:0;14209:351:1;1751:136:0;1809:7;1836:43;1840:1;1843;1836:43;;;;;;;;;;;;;;;;;:3;:43::i;2487:189::-;2573:7;2608:12;2601:5;2593:28;;;;-1:-1:-1;;;2593:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2632:9:0;2644:5;2648:1;2644;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:315::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1017:2;1002:18;;;;989:32;;-1:-1:-1;;;712:315:1:o;1406:456::-;1483:6;1491;1499;1552:2;1540:9;1531:7;1527:23;1523:32;1520:52;;;1568:1;1565;1558:12;1520:52;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:33;1705:32;1746:33;:::i;:::-;1406:456;;1798:7;;-1:-1:-1;;;1852:2:1;1837:18;;;;1824:32;;1406:456::o;2056:247::-;2115:6;2168:2;2156:9;2147:7;2143:23;2139:32;2136:52;;;2184:1;2181;2174:12;2136:52;2223:9;2210:23;2242:31;2267:5;2242:31;:::i;2516:180::-;2575:6;2628:2;2616:9;2607:7;2603:23;2599:32;2596:52;;;2644:1;2641;2634:12;2596:52;-1:-1:-1;2667:23:1;;2516:180;-1:-1:-1;2516:180:1:o;2701:127::-;2762:10;2757:3;2753:20;2750:1;2743:31;2793:4;2790:1;2783:15;2817:4;2814:1;2807:15;2833:1121;2917:6;2948:2;2991;2979:9;2970:7;2966:23;2962:32;2959:52;;;3007:1;3004;2997:12;2959:52;3047:9;3034:23;3076:18;3117:2;3109:6;3106:14;3103:34;;;3133:1;3130;3123:12;3103:34;3171:6;3160:9;3156:22;3146:32;;3216:7;3209:4;3205:2;3201:13;3197:27;3187:55;;3238:1;3235;3228:12;3187:55;3274:2;3261:16;3296:2;3292;3289:10;3286:36;;;3302:18;;:::i;:::-;3348:2;3345:1;3341:10;3380:2;3374:9;3443:2;3439:7;3434:2;3430;3426:11;3422:25;3414:6;3410:38;3498:6;3486:10;3483:22;3478:2;3466:10;3463:18;3460:46;3457:72;;;3509:18;;:::i;:::-;3545:2;3538:22;3595:18;;;3629:15;;;;-1:-1:-1;3671:11:1;;;3667:20;;;3699:19;;;3696:39;;;3731:1;3728;3721:12;3696:39;3755:11;;;;3775:148;3791:6;3786:3;3783:15;3775:148;;;3857:23;3876:3;3857:23;:::i;:::-;3845:36;;3808:12;;;;3901;;;;3775:148;;;3942:6;2833:1121;-1:-1:-1;;;;;;;;2833:1121:1:o;3959:388::-;4027:6;4035;4088:2;4076:9;4067:7;4063:23;4059:32;4056:52;;;4104:1;4101;4094:12;4056:52;4143:9;4130:23;4162:31;4187:5;4162:31;:::i;:::-;4212:5;-1:-1:-1;4269:2:1;4254:18;;4241:32;4282:33;4241:32;4282:33;:::i;:::-;4334:7;4324:17;;;3959:388;;;;;:::o;4352:127::-;4413:10;4408:3;4404:20;4401:1;4394:31;4444:4;4441:1;4434:15;4468:4;4465:1;4458:15;4484:416;4573:1;4610:5;4573:1;4624:270;4645:7;4635:8;4632:21;4624:270;;;4704:4;4700:1;4696:6;4692:17;4686:4;4683:27;4680:53;;;4713:18;;:::i;:::-;4763:7;4753:8;4749:22;4746:55;;;4783:16;;;;4746:55;4862:22;;;;4822:15;;;;4624:270;;;4628:3;4484:416;;;;;:::o;4905:806::-;4954:5;4984:8;4974:80;;-1:-1:-1;5025:1:1;5039:5;;4974:80;5073:4;5063:76;;-1:-1:-1;5110:1:1;5124:5;;5063:76;5155:4;5173:1;5168:59;;;;5241:1;5236:130;;;;5148:218;;5168:59;5198:1;5189:10;;5212:5;;;5236:130;5273:3;5263:8;5260:17;5257:43;;;5280:18;;:::i;:::-;-1:-1:-1;;5336:1:1;5322:16;;5351:5;;5148:218;;5450:2;5440:8;5437:16;5431:3;5425:4;5422:13;5418:36;5412:2;5402:8;5399:16;5394:2;5388:4;5385:12;5381:35;5378:77;5375:159;;;-1:-1:-1;5487:19:1;;;5519:5;;5375:159;5566:34;5591:8;5585:4;5566:34;:::i;:::-;5636:6;5632:1;5628:6;5624:19;5615:7;5612:32;5609:58;;;5647:18;;:::i;:::-;5685:20;;4905:806;-1:-1:-1;;;4905:806:1:o;5716:140::-;5774:5;5803:47;5844:4;5834:8;5830:19;5824:4;5803:47;:::i;5861:168::-;5934:9;;;5965;;5982:15;;;5976:22;;5962:37;5952:71;;6003:18;;:::i;6034:356::-;6236:2;6218:21;;;6255:18;;;6248:30;6314:34;6309:2;6294:18;;6287:62;6381:2;6366:18;;6034:356::o;6395:184::-;6465:6;6518:2;6506:9;6497:7;6493:23;6489:32;6486:52;;;6534:1;6531;6524:12;6486:52;-1:-1:-1;6557:16:1;;6395:184;-1:-1:-1;6395:184:1:o;7210:277::-;7277:6;7330:2;7318:9;7309:7;7305:23;7301:32;7298:52;;;7346:1;7343;7336:12;7298:52;7378:9;7372:16;7431:5;7424:13;7417:21;7410:5;7407:32;7397:60;;7453:1;7450;7443:12;7844:251;7914:6;7967:2;7955:9;7946:7;7942:23;7938:32;7935:52;;;7983:1;7980;7973:12;7935:52;8015:9;8009:16;8034:31;8059:5;8034:31;:::i;9021:306::-;9109:6;9117;9125;9178:2;9166:9;9157:7;9153:23;9149:32;9146:52;;;9194:1;9191;9184:12;9146:52;9223:9;9217:16;9207:26;;9273:2;9262:9;9258:18;9252:25;9242:35;;9317:2;9306:9;9302:18;9296:25;9286:35;;9021:306;;;;;:::o;9332:127::-;9393:10;9388:3;9384:20;9381:1;9374:31;9424:4;9421:1;9414:15;9448:4;9445:1;9438:15;11842:125;11907:9;;;11928:10;;;11925:36;;;11941:18;;:::i;12327:135::-;12366:3;12387:17;;;12384:43;;12407:18;;:::i;:::-;-1:-1:-1;12454:1:1;12443:13;;12327:135::o;12467:128::-;12534:9;;;12555:11;;;12552:37;;;12569:18;;:::i;12600:217::-;12640:1;12666;12656:132;;12710:10;12705:3;12701:20;12698:1;12691:31;12745:4;12742:1;12735:15;12773:4;12770:1;12763:15;12656:132;-1:-1:-1;12802:9:1;;12600:217::o;13224:980::-;13486:4;13534:3;13523:9;13519:19;13565:6;13554:9;13547:25;13591:2;13629:6;13624:2;13613:9;13609:18;13602:34;13672:3;13667:2;13656:9;13652:18;13645:31;13696:6;13731;13725:13;13762:6;13754;13747:22;13800:3;13789:9;13785:19;13778:26;;13839:2;13831:6;13827:15;13813:29;;13860:1;13870:195;13884:6;13881:1;13878:13;13870:195;;;13949:13;;-1:-1:-1;;;;;13945:39:1;13933:52;;14040:15;;;;14005:12;;;;13981:1;13899:9;13870:195;;;-1:-1:-1;;;;;;;14121:32:1;;;;14116:2;14101:18;;14094:60;-1:-1:-1;;;14185:3:1;14170:19;14163:35;14082:3;13224:980;-1:-1:-1;;;13224:980:1:o
Swarm Source
ipfs://06b8cced72c19a074571adf7d2e7ad89e02ac054bdd488077c2db2a8317e9f79
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.