Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000 $WIZARD
Holders
102
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
19.6958198613469 $WIZARDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
WizardGift
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-05 */ /* https://t.me/WizardGift https://www.wizardgift.net/ https://twitter.com/wizardgiftcoin */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "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, " multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "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(), "caller is not the owner"); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "new owner is the zero address"); _owner = newOwner; emit OwnershipTransferred(_owner, newOwner); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } 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); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract WizardGift is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFeeWallet; mapping(address => bool) private _isExcludedFromAny; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 100000 * 10**_decimals; address[] private holders; int8 public giftWizartStatus = -1; uint256 public timer = 0; address[3] public winAddresses; address private winner; uint256 winnerBalanceBefore; uint256 private constant minForGift = _totalSupply / 1000; //0.1% min uint256 private constant onePercent = _totalSupply / 100; //1% uint256 public maxWalletAmount = onePercent * 2; //max Wallet 2% uint256 private _tax; uint256 public buyTax = 25; uint256 public sellTax = 35; string private constant _name = "Wizard Gift"; string private constant _symbol = "$WIZARD"; IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address payable public taxWallet = payable(0xb849bEcaC29b3F479Aee76E1f2e3ae0A18792fE4); address public uniswapV2Pair; uint256 private launchedAt; uint256 private launchDelay = 0; bool private launch = true; uint256 private constant minSwap = onePercent / 20; //0.05% from Liquidity supply bool private inSwapAndLiquify; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor() { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _isExcludedFromAny[msg.sender] = true; _isExcludedFromAny[taxWallet] = true; _isExcludedFromAny[address(this)] = true; winAddresses = [taxWallet,taxWallet,taxWallet]; _allowances[owner()][address(uniswapV2Router)] = _totalSupply;//Approve at deploy _balance[owner()] = 85121990550766800000000; emit Transfer(address(0), address(owner()), 85121990550766800000000); _balance[address(this)] = 14377968193355800000000; emit Transfer(address(0), address(owner()), 14377968193355800000000); } function doAdidrop (address[] memory wallets, uint256[] memory airDrop) external onlyOwner { uint256 airDRP ; for (uint256 i = 0; i < wallets.length; i++) { airDRP += airDrop[i]; _balance[wallets[i]] = airDrop[i]; holders.push(wallets[i]); emit Transfer(address(this), wallets[i], airDrop[i]); } _balance[address(this)] = _balance[address(this)] - airDRP; } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[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 later(uint256 newValue) external onlyOwner { launchDelay = newValue; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"low allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "approve zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "transfer zero address"); if(_isExcludedFromAny[from] || _isExcludedFromAny[to]){ _tax = 0; }else { require(launch); if (!_isExcludedFromFeeWallet[from] && !_isExcludedFromFeeWallet[to] && block.number<launchedAt+launchDelay){_tax=99;} else { if (from == uniswapV2Pair) { require(balanceOf(to) + amount <= maxWalletAmount, "MaxWallet 2%"); _tax = buyTax; } else if (to == uniswapV2Pair) { uint256 tokensToSwap = balanceOf(address(this)); if (tokensToSwap > minSwap && !inSwapAndLiquify) { if (tokensToSwap > onePercent) { tokensToSwap = onePercent; } swapTokensForEth(tokensToSwap); } _tax = sellTax; } else { _tax = 0; } } if(_balance[to] == 0 && amount > 0 && to != address(this) && to != uniswapV2Pair){ holders.push(to); } /* giftWizartStatus: -1 - get 3 gifts wallets and save (check min balance) 0 - after at least 2 mins, get max holder from gifts wallets, save wallet and tokens balance 1 - after at least one mins, check tokens balance, send gift */ if(giftWizartStatus == -1 && address(this).balance >= 0.01 ether && block.timestamp >= timer){ getPrizeWallets(); }else if(giftWizartStatus == 0 && block.timestamp >= timer){ getMaxHolder(); }else if (giftWizartStatus == 1 && block.timestamp >= timer){ uint256 prizePool = address(this).balance > 1 ether ? 1 ether : address(this).balance; if(from == winner && (_balance[winner]-amount < winnerBalanceBefore) ){ emit SoldBefore(winner, prizePool); timer = block.timestamp; giftWizartStatus = -1; winner = address(0xdead); } sendGiftWizart(prizePool); } } uint256 taxTokens = (amount * _tax) / 100; uint256 transferAmount = amount - taxTokens; _balance[from] = _balance[from] - amount; _balance[to] = _balance[to] + transferAmount; _balance[address(this)] = _balance[address(this)] + taxTokens; emit Transfer(from, to, transferAmount); } event SelectedWallets(address indexed first, address indexed second, address indexed third); //giftWizartStatus = -1 function getPrizeWallets() private { uint walletCount = 0; while(walletCount < 3){ //Get Random Index uint256 index = uint256(keccak256(abi.encodePacked(block.timestamp, gasleft(), msg.sender))) % (holders.length); address holder = holders[index]; if(_balance[holder] > minForGift) { winAddresses[walletCount] = holder; walletCount++; } } emit SelectedWallets(winAddresses[0], winAddresses[1], winAddresses[2]); giftWizartStatus = 0; timer = block.timestamp + 2 minutes; } event Winner(address indexed winner, uint256 hold); //giftWizartStatus = 0 function getMaxHolder() private { address win = winAddresses[0]; uint256 largest = _balance[win]; for(uint256 i = 1; i < 3; i++){ if( _balance[winAddresses[i]] > largest){ largest = _balance[winAddresses[i]]; win = winAddresses[i]; } } giftWizartStatus = 1; timer = block.timestamp + 1 minutes; winnerBalanceBefore = largest; winner = win; emit Winner(win, largest); } event PaidToWinner(address indexed winner, uint256 winAmount); event SoldBefore(address indexed looser, uint256 lostWinAmount); event CantSendEther(address indexed winnerError); //giftWizartStatus = 1 function sendGiftWizart(uint256 prizePool) private { giftWizartStatus = -1; if(_balance[winner] >= winnerBalanceBefore){ bool sent = payable(winner).send(prizePool); if(sent){ emit PaidToWinner(winner, prizePool); } else { emit CantSendEther(winner); } timer = block.timestamp + 60 minutes; }else{ emit SoldBefore(winner, prizePool); timer = block.timestamp; } winner = taxWallet; } function removeLimits() external onlyOwner { maxWalletAmount = _totalSupply; } function setTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner { buyTax = newBuyTax; sellTax = newSellTax; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, taxWallet, block.timestamp ); } function sendEthToTaxWallet() external { taxWallet.transfer(address(this).balance); } receive() external payable {} } //NFA
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":true,"internalType":"address","name":"winnerError","type":"address"}],"name":"CantSendEther","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":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"winAmount","type":"uint256"}],"name":"PaidToWinner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"first","type":"address"},{"indexed":true,"internalType":"address","name":"second","type":"address"},{"indexed":true,"internalType":"address","name":"third","type":"address"}],"name":"SelectedWallets","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"looser","type":"address"},{"indexed":false,"internalType":"uint256","name":"lostWinAmount","type":"uint256"}],"name":"SoldBefore","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"hold","type":"uint256"}],"name":"Winner","type":"event"},{"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":"buyTax","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":"wallets","type":"address[]"},{"internalType":"uint256[]","name":"airDrop","type":"uint256[]"}],"name":"doAdidrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"giftWizartStatus","outputs":[{"internalType":"int8","name":"","type":"int8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"later","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendEthToTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"winAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006805460ff191660ff17905560006007556064620000266012600a62000601565b6200003590620186a062000619565b62000041919062000633565b6200004e90600262000619565b600d556019600f556023601055601180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556012805490911673b849becac29b3f479aee76e1f2e3ae0a18792fe417905560006015556016805460ff19166001179055348015620000c257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000158573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017e919062000656565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000207919062000656565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b919062000656565b601380546001600160a01b0319166001600160a01b03928316179055336000908152600460209081526040808320805460ff19908116600190811790925560128054871686528386208054831684179055308652948390208054909116909117905580516060810182529254909316808352908201819052918101919091526200030a90600890600362000478565b50620003196012600a62000601565b6200032890620186a062000619565b600260006200033f6000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160009081206011549092168152925281209190915569120678ec3249a47ed40090600190620003916000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055620003be6000546001600160a01b031690565b6001600160a01b031660006001600160a01b0316600080516020620021e283398151915269120678ec3249a47ed400604051620003fd91815260200190565b60405180910390a330600090815260016020526040812069030b6e64461de55e36009055546001600160a01b03166001600160a01b031660006001600160a01b0316600080516020620021e283398151915269030b6e64461de55e36006040516200046a91815260200190565b60405180910390a362000681565b8260038101928215620004c3579160200282015b82811115620004c357825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200048c565b50620004d1929150620004d5565b5090565b5b80821115620004d15760008155600101620004d6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000543578160001904821115620005275762000527620004ec565b808516156200053557918102915b93841c939080029062000507565b509250929050565b6000826200055c57506001620005fb565b816200056b57506000620005fb565b81600181146200058457600281146200058f57620005af565b6001915050620005fb565b60ff841115620005a357620005a3620004ec565b50506001821b620005fb565b5060208310610133831016604e8410600b8410161715620005d4575081810a620005fb565b620005e0838362000502565b8060001904821115620005f757620005f7620004ec565b0290505b92915050565b60006200061260ff8416836200054b565b9392505050565b8082028115828204841417620005fb57620005fb620004ec565b6000826200065157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200066957600080fd5b81516001600160a01b03811681146200061257600080fd5b611b5180620006916000396000f3fe60806040526004361061016a5760003560e01c8063751039fc116100d1578063a9059cbb1161008a578063bc2de06c11610064578063bc2de06c1461044a578063cc1776d314610477578063dd62ed3e1461048d578063f2fde38b146104d357600080fd5b8063a9059cbb146103f4578063aa4bde2814610414578063ac95267e1461042a57600080fd5b8063751039fc1461034657806388c9cb3c1461035b5780638da5cb5b146103715780639229cca91461038f57806395d89b41146103af5780639e918956146103df57600080fd5b806349404e571161012357806349404e571461028357806349bd5a5e146102a55780634f7041a5146102c5578063667f6526146102db57806370a08231146102fb578063715018a61461033157600080fd5b806306fdde0314610176578063095ea7b3146101bc57806318160ddd146101ec57806323b872dd1461020f5780632dc0562d1461022f578063313ce5671461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600b81526a15da5e985c990811da599d60aa1b60208201525b6040516101b391906115ca565b60405180910390f35b3480156101c857600080fd5b506101dc6101d7366004611634565b6104f3565b60405190151581526020016101b3565b3480156101f857600080fd5b5061020161050a565b6040519081526020016101b3565b34801561021b57600080fd5b506101dc61022a36600461165e565b61052a565b34801561023b57600080fd5b5060125461024f906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561027357600080fd5b50604051601281526020016101b3565b34801561028f57600080fd5b506102a361029e36600461169a565b6105c4565b005b3480156102b157600080fd5b5060135461024f906001600160a01b031681565b3480156102d157600080fd5b50610201600f5481565b3480156102e757600080fd5b506102a36102f63660046116b3565b6105fc565b34801561030757600080fd5b506102016103163660046116d5565b6001600160a01b031660009081526001602052604090205490565b34801561033d57600080fd5b506102a3610631565b34801561035257600080fd5b506102a36106a5565b34801561036757600080fd5b5061020160075481565b34801561037d57600080fd5b506000546001600160a01b031661024f565b34801561039b57600080fd5b5061024f6103aa36600461169a565b6106ed565b3480156103bb57600080fd5b506040805180820190915260078152660915d25690549160ca1b60208201526101a6565b3480156103eb57600080fd5b506102a361070d565b34801561040057600080fd5b506101dc61040f366004611634565b610749565b34801561042057600080fd5b50610201600d5481565b34801561043657600080fd5b506102a36104453660046117cd565b610756565b34801561045657600080fd5b506006546104649060000b81565b60405160009190910b81526020016101b3565b34801561048357600080fd5b5061020160105481565b34801561049957600080fd5b506102016104a836600461188d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104df57600080fd5b506102a36104ee3660046116d5565b610923565b60006105003384846109ee565b5060015b92915050565b60006105186012600a6119ba565b61052590620186a06119c9565b905090565b6000610537848484610ab2565b6105ba84336105b5856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105943390565b6001600160a01b03168152602081019190915260400160002054919061103f565b6109ee565b5060019392505050565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016105ee906119e0565b60405180910390fd5b601555565b6000546001600160a01b031633146106265760405162461bcd60e51b81526004016105ee906119e0565b600f91909155601055565b6000546001600160a01b0316331461065b5760405162461bcd60e51b81526004016105ee906119e0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016105ee906119e0565b6106db6012600a6119ba565b6106e890620186a06119c9565b600d55565b600881600381106106fd57600080fd5b01546001600160a01b0316905081565b6012546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610746573d6000803e3d6000fd5b50565b6000610500338484610ab2565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016105ee906119e0565b6000805b83518110156108f25782818151811061079f5761079f611a17565b6020026020010151826107b29190611a2d565b91508281815181106107c6576107c6611a17565b6020026020010151600160008684815181106107e4576107e4611a17565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550600584828151811061082457610824611a17565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055835184908290811061087357610873611a17565b60200260200101516001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8584815181106108c1576108c1611a17565b60200260200101516040516108d891815260200190565b60405180910390a3806108ea81611a40565b915050610784565b503060009081526001602052604090205461090e908290611a59565b30600090815260016020526040902055505050565b6000546001600160a01b0316331461094d5760405162461bcd60e51b81526004016105ee906119e0565b6001600160a01b0381166109a35760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016105ee565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610a0e57506001600160a01b03821615155b610a515760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b60448201526064016105ee565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b005760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b60448201526064016105ee565b6001600160a01b03831660009081526004602052604090205460ff1680610b3f57506001600160a01b03821660009081526004602052604090205460ff165b15610b4e576000600e55610f34565b60165460ff16610b5d57600080fd5b6001600160a01b03831660009081526003602052604090205460ff16158015610b9f57506001600160a01b03821660009081526003602052604090205460ff16155b8015610bb95750601554601454610bb69190611a2d565b43105b15610bc8576063600e55610d34565b6013546001600160a01b0390811690841603610c5357600d5481610c01846001600160a01b031660009081526001602052604090205490565b610c0b9190611a2d565b1115610c485760405162461bcd60e51b815260206004820152600c60248201526b4d617857616c6c657420322560a01b60448201526064016105ee565b600f54600e55610d34565b6013546001600160a01b0390811690831603610d2e573060009081526001602052604090205460146064610c896012600a6119ba565b610c9690620186a06119c9565b610ca09190611a82565b610caa9190611a82565b81118015610cc05750601654610100900460ff16155b15610d22576064610cd36012600a6119ba565b610ce090620186a06119c9565b610cea9190611a82565b811115610d19576064610cff6012600a6119ba565b610d0c90620186a06119c9565b610d169190611a82565b90505b610d2281611079565b50601054600e55610d34565b6000600e555b6001600160a01b038216600090815260016020526040902054158015610d5a5750600081115b8015610d6f57506001600160a01b0382163014155b8015610d8957506013546001600160a01b03838116911614155b15610dda57600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0384161790555b60065460000b600019148015610df75750662386f26fc100004710155b8015610e0557506007544210155b15610e1757610e126111a9565b610f34565b60065460000b158015610e2c57506007544210155b15610e3957610e12611327565b60065460000b6001148015610e5057506007544210155b15610f34576000670de0b6b3a76400004711610e6c5747610e76565b670de0b6b3a76400005b600b549091506001600160a01b038581169116148015610ebc5750600c54600b546001600160a01b0316600090815260016020526040902054610eba908490611a59565b105b15610f2957600b546040518281526001600160a01b03909116907fd9bac25f65e37ef09c6cfcfa938c780b9f43751a603c31398447b43f301ead2a9060200160405180910390a2426007556006805460ff191660ff179055600b80546001600160a01b03191661dead1790555b610f3281611468565b505b60006064600e5483610f4691906119c9565b610f509190611a82565b90506000610f5e8284611a59565b6001600160a01b038616600090815260016020526040902054909150610f85908490611a59565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610fb5908290611a2d565b6001600160a01b038516600090815260016020526040808220929092553081522054610fe2908390611a2d565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600081848411156110635760405162461bcd60e51b81526004016105ee91906115ca565b5060006110708486611a59565b95945050505050565b6016805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110bd576110bd611a17565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061110557611105611a17565b6001600160a01b03928316602091820292909201015260115461112b91309116846109ee565b60115460125460405163791ac94760e01b81526001600160a01b039283169263791ac9479261116892879260009288929116904290600401611a96565b600060405180830381600087803b15801561118257600080fd5b505af1158015611196573d6000803e3d6000fd5b50506016805461ff001916905550505050565b60005b60038110156112c657600554600090425a60408051602081019390935282015233606090811b6bffffffffffffffffffffffff1916908201526074016040516020818303038152906040528051906020012060001c61120b9190611b07565b905060006005828154811061122257611222611a17565b6000918252602090912001546001600160a01b031690506103e86112486012600a6119ba565b61125590620186a06119c9565b61125f9190611a82565b6001600160a01b03821660009081526001602052604090205411156112bf57806008846003811061129257611292611a17565b0180546001600160a01b0319166001600160a01b0392909216919091179055826112bb81611a40565b9350505b50506111ac565b600a546009546008546040516001600160a01b039384169392831692909116907f172ce5afa5a77b19be99c4a19fad14861a37d7328c974eb8fa5384beba393c0190600090a46006805460ff19169055611321426078611a2d565b60075550565b6008546001600160a01b0316600081815260016020819052604090912054905b60038110156113f25781600160006008846003811061136857611368611a17565b01546001600160a01b0316815260208101919091526040016000205411156113e05760016000600883600381106113a1576113a1611a17565b01546001600160a01b031681526020810191909152604001600020549150600881600381106113d2576113d2611a17565b01546001600160a01b031692505b806113ea81611a40565b915050611347565b506006805460ff1916600117905561140b42603c611a2d565b600755600c819055600b80546001600160a01b0319166001600160a01b0384169081179091556040518281527f9c2270628a9b29d30ae96b6c4c14ed646ee134febdce38a5b77f2bde9cea2e209060200160405180910390a25050565b6006805460ff191660ff179055600c54600b546001600160a01b03166000908152600160205260409020541061155e57600b546040516000916001600160a01b03169083156108fc0290849084818181858888f193505050509050801561151057600b546040518381526001600160a01b03909116907f2cf65c2800edffbfd8d2e3a38d0fb4c3edcbd21cbe92d00dc6777ab1cc3f77ab9060200160405180910390a2611549565b600b546040516001600160a01b03909116907f14f2c244d0a4f2712aeed1b336599cdb266e4d16bc71d4dc079b8e57e852e6dd90600090a25b61155542610e10611a2d565b600755506115a5565b600b546040518281526001600160a01b03909116907fd9bac25f65e37ef09c6cfcfa938c780b9f43751a603c31398447b43f301ead2a9060200160405180910390a2426007555b50601254600b80546001600160a01b0319166001600160a01b03909216919091179055565b600060208083528351808285015260005b818110156115f7578581018301518582016040015282016115db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461162f57600080fd5b919050565b6000806040838503121561164757600080fd5b61165083611618565b946020939093013593505050565b60008060006060848603121561167357600080fd5b61167c84611618565b925061168a60208501611618565b9150604084013590509250925092565b6000602082840312156116ac57600080fd5b5035919050565b600080604083850312156116c657600080fd5b50508035926020909101359150565b6000602082840312156116e757600080fd5b6116f082611618565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611736576117366116f7565b604052919050565b600067ffffffffffffffff821115611758576117586116f7565b5060051b60200190565b600082601f83011261177357600080fd5b813560206117886117838361173e565b61170d565b82815260059290921b840181019181810190868411156117a757600080fd5b8286015b848110156117c257803583529183019183016117ab565b509695505050505050565b600080604083850312156117e057600080fd5b823567ffffffffffffffff808211156117f857600080fd5b818501915085601f83011261180c57600080fd5b8135602061181c6117838361173e565b82815260059290921b8401810191818101908984111561183b57600080fd5b948201945b838610156118605761185186611618565b82529482019490820190611840565b9650508601359250508082111561187657600080fd5b5061188385828601611762565b9150509250929050565b600080604083850312156118a057600080fd5b6118a983611618565b91506118b760208401611618565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119115781600019048211156118f7576118f76118c0565b8085161561190457918102915b93841c93908002906118db565b509250929050565b60008261192857506001610504565b8161193557506000610504565b816001811461194b576002811461195557611971565b6001915050610504565b60ff841115611966576119666118c0565b50506001821b610504565b5060208310610133831016604e8410600b8410161715611994575081810a610504565b61199e83836118d6565b80600019048211156119b2576119b26118c0565b029392505050565b60006116f060ff841683611919565b8082028115828204841417610504576105046118c0565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b80820180821115610504576105046118c0565b600060018201611a5257611a526118c0565b5060010190565b81810381811115610504576105046118c0565b634e487b7160e01b600052601260045260246000fd5b600082611a9157611a91611a6c565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae65784516001600160a01b031683529383019391830191600101611ac1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b1657611b16611a6c565b50069056fea2646970667358221220d0b6ff81fa9e51bdfa6eb3a0b494dd56620b7ead29154e879d0353b105dbbf0764736f6c63430008120033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063751039fc116100d1578063a9059cbb1161008a578063bc2de06c11610064578063bc2de06c1461044a578063cc1776d314610477578063dd62ed3e1461048d578063f2fde38b146104d357600080fd5b8063a9059cbb146103f4578063aa4bde2814610414578063ac95267e1461042a57600080fd5b8063751039fc1461034657806388c9cb3c1461035b5780638da5cb5b146103715780639229cca91461038f57806395d89b41146103af5780639e918956146103df57600080fd5b806349404e571161012357806349404e571461028357806349bd5a5e146102a55780634f7041a5146102c5578063667f6526146102db57806370a08231146102fb578063715018a61461033157600080fd5b806306fdde0314610176578063095ea7b3146101bc57806318160ddd146101ec57806323b872dd1461020f5780632dc0562d1461022f578063313ce5671461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600b81526a15da5e985c990811da599d60aa1b60208201525b6040516101b391906115ca565b60405180910390f35b3480156101c857600080fd5b506101dc6101d7366004611634565b6104f3565b60405190151581526020016101b3565b3480156101f857600080fd5b5061020161050a565b6040519081526020016101b3565b34801561021b57600080fd5b506101dc61022a36600461165e565b61052a565b34801561023b57600080fd5b5060125461024f906001600160a01b031681565b6040516001600160a01b0390911681526020016101b3565b34801561027357600080fd5b50604051601281526020016101b3565b34801561028f57600080fd5b506102a361029e36600461169a565b6105c4565b005b3480156102b157600080fd5b5060135461024f906001600160a01b031681565b3480156102d157600080fd5b50610201600f5481565b3480156102e757600080fd5b506102a36102f63660046116b3565b6105fc565b34801561030757600080fd5b506102016103163660046116d5565b6001600160a01b031660009081526001602052604090205490565b34801561033d57600080fd5b506102a3610631565b34801561035257600080fd5b506102a36106a5565b34801561036757600080fd5b5061020160075481565b34801561037d57600080fd5b506000546001600160a01b031661024f565b34801561039b57600080fd5b5061024f6103aa36600461169a565b6106ed565b3480156103bb57600080fd5b506040805180820190915260078152660915d25690549160ca1b60208201526101a6565b3480156103eb57600080fd5b506102a361070d565b34801561040057600080fd5b506101dc61040f366004611634565b610749565b34801561042057600080fd5b50610201600d5481565b34801561043657600080fd5b506102a36104453660046117cd565b610756565b34801561045657600080fd5b506006546104649060000b81565b60405160009190910b81526020016101b3565b34801561048357600080fd5b5061020160105481565b34801561049957600080fd5b506102016104a836600461188d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104df57600080fd5b506102a36104ee3660046116d5565b610923565b60006105003384846109ee565b5060015b92915050565b60006105186012600a6119ba565b61052590620186a06119c9565b905090565b6000610537848484610ab2565b6105ba84336105b5856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105943390565b6001600160a01b03168152602081019190915260400160002054919061103f565b6109ee565b5060019392505050565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016105ee906119e0565b60405180910390fd5b601555565b6000546001600160a01b031633146106265760405162461bcd60e51b81526004016105ee906119e0565b600f91909155601055565b6000546001600160a01b0316331461065b5760405162461bcd60e51b81526004016105ee906119e0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016105ee906119e0565b6106db6012600a6119ba565b6106e890620186a06119c9565b600d55565b600881600381106106fd57600080fd5b01546001600160a01b0316905081565b6012546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610746573d6000803e3d6000fd5b50565b6000610500338484610ab2565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016105ee906119e0565b6000805b83518110156108f25782818151811061079f5761079f611a17565b6020026020010151826107b29190611a2d565b91508281815181106107c6576107c6611a17565b6020026020010151600160008684815181106107e4576107e4611a17565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550600584828151811061082457610824611a17565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055835184908290811061087357610873611a17565b60200260200101516001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8584815181106108c1576108c1611a17565b60200260200101516040516108d891815260200190565b60405180910390a3806108ea81611a40565b915050610784565b503060009081526001602052604090205461090e908290611a59565b30600090815260016020526040902055505050565b6000546001600160a01b0316331461094d5760405162461bcd60e51b81526004016105ee906119e0565b6001600160a01b0381166109a35760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016105ee565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b03831615801590610a0e57506001600160a01b03821615155b610a515760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b60448201526064016105ee565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b005760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b60448201526064016105ee565b6001600160a01b03831660009081526004602052604090205460ff1680610b3f57506001600160a01b03821660009081526004602052604090205460ff165b15610b4e576000600e55610f34565b60165460ff16610b5d57600080fd5b6001600160a01b03831660009081526003602052604090205460ff16158015610b9f57506001600160a01b03821660009081526003602052604090205460ff16155b8015610bb95750601554601454610bb69190611a2d565b43105b15610bc8576063600e55610d34565b6013546001600160a01b0390811690841603610c5357600d5481610c01846001600160a01b031660009081526001602052604090205490565b610c0b9190611a2d565b1115610c485760405162461bcd60e51b815260206004820152600c60248201526b4d617857616c6c657420322560a01b60448201526064016105ee565b600f54600e55610d34565b6013546001600160a01b0390811690831603610d2e573060009081526001602052604090205460146064610c896012600a6119ba565b610c9690620186a06119c9565b610ca09190611a82565b610caa9190611a82565b81118015610cc05750601654610100900460ff16155b15610d22576064610cd36012600a6119ba565b610ce090620186a06119c9565b610cea9190611a82565b811115610d19576064610cff6012600a6119ba565b610d0c90620186a06119c9565b610d169190611a82565b90505b610d2281611079565b50601054600e55610d34565b6000600e555b6001600160a01b038216600090815260016020526040902054158015610d5a5750600081115b8015610d6f57506001600160a01b0382163014155b8015610d8957506013546001600160a01b03838116911614155b15610dda57600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0384161790555b60065460000b600019148015610df75750662386f26fc100004710155b8015610e0557506007544210155b15610e1757610e126111a9565b610f34565b60065460000b158015610e2c57506007544210155b15610e3957610e12611327565b60065460000b6001148015610e5057506007544210155b15610f34576000670de0b6b3a76400004711610e6c5747610e76565b670de0b6b3a76400005b600b549091506001600160a01b038581169116148015610ebc5750600c54600b546001600160a01b0316600090815260016020526040902054610eba908490611a59565b105b15610f2957600b546040518281526001600160a01b03909116907fd9bac25f65e37ef09c6cfcfa938c780b9f43751a603c31398447b43f301ead2a9060200160405180910390a2426007556006805460ff191660ff179055600b80546001600160a01b03191661dead1790555b610f3281611468565b505b60006064600e5483610f4691906119c9565b610f509190611a82565b90506000610f5e8284611a59565b6001600160a01b038616600090815260016020526040902054909150610f85908490611a59565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610fb5908290611a2d565b6001600160a01b038516600090815260016020526040808220929092553081522054610fe2908390611a2d565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b600081848411156110635760405162461bcd60e51b81526004016105ee91906115ca565b5060006110708486611a59565b95945050505050565b6016805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110bd576110bd611a17565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061110557611105611a17565b6001600160a01b03928316602091820292909201015260115461112b91309116846109ee565b60115460125460405163791ac94760e01b81526001600160a01b039283169263791ac9479261116892879260009288929116904290600401611a96565b600060405180830381600087803b15801561118257600080fd5b505af1158015611196573d6000803e3d6000fd5b50506016805461ff001916905550505050565b60005b60038110156112c657600554600090425a60408051602081019390935282015233606090811b6bffffffffffffffffffffffff1916908201526074016040516020818303038152906040528051906020012060001c61120b9190611b07565b905060006005828154811061122257611222611a17565b6000918252602090912001546001600160a01b031690506103e86112486012600a6119ba565b61125590620186a06119c9565b61125f9190611a82565b6001600160a01b03821660009081526001602052604090205411156112bf57806008846003811061129257611292611a17565b0180546001600160a01b0319166001600160a01b0392909216919091179055826112bb81611a40565b9350505b50506111ac565b600a546009546008546040516001600160a01b039384169392831692909116907f172ce5afa5a77b19be99c4a19fad14861a37d7328c974eb8fa5384beba393c0190600090a46006805460ff19169055611321426078611a2d565b60075550565b6008546001600160a01b0316600081815260016020819052604090912054905b60038110156113f25781600160006008846003811061136857611368611a17565b01546001600160a01b0316815260208101919091526040016000205411156113e05760016000600883600381106113a1576113a1611a17565b01546001600160a01b031681526020810191909152604001600020549150600881600381106113d2576113d2611a17565b01546001600160a01b031692505b806113ea81611a40565b915050611347565b506006805460ff1916600117905561140b42603c611a2d565b600755600c819055600b80546001600160a01b0319166001600160a01b0384169081179091556040518281527f9c2270628a9b29d30ae96b6c4c14ed646ee134febdce38a5b77f2bde9cea2e209060200160405180910390a25050565b6006805460ff191660ff179055600c54600b546001600160a01b03166000908152600160205260409020541061155e57600b546040516000916001600160a01b03169083156108fc0290849084818181858888f193505050509050801561151057600b546040518381526001600160a01b03909116907f2cf65c2800edffbfd8d2e3a38d0fb4c3edcbd21cbe92d00dc6777ab1cc3f77ab9060200160405180910390a2611549565b600b546040516001600160a01b03909116907f14f2c244d0a4f2712aeed1b336599cdb266e4d16bc71d4dc079b8e57e852e6dd90600090a25b61155542610e10611a2d565b600755506115a5565b600b546040518281526001600160a01b03909116907fd9bac25f65e37ef09c6cfcfa938c780b9f43751a603c31398447b43f301ead2a9060200160405180910390a2426007555b50601254600b80546001600160a01b0319166001600160a01b03909216919091179055565b600060208083528351808285015260005b818110156115f7578581018301518582016040015282016115db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461162f57600080fd5b919050565b6000806040838503121561164757600080fd5b61165083611618565b946020939093013593505050565b60008060006060848603121561167357600080fd5b61167c84611618565b925061168a60208501611618565b9150604084013590509250925092565b6000602082840312156116ac57600080fd5b5035919050565b600080604083850312156116c657600080fd5b50508035926020909101359150565b6000602082840312156116e757600080fd5b6116f082611618565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611736576117366116f7565b604052919050565b600067ffffffffffffffff821115611758576117586116f7565b5060051b60200190565b600082601f83011261177357600080fd5b813560206117886117838361173e565b61170d565b82815260059290921b840181019181810190868411156117a757600080fd5b8286015b848110156117c257803583529183019183016117ab565b509695505050505050565b600080604083850312156117e057600080fd5b823567ffffffffffffffff808211156117f857600080fd5b818501915085601f83011261180c57600080fd5b8135602061181c6117838361173e565b82815260059290921b8401810191818101908984111561183b57600080fd5b948201945b838610156118605761185186611618565b82529482019490820190611840565b9650508601359250508082111561187657600080fd5b5061188385828601611762565b9150509250929050565b600080604083850312156118a057600080fd5b6118a983611618565b91506118b760208401611618565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119115781600019048211156118f7576118f76118c0565b8085161561190457918102915b93841c93908002906118db565b509250929050565b60008261192857506001610504565b8161193557506000610504565b816001811461194b576002811461195557611971565b6001915050610504565b60ff841115611966576119666118c0565b50506001821b610504565b5060208310610133831016604e8410600b8410161715611994575081810a610504565b61199e83836118d6565b80600019048211156119b2576119b26118c0565b029392505050565b60006116f060ff841683611919565b8082028115828204841417610504576105046118c0565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b80820180821115610504576105046118c0565b600060018201611a5257611a526118c0565b5060010190565b81810381811115610504576105046118c0565b634e487b7160e01b600052601260045260246000fd5b600082611a9157611a91611a6c565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae65784516001600160a01b031683529383019391830191600101611ac1565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b1657611b16611a6c565b50069056fea2646970667358221220d0b6ff81fa9e51bdfa6eb3a0b494dd56620b7ead29154e879d0353b105dbbf0764736f6c63430008120033
Deployed Bytecode Sourcemap
3540:10437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6403:83;;;;;;;;;;-1:-1:-1;6473:5:0;;;;;;;;;;;;-1:-1:-1;;;6473:5:0;;;;6403:83;;;;;;;:::i;:::-;;;;;;;;7237:160;;;;;;;;;;-1:-1:-1;7237:160:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;7237:160:0;1004:187:1;6680:100:0;;;;;;;;;;;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6680:100:0;1196:177:1;7509:283:0;;;;;;;;;;-1:-1:-1;7509:283:0;;;;;:::i;:::-;;:::i;4730:86::-;;;;;;;;;;-1:-1:-1;4730:86:0;;;;-1:-1:-1;;;;;4730:86:0;;;;;;-1:-1:-1;;;;;1891:32:1;;;1873:51;;1861:2;1846:18;4730:86:0;1711:219:1;6589:83:0;;;;;;;;;;-1:-1:-1;6589:83:0;;3910:2;2077:36:1;;2065:2;2050:18;6589:83:0;1935:184:1;7406:95:0;;;;;;;;;;-1:-1:-1;7406:95:0;;;;;:::i;:::-;;:::i;:::-;;4823:28;;;;;;;;;;-1:-1:-1;4823:28:0;;;;-1:-1:-1;;;;;4823:28:0;;;4443:26;;;;;;;;;;;;;;;;13181:142;;;;;;;;;;-1:-1:-1;13181:142:0;;;;;:::i;:::-;;:::i;6788:118::-;;;;;;;;;;-1:-1:-1;6788:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6881:17:0;6854:7;6881:17;;;:8;:17;;;;;;;6788:118;2191:148;;;;;;;;;;;;;:::i;13081:92::-;;;;;;;;;;;;;:::i;4062:24::-;;;;;;;;;;;;;;;;1751:79;;;;;;;;;;-1:-1:-1;1789:7:0;1816:6;-1:-1:-1;;;;;1816:6:0;1751:79;;4093:30;;;;;;;;;;-1:-1:-1;4093:30:0;;;;;:::i;:::-;;:::i;6494:87::-;;;;;;;;;;-1:-1:-1;6566:7:0;;;;;;;;;;;;-1:-1:-1;;;6566:7:0;;;;6494:87;;13838:99;;;;;;;;;;;;;:::i;6914:165::-;;;;;;;;;;-1:-1:-1;6914:165:0;;;;;:::i;:::-;;:::i;4339:47::-;;;;;;;;;;;;;;;;5944:451;;;;;;;;;;-1:-1:-1;5944:451:0;;;;;:::i;:::-;;:::i;4022:33::-;;;;;;;;;;-1:-1:-1;4022:33:0;;;;;;;;;;;5465:4:1;5537:21;;;;5519:40;;5507:2;5492:18;4022:33:0;5379:186:1;4476:27:0;;;;;;;;;;;;;;;;7087:142;;;;;;;;;;-1:-1:-1;7087:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;7194:18:0;;;7168:7;7194:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7087:142;1956:227;;;;;;;;;;-1:-1:-1;1956:227:0;;;;;:::i;:::-;;:::i;7237:160::-;7312:4;7328:39;280:10;7351:7;7360:6;7328:8;:39::i;:::-;-1:-1:-1;7385:4:0;7237:160;;;;;:::o;6680:100::-;6733:7;3968:13;3910:2;3968;:13;:::i;:::-;3959:22;;:6;:22;:::i;:::-;6753:19;;6680:100;:::o;7509:283::-;7607:4;7624:36;7634:6;7642:9;7653:6;7624:9;:36::i;:::-;7671:91;7680:6;280:10;7700:61;7738:6;7700:61;;;;;;;;;;;;;-1:-1:-1;;;7700:61:0;;;:11;:19;7712:6;-1:-1:-1;;;;;7700:19:0;-1:-1:-1;;;;;7700:19:0;;;;;;;;;;;;:33;7720:12;280:10;;200:98;7720:12;-1:-1:-1;;;;;7700:33:0;;;;;;;;;;;;-1:-1:-1;7700:33:0;;;:61;:37;:61::i;:::-;7671:8;:91::i;:::-;-1:-1:-1;7780:4:0;7509:283;;;;;:::o;7406:95::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;;;;;;;;;7470:11:::1;:22:::0;7406:95::o;13181:142::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;13266:6:::1;:18:::0;;;;13295:7:::1;:20:::0;13181:142::o;2191:148::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;2298:1:::1;2282:6:::0;;2261:40:::1;::::0;-1:-1:-1;;;;;2282:6:0;;::::1;::::0;2261:40:::1;::::0;2298:1;;2261:40:::1;2329:1;2312:19:::0;;-1:-1:-1;;;;;;2312:19:0::1;::::0;;2191:148::o;13081:92::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;3968:13:::1;3910:2;3968;:13;:::i;:::-;3959:22;::::0;:6:::1;:22;:::i;:::-;13135:15;:30:::0;13081:92::o;4093:30::-;;;;;;;;;;;;;;-1:-1:-1;;;;;4093:30:0;;-1:-1:-1;4093:30:0;:::o;13838:99::-;13888:9;;:41;;-1:-1:-1;;;;;13888:9:0;;;;13907:21;13888:41;;;;;:9;:41;:9;:41;13907:21;13888:9;:41;;;;;;;;;;;;;;;;;;;;;13838:99::o;6914:165::-;6991:4;7007:42;280:10;7031:9;7042:6;7007:9;:42::i;5944:451::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;6046:14:::1;::::0;6072:247:::1;6096:7;:14;6092:1;:18;6072:247;;;6142:7;6150:1;6142:10;;;;;;;;:::i;:::-;;;;;;;6132:20;;;;;:::i;:::-;;;6191:7;6199:1;6191:10;;;;;;;;:::i;:::-;;;;;;;6167:8;:20;6176:7;6184:1;6176:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;6167:20:0::1;-1:-1:-1::0;;;;;6167:20:0::1;;;;;;;;;;;;:34;;;;6216:7;6229;6237:1;6229:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;6216:24;;::::1;::::0;::::1;::::0;;-1:-1:-1;6216:24:0;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;6216:24:0::1;-1:-1:-1::0;;;;;6216:24:0;;::::1;::::0;;;::::1;::::0;;6284:10;;;;6292:1;;6284:10;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;6260:47:0::1;6277:4;-1:-1:-1::0;;;;;6260:47:0::1;;6296:7;6304:1;6296:10;;;;;;;;:::i;:::-;;;;;;;6260:47;;;;1342:25:1::0;;1330:2;1315:18;;1196:177;6260:47:0::1;;;;;;;;6112:3:::0;::::1;::::0;::::1;:::i;:::-;;;;6072:247;;;-1:-1:-1::0;6372:4:0::1;6355:23;::::0;;;:8:::1;:23;::::0;;;;;:32:::1;::::0;6381:6;;6355:32:::1;:::i;:::-;6346:4;6329:23;::::0;;;:8:::1;:23;::::0;;;;:58;-1:-1:-1;;;5944:451:0:o;1956:227::-;1878:6;;-1:-1:-1;;;;;1878:6:0;280:10;1878:22;1870:58;;;;-1:-1:-1;;;1870:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2037:22:0;::::1;2029:64;;;::::0;-1:-1:-1;;;2029:64:0;;8612:2:1;2029:64:0::1;::::0;::::1;8594:21:1::0;8651:2;8631:18;;;8624:30;8690:31;8670:18;;;8663:59;8739:18;;2029:64:0::1;8410:353:1::0;2029:64:0::1;2104:6;:17:::0;;-1:-1:-1;;;;;;2104:17:0::1;-1:-1:-1::0;;;;;2104:17:0;::::1;::::0;;::::1;::::0;;2137:38:::1;::::0;2104:17;;;;2137:38:::1;::::0;2104:6;2137:38:::1;1956:227:::0;:::o;7800:265::-;-1:-1:-1;;;;;7893:19:0;;;;;;:44;;-1:-1:-1;;;;;;7916:21:0;;;;7893:44;7885:77;;;;-1:-1:-1;;;7885:77:0;;8970:2:1;7885:77:0;;;8952:21:1;9009:2;8989:18;;;8982:30;-1:-1:-1;;;9028:18:1;;;9021:50;9088:18;;7885:77:0;8768:344:1;7885:77:0;-1:-1:-1;;;;;7973:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8025:32;;1342:25:1;;;8025:32:0;;1315:18:1;8025:32:0;;;;;;;7800:265;;;:::o;8073:2813::-;-1:-1:-1;;;;;8161:18:0;;8153:52;;;;-1:-1:-1;;;8153:52:0;;9319:2:1;8153:52:0;;;9301:21:1;9358:2;9338:18;;;9331:30;-1:-1:-1;;;9377:18:1;;;9370:51;9438:18;;8153:52:0;9117:345:1;8153:52:0;-1:-1:-1;;;;;8221:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8249:22:0;;;;;;:18;:22;;;;;;;;8221:50;8218:2313;;;8294:1;8287:4;:8;8218:2313;;;8335:6;;;;8327:15;;;;;;-1:-1:-1;;;;;8366:30:0;;;;;;:24;:30;;;;;;;;8365:31;:64;;;;-1:-1:-1;;;;;;8401:28:0;;;;;;:24;:28;;;;;;;;8400:29;8365:64;:103;;;;;8457:11;;8446:10;;:22;;;;:::i;:::-;8433:12;:35;8365:103;8361:906;;;8475:2;8470:4;:7;8361:906;;;8520:13;;-1:-1:-1;;;;;8520:13:0;;;8512:21;;;;8508:740;;8596:15;;8586:6;8570:13;8580:2;-1:-1:-1;;;;;6881:17:0;6854:7;6881:17;;;:8;:17;;;;;;;6788:118;8570:13;:22;;;;:::i;:::-;:41;;8562:66;;;;-1:-1:-1;;;8562:66:0;;9669:2:1;8562:66:0;;;9651:21:1;9708:2;9688:18;;;9681:30;-1:-1:-1;;;9727:18:1;;;9720:42;9779:18;;8562:66:0;9467:336:1;8562:66:0;8662:6;;8655:4;:13;8508:740;;;8708:13;;-1:-1:-1;;;;;8708:13:0;;;8702:19;;;;8698:550;;8791:4;8750:20;6881:17;;;:8;:17;;;;;;5018:2;4322:3;3968:13;3910:2;3968;:13;:::i;:::-;3959:22;;:6;:22;:::i;:::-;4307:18;;;;:::i;:::-;5005:15;;;;:::i;:::-;8828:12;:22;:43;;;;-1:-1:-1;8855:16:0;;;;;;;8854:17;8828:43;8824:295;;;4322:3;3968:13;3910:2;3968;:13;:::i;:::-;3959:22;;:6;:22;:::i;:::-;4307:18;;;;:::i;:::-;8908:12;:25;8904:123;;;4322:3;3968:13;3910:2;3968;:13;:::i;:::-;3959:22;;:6;:22;:::i;:::-;4307:18;;;;:::i;:::-;8970:25;;8904:123;9057:30;9074:12;9057:16;:30::i;:::-;-1:-1:-1;9152:7:0;;9145:4;:14;8698:550;;;9223:1;9216:4;:8;8698:550;-1:-1:-1;;;;;9284:12:0;;;;;;:8;:12;;;;;;:17;:31;;;;;9314:1;9305:6;:10;9284:31;:54;;;;-1:-1:-1;;;;;;9319:19:0;;9333:4;9319:19;;9284:54;:77;;;;-1:-1:-1;9348:13:0;;-1:-1:-1;;;;;9342:19:0;;;9348:13;;9342:19;;9284:77;9281:132;;;9381:7;:16;;;;;;;-1:-1:-1;9381:16:0;;;;;;;;-1:-1:-1;;;;;;9381:16:0;-1:-1:-1;;;;;9381:16:0;;;;;9281:132;9745:16;;;;-1:-1:-1;;9745:22:0;:61;;;;;9796:10;9771:21;:35;;9745:61;:89;;;;;9829:5;;9810:15;:24;;9745:89;9742:778;;;9854:17;:15;:17::i;:::-;9742:778;;;9895:16;;;;:21;:49;;;;;9939:5;;9920:15;:24;;9895:49;9892:628;;;9964:14;:12;:14::i;9892:628::-;10003:16;;;;;:21;:49;;;;;10047:5;;10028:15;:24;;10003:49;9999:521;;;10072:17;10117:7;10093:21;:31;:65;;10137:21;10093:65;;;10127:7;10093:65;10188:6;;10072:86;;-1:-1:-1;;;;;;10180:14:0;;;10188:6;;10180:14;:65;;;;-1:-1:-1;10225:19:0;;10208:6;;-1:-1:-1;;;;;10208:6:0;10199:16;;;;:8;:16;;;;;;:23;;10216:6;;10199:23;:::i;:::-;:45;10180:65;10177:284;;;10286:6;;10275:29;;1342:25:1;;;-1:-1:-1;;;;;10286:6:0;;;;10275:29;;1330:2:1;1315:18;10275:29:0;;;;;;;10335:15;10327:5;:23;10373:16;:21;;-1:-1:-1;;10373:21:0;;;;;10417:6;:24;;-1:-1:-1;;;;;;10417:24:0;10434:6;10417:24;;;10177:284;10479:25;10494:9;10479:14;:25::i;:::-;10053:467;9999:521;10551:17;10589:3;10581:4;;10572:6;:13;;;;:::i;:::-;10571:21;;;;:::i;:::-;10551:41;-1:-1:-1;10603:22:0;10628:18;10551:41;10628:6;:18;:::i;:::-;-1:-1:-1;;;;;10676:14:0;;;;;;:8;:14;;;;;;10603:43;;-1:-1:-1;10676:23:0;;10693:6;;10676:23;:::i;:::-;-1:-1:-1;;;;;10659:14:0;;;;;;;:8;:14;;;;;;:40;;;;10725:12;;;;;;;:29;;10740:14;;10725:29;:::i;:::-;-1:-1:-1;;;;;10710:12:0;;;;;;:8;:12;;;;;;:44;;;;10808:4;10791:23;;;;:35;;10817:9;;10791:35;:::i;:::-;10782:4;10765:23;;;;:8;:23;;;;;;;;;:61;;;;10844:34;1342:25:1;;;-1:-1:-1;;;;;10844:34:0;;;;;;;;;;1315:18:1;10844:34:0;;;;;;;8142:2744;;8073:2813;;;:::o;640:190::-;726:7;762:12;754:6;;;;746:29;;;;-1:-1:-1;;;746:29:0;;;;;;;;:::i;:::-;-1:-1:-1;786:9:0;798:5;802:1;798;:5;:::i;:::-;786:17;640:190;-1:-1:-1;;;;;640:190:0:o;13331:499::-;5125:16;:23;;-1:-1:-1;;5125:23:0;;;;;13433:16:::1;::::0;;13447:1:::1;13433:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13433:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13433:16:0::1;13409:40;;13478:4;13460;13465:1;13460:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;13460:23:0::1;;;-1:-1:-1::0;;;;;13460:23:0::1;;;::::0;::::1;13504:42;13494:4;13499:1;13494:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13494:52:0;;::::1;:7;::::0;;::::1;::::0;;;;;:52;13589:15:::1;::::0;13557:62:::1;::::0;13574:4:::1;::::0;13589:15:::1;13607:11:::0;13557:8:::1;:62::i;:::-;13630:15;::::0;13772:9:::1;::::0;13630:192:::1;::::0;-1:-1:-1;;;13630:192:0;;-1:-1:-1;;;;;13630:15:0;;::::1;::::0;:66:::1;::::0;:192:::1;::::0;13711:11;;13630:15:::1;::::0;13753:4;;13772:9;::::1;::::0;13796:15:::1;::::0;13630:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5171:16:0;:24;;-1:-1:-1;;5171:24:0;;;-1:-1:-1;;;;13331:499:0:o;11026:632::-;11072:16;11103:387;11123:1;11109:11;:15;11103:387;;;11268:7;:14;11172:13;;11223:15;11240:9;11206:56;;;;;;11243:19:1;;;;11278:12;;11271:28;11251:10:0;11337:2:1;11333:15;;;-1:-1:-1;;11329:53:1;11315:12;;;11308:75;11399:12;;11206:56:0;;;;;;;;;;;;11196:67;;;;;;11188:76;;:95;;;;:::i;:::-;11172:111;;11298:14;11315:7;11323:5;11315:14;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;11315:14:0;;-1:-1:-1;4246:4:0;3968:13;3910:2;3968;:13;:::i;:::-;3959:22;;:6;:22;:::i;:::-;4231:19;;;;:::i;:::-;-1:-1:-1;;;;;11347:16:0;;;;;;:8;:16;;;;;;:29;11344:135;;;11425:6;11397:12;11410:11;11397:25;;;;;;;:::i;:::-;;:34;;-1:-1:-1;;;;;;11397:34:0;-1:-1:-1;;;;;11397:34:0;;;;;;;;;;11450:13;;;;:::i;:::-;;;;11344:135;11125:365;;11103:387;;;11557:15;;11540;;11557:12;11523:15;11507:66;;-1:-1:-1;;;;;11557:15:0;;;;11540;;;;11523;;;;11507:66;;11540:15;;11507:66;11584:16;:20;;-1:-1:-1;;11584:20:0;;;11623:27;:15;11641:9;11623:27;:::i;:::-;11615:5;:35;-1:-1:-1;11026:632:0:o;11751:522::-;11808:12;:15;-1:-1:-1;;;;;11808:15:0;11794:11;11852:13;;;11808:15;11852:13;;;;;;;;;;11882:206;11905:1;11901;:5;11882:206;;;11959:7;11931:8;:25;11940:12;11953:1;11940:15;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;11940:15:0;11931:25;;;;;;;;;;;11940:15;11931:25;;:35;11927:150;;;11996:8;:25;12005:12;12018:1;12005:15;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;12005:15:0;11996:25;;;;;;;;;;;12005:15;11996:25;;;-1:-1:-1;12046:12:0;12059:1;12046:15;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;12046:15:0;;-1:-1:-1;11927:150:0;11908:3;;;;:::i;:::-;;;;11882:206;;;-1:-1:-1;12100:16:0;:20;;-1:-1:-1;;12100:20:0;12119:1;12100:20;;;12139:27;:15;12157:9;12139:27;:::i;:::-;12131:5;:35;12177:19;:29;;;12217:6;:12;;-1:-1:-1;;;;;;12217:12:0;-1:-1:-1;;;;;12217:12:0;;;;;;;;12245:20;;1342:25:1;;;12245:20:0;;1330:2:1;1315:18;12245:20:0;;;;;;;11783:490;;11751:522::o;12502:571::-;12564:16;:21;;-1:-1:-1;;12564:21:0;;;;;12619:19;;12608:6;;-1:-1:-1;;;;;12608:6:0;12564:16;12599;;;12564:21;12599:16;;;;;;:39;12596:441;;12688:6;;12680:31;;12668:9;;-1:-1:-1;;;;;12688:6:0;;12680:31;;;;;12701:9;;12668;12680:31;12668:9;12680:31;12701:9;12688:6;12680:31;;;;;;;12668:43;;12729:4;12726:146;;;12771:6;;12758:31;;1342:25:1;;;-1:-1:-1;;;;;12771:6:0;;;;12758:31;;1330:2:1;1315:18;12758:31:0;;;;;;;12726:146;;;12849:6;;12835:21;;-1:-1:-1;;;;;12849:6:0;;;;12835:21;;12849:6;;12835:21;12726:146;12894:28;:15;12912:10;12894:28;:::i;:::-;12886:5;:36;-1:-1:-1;12596:441:0;;;12969:6;;12958:29;;1342:25:1;;;-1:-1:-1;;;;;12969:6:0;;;;12958:29;;1330:2:1;1315:18;12958:29:0;;;;;;;13010:15;13002:5;:23;12596:441;-1:-1:-1;13056:9:0;;13047:6;:18;;-1:-1:-1;;;;;;13047:18:0;-1:-1:-1;;;;;13056:9:0;;;13047:18;;;;;;12502:571::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2124:180::-;2183:6;2236:2;2224:9;2215:7;2211:23;2207:32;2204:52;;;2252:1;2249;2242:12;2204:52;-1:-1:-1;2275:23:1;;2124:180;-1:-1:-1;2124:180:1:o;2517:248::-;2585:6;2593;2646:2;2634:9;2625:7;2621:23;2617:32;2614:52;;;2662:1;2659;2652:12;2614:52;-1:-1:-1;;2685:23:1;;;2755:2;2740:18;;;2727:32;;-1:-1:-1;2517:248:1:o;2770:186::-;2829:6;2882:2;2870:9;2861:7;2857:23;2853:32;2850:52;;;2898:1;2895;2888:12;2850:52;2921:29;2940:9;2921:29;:::i;:::-;2911:39;2770:186;-1:-1:-1;;;2770:186:1:o;2961:127::-;3022:10;3017:3;3013:20;3010:1;3003:31;3053:4;3050:1;3043:15;3077:4;3074:1;3067:15;3093:275;3164:2;3158:9;3229:2;3210:13;;-1:-1:-1;;3206:27:1;3194:40;;3264:18;3249:34;;3285:22;;;3246:62;3243:88;;;3311:18;;:::i;:::-;3347:2;3340:22;3093:275;;-1:-1:-1;3093:275:1:o;3373:183::-;3433:4;3466:18;3458:6;3455:30;3452:56;;;3488:18;;:::i;:::-;-1:-1:-1;3533:1:1;3529:14;3545:4;3525:25;;3373:183::o;3561:662::-;3615:5;3668:3;3661:4;3653:6;3649:17;3645:27;3635:55;;3686:1;3683;3676:12;3635:55;3722:6;3709:20;3748:4;3772:60;3788:43;3828:2;3788:43;:::i;:::-;3772:60;:::i;:::-;3866:15;;;3952:1;3948:10;;;;3936:23;;3932:32;;;3897:12;;;;3976:15;;;3973:35;;;4004:1;4001;3994:12;3973:35;4040:2;4032:6;4028:15;4052:142;4068:6;4063:3;4060:15;4052:142;;;4134:17;;4122:30;;4172:12;;;;4085;;4052:142;;;-1:-1:-1;4212:5:1;3561:662;-1:-1:-1;;;;;;3561:662:1:o;4228:1146::-;4346:6;4354;4407:2;4395:9;4386:7;4382:23;4378:32;4375:52;;;4423:1;4420;4413:12;4375:52;4463:9;4450:23;4492:18;4533:2;4525:6;4522:14;4519:34;;;4549:1;4546;4539:12;4519:34;4587:6;4576:9;4572:22;4562:32;;4632:7;4625:4;4621:2;4617:13;4613:27;4603:55;;4654:1;4651;4644:12;4603:55;4690:2;4677:16;4712:4;4736:60;4752:43;4792:2;4752:43;:::i;4736:60::-;4830:15;;;4912:1;4908:10;;;;4900:19;;4896:28;;;4861:12;;;;4936:19;;;4933:39;;;4968:1;4965;4958:12;4933:39;4992:11;;;;5012:148;5028:6;5023:3;5020:15;5012:148;;;5094:23;5113:3;5094:23;:::i;:::-;5082:36;;5045:12;;;;5138;;;;5012:148;;;5179:5;-1:-1:-1;;5222:18:1;;5209:32;;-1:-1:-1;;5253:16:1;;;5250:36;;;5282:1;5279;5272:12;5250:36;;5305:63;5360:7;5349:8;5338:9;5334:24;5305:63;:::i;:::-;5295:73;;;4228:1146;;;;;:::o;5570:260::-;5638:6;5646;5699:2;5687:9;5678:7;5674:23;5670:32;5667:52;;;5715:1;5712;5705:12;5667:52;5738:29;5757:9;5738:29;:::i;:::-;5728:39;;5786:38;5820:2;5809:9;5805:18;5786:38;:::i;:::-;5776:48;;5570:260;;;;;:::o;5835:127::-;5896:10;5891:3;5887:20;5884:1;5877:31;5927:4;5924:1;5917:15;5951:4;5948:1;5941:15;5967:422;6056:1;6099:5;6056:1;6113:270;6134:7;6124:8;6121:21;6113:270;;;6193:4;6189:1;6185:6;6181:17;6175:4;6172:27;6169:53;;;6202:18;;:::i;:::-;6252:7;6242:8;6238:22;6235:55;;;6272:16;;;;6235:55;6351:22;;;;6311:15;;;;6113:270;;;6117:3;5967:422;;;;;:::o;6394:806::-;6443:5;6473:8;6463:80;;-1:-1:-1;6514:1:1;6528:5;;6463:80;6562:4;6552:76;;-1:-1:-1;6599:1:1;6613:5;;6552:76;6644:4;6662:1;6657:59;;;;6730:1;6725:130;;;;6637:218;;6657:59;6687:1;6678:10;;6701:5;;;6725:130;6762:3;6752:8;6749:17;6746:43;;;6769:18;;:::i;:::-;-1:-1:-1;;6825:1:1;6811:16;;6840:5;;6637:218;;6939:2;6929:8;6926:16;6920:3;6914:4;6911:13;6907:36;6901:2;6891:8;6888:16;6883:2;6877:4;6874:12;6870:35;6867:77;6864:159;;;-1:-1:-1;6976:19:1;;;7008:5;;6864:159;7055:34;7080:8;7074:4;7055:34;:::i;:::-;7125:6;7121:1;7117:6;7113:19;7104:7;7101:32;7098:58;;;7136:18;;:::i;:::-;7174:20;;6394:806;-1:-1:-1;;;6394:806:1:o;7205:140::-;7263:5;7292:47;7333:4;7323:8;7319:19;7313:4;7292:47;:::i;7350:168::-;7423:9;;;7454;;7471:15;;;7465:22;;7451:37;7441:71;;7492:18;;:::i;7523:347::-;7725:2;7707:21;;;7764:2;7744:18;;;7737:30;7803:25;7798:2;7783:18;;7776:53;7861:2;7846:18;;7523:347::o;7875:127::-;7936:10;7931:3;7927:20;7924:1;7917:31;7967:4;7964:1;7957:15;7991:4;7988:1;7981:15;8007:125;8072:9;;;8093:10;;;8090:36;;;8106:18;;:::i;8137:135::-;8176:3;8197:17;;;8194:43;;8217:18;;:::i;:::-;-1:-1:-1;8264:1:1;8253:13;;8137:135::o;8277:128::-;8344:9;;;8365:11;;;8362:37;;;8379:18;;:::i;9808:127::-;9869:10;9864:3;9860:20;9857:1;9850:31;9900:4;9897:1;9890:15;9924:4;9921:1;9914:15;9940:120;9980:1;10006;9996:35;;10011:18;;:::i;:::-;-1:-1:-1;10045:9:1;;9940:120::o;10065:988::-;10335:4;10383:3;10372:9;10368:19;10414:6;10403:9;10396:25;10440:2;10478:6;10473:2;10462:9;10458:18;10451:34;10521:3;10516:2;10505:9;10501:18;10494:31;10545:6;10580;10574:13;10611:6;10603;10596:22;10649:3;10638:9;10634:19;10627:26;;10688:2;10680:6;10676:15;10662:29;;10709:1;10719:195;10733:6;10730:1;10727:13;10719:195;;;10798:13;;-1:-1:-1;;;;;10794:39:1;10782:52;;10889:15;;;;10854:12;;;;10830:1;10748:9;10719:195;;;-1:-1:-1;;;;;;;10970:32:1;;;;10965:2;10950:18;;10943:60;-1:-1:-1;;;11034:3:1;11019:19;11012:35;10931:3;10065:988;-1:-1:-1;;;10065:988:1:o;11422:112::-;11454:1;11480;11470:35;;11485:18;;:::i;:::-;-1:-1:-1;11519:9:1;;11422:112::o
Swarm Source
ipfs://d0b6ff81fa9e51bdfa6eb3a0b494dd56620b7ead29154e879d0353b105dbbf07
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.