Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000,000,000 SFLOKIPUP
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,290,168,000,459,120.153042468 SFLOKIPUPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SuperFlokiPup
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-18 */ /* Twitter: https://twitter.com/SuperFlokiPup Telegram: https://t.me/SuperFlokiPup */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract SuperFlokiPup is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; string private constant _name = "Super Floki Pup | t.me/SuperFlokiPup"; string private constant _symbol = "SFLOKIPUP"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet1 = payable(0x9D7C5f3737A9ed9f5E56AbFF96894aA02B9Cc948); _feeAddrWallet2 = payable(0x9D7C5f3737A9ed9f5E56AbFF96894aA02B9Cc948); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; _isExcludedFromFee[_feeAddrWallet2] = true; emit Transfer(address(0x1163B781a4b677b63bE5C5Ec9CF8716bb8628a02), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _feeAddr1 = 0; _feeAddr2 = 10; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 0; _feeAddr2 = 10; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETH656ToFee(uint256 amount) private { } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount.div(2)); _feeAddrWallet2.transfer(amount.div(2)); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 100000000000000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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
60806040526200001e6b033b2e3c9fd0803ce800000060001962000233565b6200002c906000196200020f565b600855600f805462ffffff60a81b191690556b033b2e3c9fd0803ce80000006010553480156200005b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c8054739d7c5f3737a9ed9f5e56abff96894aa02b9cc9486001600160a01b03199182168117909255600d8054909116909117905560085460026000620000e23390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200011c6200020060201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d549091168352912080549092161790556200018d3390565b6001600160a01b0316731163b781a4b677b63be5c5ec9cf8716bb8628a026001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051620001f291815260200190565b60405180910390a362000254565b6000546001600160a01b031690565b6000828210156200022e57634e487b7160e01b81526011600452602481fd5b500390565b6000826200024f57634e487b7160e01b81526012600452602481fd5b500690565b61234480620002646000396000f3fe6080604052600436106101125760003560e01c806370a08231116100a5578063a9059cbb11610074578063c3c8cd8011610059578063c3c8cd8014610325578063c9567bf91461033a578063dd62ed3e1461034f57600080fd5b8063a9059cbb146102e5578063b515566a1461030557600080fd5b806370a0823114610235578063715018a6146102555780638da5cb5b1461026a57806395d89b411461029f57600080fd5b8063273123b7116100e1578063273123b7146101c2578063313ce567146101e45780635932ead1146102005780636fc3eaec1461022057600080fd5b806306fdde031461011e578063095ea7b31461014957806318160ddd1461017957806323b872dd146101a257600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b506101336103a2565b604051610140919061205b565b60405180910390f35b34801561015557600080fd5b50610169610164366004611ee6565b6103c2565b6040519015158152602001610140565b34801561018557600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610140565b3480156101ae57600080fd5b506101696101bd366004611ea6565b6103d9565b3480156101ce57600080fd5b506101e26101dd366004611e36565b61044f565b005b3480156101f057600080fd5b5060405160098152602001610140565b34801561020c57600080fd5b506101e261021b366004611ff6565b610521565b34801561022c57600080fd5b506101e26105ef565b34801561024157600080fd5b50610194610250366004611e36565b610636565b34801561026157600080fd5b506101e2610665565b34801561027657600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610140565b3480156102ab57600080fd5b5060408051808201909152600981527f53464c4f4b4950555000000000000000000000000000000000000000000000006020820152610133565b3480156102f157600080fd5b50610169610300366004611ee6565b610755565b34801561031157600080fd5b506101e2610320366004611f11565b610762565b34801561033157600080fd5b506101e26108a1565b34801561034657600080fd5b506101e26108f1565b34801561035b57600080fd5b5061019461036a366004611e6e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b60606040518060600160405280602481526020016122c360249139905090565b60006103cf338484610e64565b5060015b92915050565b60006103e6848484611017565b6104458433610440856040518060600160405280602881526020016122e76028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260046020908152604080832033845290915290205491906114f2565b610e64565b5060019392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b600f805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b600c5473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461062957600080fd5b4761063381611546565b50565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600260205260408120546103d3906115e5565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006103cf338484611017565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b60005b815181101561089d5760016006600084848151811061082e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905580610895816121fb565b9150506107e6565b5050565b600c5473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108db57600080fd5b60006108e630610636565b905061063381611696565b60005473ffffffffffffffffffffffffffffffffffffffff163314610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b600f5474010000000000000000000000000000000000000000900460ff16156109f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104cc565b600e80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a4f30826b033b2e3c9fd0803ce8000000610e64565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190611e52565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611e52565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381600087803b158015610bd457600080fd5b505af1158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611e52565b600f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600e541663f305d7194730610c6181610636565b600080610c8360005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610d0b57600080fd5b505af1158015610d1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d44919061202e565b5050600f80546a52b7d2dcc80cd2e40000006010557fffffffffffffffff0000ff00ffffffffffffffffffffffffffffffffffffffff81167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b390604401602060405180830381600087803b158015610e2c57600080fd5b505af1158015610e40573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089d9190612012565b73ffffffffffffffffffffffffffffffffffffffff8316610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff8216610fa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166110ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff821661115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b600081116111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016104cc565b6000600a818155600b555473ffffffffffffffffffffffffffffffffffffffff84811691161480159061123b575060005473ffffffffffffffffffffffffffffffffffffffff838116911614155b156114e25773ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205460ff1615801561129c575073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff16155b6112a557600080fd5b600f5473ffffffffffffffffffffffffffffffffffffffff84811691161480156112ea5750600e5473ffffffffffffffffffffffffffffffffffffffff838116911614155b801561131c575073ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205460ff16155b80156113455750600f5477010000000000000000000000000000000000000000000000900460ff165b156113bc5760105481111561135957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054421161138a57600080fd5b61139542601e612156565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020555b600f5473ffffffffffffffffffffffffffffffffffffffff83811691161480156114015750600e5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015611433575073ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460ff16155b15611443576000600a908155600b555b600061144e30610636565b600f549091507501000000000000000000000000000000000000000000900460ff161580156114985750600f5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156114c05750600f54760100000000000000000000000000000000000000000000900460ff165b156114e0576114ce81611696565b4780156114de576114de47611546565b505b505b6114ed83838361190e565b505050565b60008184841115611530576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cc919061205b565b50600061153d84866121e4565b95945050505050565b600c5473ffffffffffffffffffffffffffffffffffffffff166108fc61156d836002611919565b6040518115909202916000818181858888f19350505050158015611595573d6000803e3d6000fd5b50600d5473ffffffffffffffffffffffffffffffffffffffff166108fc6115bd836002611919565b6040518115909202916000818181858888f1935050505015801561089d573d6000803e3d6000fd5b6000600854821115611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016104cc565b600061168361195b565b905061168f8382611919565b9392505050565b600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611732577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156117ac57600080fd5b505afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190611e52565b8160018151811061181e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600e546118519130911684610e64565b600e546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906118b09085906000908690309042906004016120cc565b600060405180830381600087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b5050600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b6114ed83838361197e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab6565b6000806000611968611afe565b90925090506119778282611919565b9250505090565b60008060008060008061199087611b46565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260026020526040902054959b509399509197509550935091506119cf9087611ba3565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526002602052604080822093909355908a1681522054611a0b9086611be5565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260026020526040902055611a3a81611c5e565b611a448483611ca8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611aa391815260200190565b60405180910390a3505050505050505050565b60008183611af1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cc919061205b565b50600061153d848661216e565b60085460009081906b033b2e3c9fd0803ce8000000611b1d8282611919565b821015611b3d575050600854926b033b2e3c9fd0803ce800000092509050565b90939092509050565b6000806000806000806000806000611b638a600a54600b54611ccc565b9250925092506000611b7361195b565b90506000806000611b868e878787611d21565b919e509c509a509598509396509194505050505091939550919395565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f2565b600080611bf28385612156565b90508381101561168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cc565b6000611c6861195b565b90506000611c768383611d71565b30600090815260026020526040902054909150611c939082611be5565b30600090815260026020526040902055505050565b600854611cb59083611ba3565b600855600954611cc59082611be5565b6009555050565b6000808080611ce66064611ce08989611d71565b90611919565b90506000611cf96064611ce08a89611d71565b90506000611d1182611d0b8b86611ba3565b90611ba3565b9992985090965090945050505050565b6000808080611d308886611d71565b90506000611d3e8887611d71565b90506000611d4c8888611d71565b90506000611d5e82611d0b8686611ba3565b939b939a50919850919650505050505050565b600082611d80575060006103d3565b6000611d8c83856121a7565b905082611d99858361216e565b1461168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b8035611e3181612292565b919050565b600060208284031215611e47578081fd5b813561168f81612292565b600060208284031215611e63578081fd5b815161168f81612292565b60008060408385031215611e80578081fd5b8235611e8b81612292565b91506020830135611e9b81612292565b809150509250929050565b600080600060608486031215611eba578081fd5b8335611ec581612292565b92506020840135611ed581612292565b929592945050506040919091013590565b60008060408385031215611ef8578182fd5b8235611f0381612292565b946020939093013593505050565b60006020808385031215611f23578182fd5b823567ffffffffffffffff80821115611f3a578384fd5b818501915085601f830112611f4d578384fd5b813581811115611f5f57611f5f612263565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611fa257611fa2612263565b604052828152858101935084860182860187018a1015611fc0578788fd5b8795505b83861015611fe957611fd581611e26565b855260019590950194938601938601611fc4565b5098975050505050505050565b600060208284031215612007578081fd5b813561168f816122b4565b600060208284031215612023578081fd5b815161168f816122b4565b600080600060608486031215612042578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156120875785810183015185820160400152820161206b565b818111156120985783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561212857845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016120f6565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b6000821982111561216957612169612234565b500190565b6000826121a2577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121df576121df612234565b500290565b6000828210156121f6576121f6612234565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561222d5761222d612234565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461063357600080fd5b801515811461063357600080fdfe537570657220466c6f6b6920507570207c20742e6d652f5375706572466c6f6b6950757045524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200bc9be9abe8cf5d74bd3e28d74ad8443a74ed6ec4d3e4de52b406bedab0bb95c64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101125760003560e01c806370a08231116100a5578063a9059cbb11610074578063c3c8cd8011610059578063c3c8cd8014610325578063c9567bf91461033a578063dd62ed3e1461034f57600080fd5b8063a9059cbb146102e5578063b515566a1461030557600080fd5b806370a0823114610235578063715018a6146102555780638da5cb5b1461026a57806395d89b411461029f57600080fd5b8063273123b7116100e1578063273123b7146101c2578063313ce567146101e45780635932ead1146102005780636fc3eaec1461022057600080fd5b806306fdde031461011e578063095ea7b31461014957806318160ddd1461017957806323b872dd146101a257600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b506101336103a2565b604051610140919061205b565b60405180910390f35b34801561015557600080fd5b50610169610164366004611ee6565b6103c2565b6040519015158152602001610140565b34801561018557600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610140565b3480156101ae57600080fd5b506101696101bd366004611ea6565b6103d9565b3480156101ce57600080fd5b506101e26101dd366004611e36565b61044f565b005b3480156101f057600080fd5b5060405160098152602001610140565b34801561020c57600080fd5b506101e261021b366004611ff6565b610521565b34801561022c57600080fd5b506101e26105ef565b34801561024157600080fd5b50610194610250366004611e36565b610636565b34801561026157600080fd5b506101e2610665565b34801561027657600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610140565b3480156102ab57600080fd5b5060408051808201909152600981527f53464c4f4b4950555000000000000000000000000000000000000000000000006020820152610133565b3480156102f157600080fd5b50610169610300366004611ee6565b610755565b34801561031157600080fd5b506101e2610320366004611f11565b610762565b34801561033157600080fd5b506101e26108a1565b34801561034657600080fd5b506101e26108f1565b34801561035b57600080fd5b5061019461036a366004611e6e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b60606040518060600160405280602481526020016122c360249139905090565b60006103cf338484610e64565b5060015b92915050565b60006103e6848484611017565b6104458433610440856040518060600160405280602881526020016122e76028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260046020908152604080832033845290915290205491906114f2565b610e64565b5060019392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b600f805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b600c5473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461062957600080fd5b4761063381611546565b50565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600260205260408120546103d3906115e5565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006103cf338484611017565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b60005b815181101561089d5760016006600084848151811061082e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905580610895816121fb565b9150506107e6565b5050565b600c5473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108db57600080fd5b60006108e630610636565b905061063381611696565b60005473ffffffffffffffffffffffffffffffffffffffff163314610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104cc565b600f5474010000000000000000000000000000000000000000900460ff16156109f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104cc565b600e80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a4f30826b033b2e3c9fd0803ce8000000610e64565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190611e52565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611e52565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381600087803b158015610bd457600080fd5b505af1158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c9190611e52565b600f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600e541663f305d7194730610c6181610636565b600080610c8360005473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610d0b57600080fd5b505af1158015610d1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d44919061202e565b5050600f80546a52b7d2dcc80cd2e40000006010557fffffffffffffffff0000ff00ffffffffffffffffffffffffffffffffffffffff81167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b390604401602060405180830381600087803b158015610e2c57600080fd5b505af1158015610e40573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089d9190612012565b73ffffffffffffffffffffffffffffffffffffffff8316610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff8216610fa9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166110ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104cc565b73ffffffffffffffffffffffffffffffffffffffff821661115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b600081116111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016104cc565b6000600a818155600b555473ffffffffffffffffffffffffffffffffffffffff84811691161480159061123b575060005473ffffffffffffffffffffffffffffffffffffffff838116911614155b156114e25773ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205460ff1615801561129c575073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff16155b6112a557600080fd5b600f5473ffffffffffffffffffffffffffffffffffffffff84811691161480156112ea5750600e5473ffffffffffffffffffffffffffffffffffffffff838116911614155b801561131c575073ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090205460ff16155b80156113455750600f5477010000000000000000000000000000000000000000000000900460ff165b156113bc5760105481111561135957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054421161138a57600080fd5b61139542601e612156565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020555b600f5473ffffffffffffffffffffffffffffffffffffffff83811691161480156114015750600e5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015611433575073ffffffffffffffffffffffffffffffffffffffff831660009081526005602052604090205460ff16155b15611443576000600a908155600b555b600061144e30610636565b600f549091507501000000000000000000000000000000000000000000900460ff161580156114985750600f5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156114c05750600f54760100000000000000000000000000000000000000000000900460ff165b156114e0576114ce81611696565b4780156114de576114de47611546565b505b505b6114ed83838361190e565b505050565b60008184841115611530576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cc919061205b565b50600061153d84866121e4565b95945050505050565b600c5473ffffffffffffffffffffffffffffffffffffffff166108fc61156d836002611919565b6040518115909202916000818181858888f19350505050158015611595573d6000803e3d6000fd5b50600d5473ffffffffffffffffffffffffffffffffffffffff166108fc6115bd836002611919565b6040518115909202916000818181858888f1935050505015801561089d573d6000803e3d6000fd5b6000600854821115611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016104cc565b600061168361195b565b905061168f8382611919565b9392505050565b600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611732577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156117ac57600080fd5b505afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190611e52565b8160018151811061181e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600e546118519130911684610e64565b600e546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906118b09085906000908690309042906004016120cc565b600060405180830381600087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b5050600f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b6114ed83838361197e565b600061168f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab6565b6000806000611968611afe565b90925090506119778282611919565b9250505090565b60008060008060008061199087611b46565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260026020526040902054959b509399509197509550935091506119cf9087611ba3565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526002602052604080822093909355908a1681522054611a0b9086611be5565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260026020526040902055611a3a81611c5e565b611a448483611ca8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611aa391815260200190565b60405180910390a3505050505050505050565b60008183611af1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cc919061205b565b50600061153d848661216e565b60085460009081906b033b2e3c9fd0803ce8000000611b1d8282611919565b821015611b3d575050600854926b033b2e3c9fd0803ce800000092509050565b90939092509050565b6000806000806000806000806000611b638a600a54600b54611ccc565b9250925092506000611b7361195b565b90506000806000611b868e878787611d21565b919e509c509a509598509396509194505050505091939550919395565b600061168f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f2565b600080611bf28385612156565b90508381101561168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cc565b6000611c6861195b565b90506000611c768383611d71565b30600090815260026020526040902054909150611c939082611be5565b30600090815260026020526040902055505050565b600854611cb59083611ba3565b600855600954611cc59082611be5565b6009555050565b6000808080611ce66064611ce08989611d71565b90611919565b90506000611cf96064611ce08a89611d71565b90506000611d1182611d0b8b86611ba3565b90611ba3565b9992985090965090945050505050565b6000808080611d308886611d71565b90506000611d3e8887611d71565b90506000611d4c8888611d71565b90506000611d5e82611d0b8686611ba3565b939b939a50919850919650505050505050565b600082611d80575060006103d3565b6000611d8c83856121a7565b905082611d99858361216e565b1461168f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016104cc565b8035611e3181612292565b919050565b600060208284031215611e47578081fd5b813561168f81612292565b600060208284031215611e63578081fd5b815161168f81612292565b60008060408385031215611e80578081fd5b8235611e8b81612292565b91506020830135611e9b81612292565b809150509250929050565b600080600060608486031215611eba578081fd5b8335611ec581612292565b92506020840135611ed581612292565b929592945050506040919091013590565b60008060408385031215611ef8578182fd5b8235611f0381612292565b946020939093013593505050565b60006020808385031215611f23578182fd5b823567ffffffffffffffff80821115611f3a578384fd5b818501915085601f830112611f4d578384fd5b813581811115611f5f57611f5f612263565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611fa257611fa2612263565b604052828152858101935084860182860187018a1015611fc0578788fd5b8795505b83861015611fe957611fd581611e26565b855260019590950194938601938601611fc4565b5098975050505050505050565b600060208284031215612007578081fd5b813561168f816122b4565b600060208284031215612023578081fd5b815161168f816122b4565b600080600060608486031215612042578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b818110156120875785810183015185820160400152820161206b565b818111156120985783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561212857845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016120f6565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b6000821982111561216957612169612234565b500190565b6000826121a2577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121df576121df612234565b500290565b6000828210156121f6576121f6612234565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561222d5761222d612234565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461063357600080fd5b801515811461063357600080fdfe537570657220466c6f6b6920507570207c20742e6d652f5375706572466c6f6b6950757045524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200bc9be9abe8cf5d74bd3e28d74ad8443a74ed6ec4d3e4de52b406bedab0bb95c64736f6c63430008040033
Deployed Bytecode Sourcemap
3617:10487:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5550:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6402:161;;;;;;;;;;-1:-1:-1;6402:161:0;;;;;:::i;:::-;;:::i;:::-;;;5628:14:1;;5621:22;5603:41;;5591:2;5576:18;6402:161:0;5558:92:1;5827:95:0;;;;;;;;;;-1:-1:-1;4123:27:0;5827:95;;;10378:25:1;;;10366:2;10351:18;5827:95:0;10333:76:1;6571:313:0;;;;;;;;;;-1:-1:-1;6571:313:0;;;;;:::i;:::-;;:::i;10831:88::-;;;;;;;;;;-1:-1:-1;10831:88:0;;;;;:::i;:::-;;:::i;:::-;;5736:83;;;;;;;;;;-1:-1:-1;5736:83:0;;4578:1;11590:36:1;;11578:2;11563:18;5736:83:0;11545:87:1;6892:103:0;;;;;;;;;;-1:-1:-1;6892:103:0;;;;;:::i;:::-;;:::i;12208:194::-;;;;;;;;;;;;;:::i;5930:138::-;;;;;;;;;;-1:-1:-1;5930:138:0;;;;;:::i;:::-;;:::i;2696:148::-;;;;;;;;;;;;;:::i;2482:79::-;;;;;;;;;;-1:-1:-1;2520:7:0;2547:6;2482:79;;2547:6;;;;4109:74:1;;4097:2;4082:18;2482:79:0;4064:125:1;5641:87:0;;;;;;;;;;-1:-1:-1;5713:7:0;;;;;;;;;;;;;;;;;5641:87;;6076:167;;;;;;;;;;-1:-1:-1;6076:167:0;;;;;:::i;:::-;;:::i;10655:164::-;;;;;;;;;;-1:-1:-1;10655:164:0;;;;;:::i;:::-;;:::i;12001:195::-;;;;;;;;;;;;;:::i;9820:823::-;;;;;;;;;;;;;:::i;6251:143::-;;;;;;;;;;-1:-1:-1;6251:143:0;;;;;:::i;:::-;6359:18;;;;6332:7;6359:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6251:143;5550:83;5587:13;5620:5;;;;;;;;;;;;;;;;;5613:12;;5550:83;:::o;6402:161::-;6477:4;6494:39;280:10;6517:7;6526:6;6494:8;:39::i;:::-;-1:-1:-1;6551:4:0;6402:161;;;;;:::o;6571:313::-;6669:4;6686:36;6696:6;6704:9;6715:6;6686:9;:36::i;:::-;6733:121;6742:6;280:10;6764:89;6802:6;6764:89;;;;;;;;;;;;;;;;;:19;;;;;;;:11;:19;;;;;;;;280:10;6764:33;;;;;;;;;;:37;:89::i;:::-;6733:8;:121::i;:::-;-1:-1:-1;6872:4:0;6571:313;;;;;:::o;10831:88::-;2609:6;;:22;:6;280:10;2609:22;2601:67;;;;;;;8500:2:1;2601:67:0;;;8482:21:1;;;8519:18;;;8512:30;8578:34;8558:18;;;8551:62;8630:18;;2601:67:0;;;;;;;;;10891:12:::1;;10906:5;10891:12:::0;;;:4:::1;:12;::::0;;;;:20;;;::::1;::::0;;10831:88::o;6892:103::-;2609:6;;:22;:6;280:10;2609:22;2601:67;;;;;;;8500:2:1;2601:67:0;;;8482:21:1;;;8519:18;;;8512:30;8578:34;8558:18;;;8551:62;8630:18;;2601:67:0;8472:182:1;2601:67:0;6964:15:::1;:23:::0;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6892:103::o;12208:194::-;12274:15;;;;280:10;12258:31;;;12250:40;;;;;;12330:21;12362:32;12330:21;12362:12;:32::i;:::-;12208:194;:::o;5930:138::-;6043:16;;;5996:7;6043:16;;;:7;:16;;;;;;6023:37;;:19;:37::i;2696:148::-;2609:6;;:22;:6;280:10;2609:22;2601:67;;;;;;;8500:2:1;2601:67:0;;;8482:21:1;;;8519:18;;;8512:30;8578:34;8558:18;;;8551:62;8630:18;;2601:67:0;8472:182:1;2601:67:0;2803:1:::1;2787:6:::0;;2766:40:::1;::::0;::::1;2787:6:::0;;::::1;::::0;2766:40:::1;::::0;2803:1;;2766:40:::1;2834:1;2817:19:::0;;;::::1;::::0;;2696:148::o;6076:167::-;6154:4;6171:42;280:10;6195:9;6206:6;6171:9;:42::i;10655:164::-;2609:6;;:22;:6;280:10;2609:22;2601:67;;;;;;;8500:2:1;2601:67:0;;;8482:21:1;;;8519:18;;;8512:30;8578:34;8558:18;;;8551:62;8630:18;;2601:67:0;8472:182:1;2601:67:0;10729:6:::1;10724:88;10745:5;:12;10741:1;:16;10724:88;;;10796:4;10779;:14;10784:5;10790:1;10784:8;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;;;;;10779:14:::1;;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10779:14:0;:21;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;10759:3;::::1;::::0;::::1;:::i;:::-;;;;10724:88;;;;10655:164:::0;:::o;12001:195::-;12067:15;;;;280:10;12051:31;;;12043:40;;;;;;12094:23;12120:24;12138:4;12120:9;:24::i;:::-;12094:50;;12155:33;12172:15;12155:16;:33::i;9820:823::-;2609:6;;:22;:6;280:10;2609:22;2601:67;;;;;;;8500:2:1;2601:67:0;;;8482:21:1;;;8519:18;;;8512:30;8578:34;8558:18;;;8551:62;8630:18;;2601:67:0;8472:182:1;2601:67:0;9884:11:::1;::::0;;;::::1;;;9883:12;9875:47;;;::::0;::::1;::::0;;10082:2:1;9875:47:0::1;::::0;::::1;10064:21:1::0;10121:2;10101:18;;;10094:30;10160:25;10140:18;;;10133:53;10203:18;;9875:47:0::1;10054:173:1::0;9875:47:0::1;10044:15;:34:::0;;;::::1;9990:42;10044:34:::0;;::::1;::::0;;;10089:58:::1;10106:4;9990:42:::0;4123:27:::1;10089:8;:58::i;:::-;10192:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10174:56;;;10239:4;10246:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10174:96;::::0;;::::1;::::0;;;;;;4378:42:1;4447:15;;;10174:96:0::1;::::0;::::1;4429:34:1::0;4499:15;;4479:18;;;4472:43;4341:18;;10174:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10158:13;:112:::0;;;::::1;;::::0;;::::1;;::::0;;10281:15:::1;::::0;::::1;:31;10320:21;10351:4;10357:24;10351:4:::0;10357:9:::1;:24::i;:::-;10382:1;10384::::0;10386:7:::1;2520::::0;2547:6;;;;2482:79;10386:7:::1;10281:129;::::0;::::1;::::0;;;;;;;5141:42:1;5210:15;;;10281:129:0::1;::::0;::::1;5192:34:1::0;5242:18;;;5235:34;;;;5285:18;;;5278:34;;;;5328:18;;;5321:34;5392:15;;;5371:19;;;5364:44;10394:15:0::1;5424:19:1::0;;;5417:35;5103:19;;10281:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10421:11:0::1;:18:::0;;10498:26:::1;10483:12;:41:::0;10535:18;;;;;;;;10602:15:::1;::::0;10564:71:::1;::::0;;;;10571:13:::1;10602:15:::0;;::::1;10564:71;::::0;::::1;4700:74:1::0;-1:-1:-1;4790:18:1;;;4783:34;10571:13:0;;;-1:-1:-1;10564:29:0::1;::::0;4673:18:1;;10564:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7265:335::-:0;7358:19;;;7350:68;;;;;;;9677:2:1;7350:68:0;;;9659:21:1;9716:2;9696:18;;;9689:30;9755:34;9735:18;;;9728:62;9826:6;9806:18;;;9799:34;9850:19;;7350:68:0;9649:226:1;7350:68:0;7437:21;;;7429:68;;;;;;;7339:2:1;7429:68:0;;;7321:21:1;7378:2;7358:18;;;7351:30;7417:34;7397:18;;;7390:62;7488:4;7468:18;;;7461:32;7510:19;;7429:68:0;7311:224:1;7429:68:0;7508:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7560:32;;10378:25:1;;;7560:32:0;;10351:18:1;7560:32:0;;;;;;;7265:335;;;:::o;7608:1463::-;7696:18;;;7688:68;;;;;;;9271:2:1;7688:68:0;;;9253:21:1;9310:2;9290:18;;;9283:30;9349:34;9329:18;;;9322:62;9420:7;9400:18;;;9393:35;9445:19;;7688:68:0;9243:227:1;7688:68:0;7775:16;;;7767:64;;;;;;;6524:2:1;7767:64:0;;;6506:21:1;6563:2;6543:18;;;6536:30;6602:34;6582:18;;;6575:62;6673:5;6653:18;;;6646:33;6696:19;;7767:64:0;6496:225:1;7767:64:0;7859:1;7850:6;:10;7842:64;;;;;;;8861:2:1;7842:64:0;;;8843:21:1;8900:2;8880:18;;;8873:30;8939:34;8919:18;;;8912:62;9010:11;8990:18;;;8983:39;9039:19;;7842:64:0;8833:231:1;7842:64:0;7929:1;7917:9;:13;;;7941:9;:14;2547:6;;7970:15;;;2547:6;;7970:15;;;;:32;;-1:-1:-1;2520:7:0;2547:6;;7989:13;;;2547:6;;7989:13;;7970:32;7966:1053;;;8028:10;;;;;;;:4;:10;;;;;;;;8027:11;:24;;;;-1:-1:-1;8043:8:0;;;;;;;:4;:8;;;;;;;;8042:9;8027:24;8019:33;;;;;;8079:13;;;8071:21;;;8079:13;;8071:21;:55;;;;-1:-1:-1;8110:15:0;;;8096:30;;;8110:15;;8096:30;;8071:55;:83;;;;-1:-1:-1;8132:22:0;;;;;;;:18;:22;;;;;;;;8130:24;8071:83;:102;;;;-1:-1:-1;8158:15:0;;;;;;;8071:102;8067:325;;;8241:12;;8231:6;:22;;8223:31;;;;;;8281:12;;;;;;;:8;:12;;;;;;8296:15;-1:-1:-1;8273:39:0;;;;;;8346:30;:15;8365:10;8346:30;:::i;:::-;8331:12;;;;;;;:8;:12;;;;;:45;8067:325;8444:13;;;8438:19;;;8444:13;;8438:19;:55;;;;-1:-1:-1;8477:15:0;;;8461:32;;;8477:15;;8461:32;;8438:55;:85;;;;-1:-1:-1;8499:24:0;;;;;;;:18;:24;;;;;;;;8497:26;8438:85;8434:172;;;8556:1;8544:9;:13;;;8576:9;:14;8434:172;8620:28;8651:24;8669:4;8651:9;:24::i;:::-;8695:6;;8620:55;;-1:-1:-1;8695:6:0;;;;;8694:7;:32;;;;-1:-1:-1;8713:13:0;;;8705:21;;;8713:13;;8705:21;;8694:32;:47;;;;-1:-1:-1;8730:11:0;;;;;;;8694:47;8690:318;;;8762:38;8779:20;8762:16;:38::i;:::-;8848:21;8891:22;;8888:105;;8938:35;8951:21;8938:12;:35::i;:::-;8690:318;;7966:1053;;9033:30;9048:4;9053:2;9056:6;9033:14;:30::i;:::-;7608:1463;;;:::o;1337:190::-;1423:7;1459:12;1451:6;;;;1443:29;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1483:9:0;1495:5;1499:1;1495;:5;:::i;:::-;1483:17;1337:190;-1:-1:-1;;;;;1337:190:0:o;9654:154::-;9711:15;;;;:39;9736:13;:6;9747:1;9736:10;:13::i;:::-;9711:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9761:15:0;;;;:39;9786:13;:6;9797:1;9786:10;:13::i;:::-;9761:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7003:254;7070:7;7109;;7098;:18;;7090:73;;;;;;;6928:2:1;7090:73:0;;;6910:21:1;6967:2;6947:18;;;6940:30;7006:34;6986:18;;;6979:62;7077:12;7057:18;;;7050:40;7107:19;;7090:73:0;6900:232:1;7090:73:0;7174:19;7197:10;:8;:10::i;:::-;7174:33;-1:-1:-1;7225:24:0;:7;7174:33;7225:11;:24::i;:::-;7218:31;7003:254;-1:-1:-1;;;7003:254:0:o;9079:483::-;4951:6;:13;;;;;;;;9181:16:::1;::::0;;9195:1:::1;9181:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9181:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9181:16:0::1;9157:40;;9226:4;9208;9213:1;9208:7;;;;;;;;;;;;;;;;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9252:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9208:7;;9252:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9242:4;9247:1;9242:7;;;;;;;;;;;;;;;;:32;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9317:15:::1;::::0;9285:62:::1;::::0;9302:4:::1;::::0;9317:15:::1;9335:11:::0;9285:8:::1;:62::i;:::-;9358:15;::::0;:196:::1;::::0;;;;:15:::1;::::0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9439:11;;9358:15:::1;::::0;9481:4;;9508::::1;::::0;9528:15:::1;::::0;9358:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4987:6:0;:14;;;;;;-1:-1:-1;;;;9079:483:0:o;10935:146::-;11029:44;11047:6;11055:9;11066:6;11029:17;:44::i;1789:132::-;1847:7;1874:39;1878:1;1881;1874:39;;;;;;;;;;;;;;;;;:3;:39::i;13668:163::-;13709:7;13730:15;13747;13766:19;:17;:19::i;:::-;13729:56;;-1:-1:-1;13729:56:0;-1:-1:-1;13803:20:0;13729:56;;13803:11;:20::i;:::-;13796:27;;;;13668:163;:::o;11089:488::-;11188:15;11205:23;11230:12;11244:23;11269:12;11283:13;11300:19;11311:7;11300:10;:19::i;:::-;11348:15;;;;;;;:7;:15;;;;;;11187:132;;-1:-1:-1;11187:132:0;;-1:-1:-1;11187:132:0;;-1:-1:-1;11187:132:0;-1:-1:-1;11187:132:0;-1:-1:-1;11187:132:0;-1:-1:-1;11348:28:0;;11187:132;11348:19;:28::i;:::-;11330:15;;;;;;;;:7;:15;;;;;;:46;;;;11408:18;;;;;;;:39;;11431:15;11408:22;:39::i;:::-;11387:18;;;;;;;:7;:18;;;;;:60;11459:16;11469:5;11459:9;:16::i;:::-;11486:23;11498:4;11504;11486:11;:23::i;:::-;11542:9;11525:44;;11534:6;11525:44;;;11553:15;11525:44;;;;10378:25:1;;10366:2;10351:18;;10333:76;11525:44:0;;;;;;;;11089:488;;;;;;;;;:::o;1929:189::-;2015:7;2050:12;2043:5;2035:28;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2074:9:0;2086:5;2090:1;2086;:5;:::i;13839:262::-;13936:7;;13889;;;;4123:27;14010:20;13936:7;4123:27;14010:11;:20::i;:::-;14000:7;:30;13996:61;;;-1:-1:-1;;14040:7:0;;;4123:27;;-1:-1:-1;13839:262:0;-1:-1:-1;13839:262:0:o;13996:61::-;14076:7;;14085;;-1:-1:-1;13839:262:0;-1:-1:-1;13839:262:0:o;12416:471::-;12475:7;12484;12493;12502;12511;12520;12541:23;12566:12;12580:13;12597:42;12609:7;12618:9;;12629;;12597:11;:42::i;:::-;12540:99;;;;;;12650:19;12673:10;:8;:10::i;:::-;12650:33;;12695:15;12712:23;12737:12;12753:46;12765:7;12774:4;12780:5;12787:11;12753;:46::i;:::-;12694:105;;-1:-1:-1;12694:105:0;-1:-1:-1;12694:105:0;-1:-1:-1;12850:15:0;;-1:-1:-1;12867:4:0;;-1:-1:-1;12873:5:0;;-1:-1:-1;;;;;12416:471:0;;;;;;;:::o;1193:136::-;1251:7;1278:43;1282:1;1285;1278:43;;;;;;;;;;;;;;;;;:3;:43::i;1006:179::-;1064:7;;1096:5;1100:1;1096;:5;:::i;:::-;1084:17;;1125:1;1120;:6;;1112:46;;;;;;;7742:2:1;1112:46:0;;;7724:21:1;7781:2;7761:18;;;7754:30;7820:29;7800:18;;;7793:57;7867:18;;1112:46:0;7714:177:1;11585:212:0;11638:19;11661:10;:8;:10::i;:::-;11638:33;-1:-1:-1;11682:13:0;11698:22;:5;11638:33;11698:9;:22::i;:::-;11772:4;11756:22;;;;:7;:22;;;;;;11682:38;;-1:-1:-1;11756:33:0;;11682:38;11756:26;:33::i;:::-;11747:4;11731:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11585:212:0:o;11805:147::-;11883:7;;:17;;11895:4;11883:11;:17::i;:::-;11873:7;:27;11924:10;;:20;;11939:4;11924:14;:20::i;:::-;11911:10;:33;-1:-1:-1;;11805:147:0:o;12895:351::-;12988:7;;;;13041:28;13065:3;13041:19;:7;13053:6;13041:11;:19::i;:::-;:23;;:28::i;:::-;13026:43;-1:-1:-1;13080:13:0;13096:29;13121:3;13096:20;:7;13108;13096:11;:20::i;:29::-;13080:45;-1:-1:-1;13136:23:0;13162:28;13080:45;13162:17;:7;13174:4;13162:11;:17::i;:::-;:21;;:28::i;:::-;13136:54;13226:4;;-1:-1:-1;13232:5:0;;-1:-1:-1;12895:351:0;;-1:-1:-1;;;;;12895:351:0:o;13254:409::-;13364:7;;;;13420:24;:7;13432:11;13420;:24::i;:::-;13402:42;-1:-1:-1;13455:12:0;13470:21;:4;13479:11;13470:8;:21::i;:::-;13455:36;-1:-1:-1;13502:13:0;13518:22;:5;13528:11;13518:9;:22::i;:::-;13502:38;-1:-1:-1;13551:23:0;13577:28;13502:38;13577:17;:7;13589:4;13577:11;:17::i;:28::-;13624:7;;;;-1:-1:-1;13650:4:0;;-1:-1:-1;13254:409:0;;-1:-1:-1;;;;;;;13254:409:0:o;1535:246::-;1593:7;1617:6;1613:47;;-1:-1:-1;1647:1:0;1640:8;;1613:47;1670:9;1682:5;1686:1;1682;:5;:::i;:::-;1670:17;-1:-1:-1;1715:1:0;1706:5;1710:1;1670:17;1706:5;:::i;:::-;:10;1698:56;;;;;;;8098:2:1;1698:56:0;;;8080:21:1;8137:2;8117:18;;;8110:30;8176:34;8156:18;;;8149:62;8247:3;8227:18;;;8220:31;8268:19;;1698:56:0;8070:223:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;681:398::-;749:6;757;810:2;798:9;789:7;785:23;781:32;778:2;;;831:6;823;816:22;778:2;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;768:311;;;;;:::o;1084:466::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:2;;;1251:6;1243;1236:22;1198:2;1295:9;1282:23;1314:31;1339:5;1314:31;:::i;:::-;1364:5;-1:-1:-1;1421:2:1;1406:18;;1393:32;1434:33;1393:32;1434:33;:::i;:::-;1188:362;;1486:7;;-1:-1:-1;;;1540:2:1;1525:18;;;;1512:32;;1188:362::o;1555:325::-;1623:6;1631;1684:2;1672:9;1663:7;1659:23;1655:32;1652:2;;;1705:6;1697;1690:22;1652:2;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;:::-;1818:5;1870:2;1855:18;;;;1842:32;;-1:-1:-1;;;1642:238:1:o;1885:1236::-;1969:6;2000:2;2043;2031:9;2022:7;2018:23;2014:32;2011:2;;;2064:6;2056;2049:22;2011:2;2109:9;2096:23;2138:18;2179:2;2171:6;2168:14;2165:2;;;2200:6;2192;2185:22;2165:2;2243:6;2232:9;2228:22;2218:32;;2288:7;2281:4;2277:2;2273:13;2269:27;2259:2;;2315:6;2307;2300:22;2259:2;2356;2343:16;2378:2;2374;2371:10;2368:2;;;2384:18;;:::i;:::-;2430:2;2427:1;2423:10;2462:2;2456:9;2521:66;2516:2;2512;2508:11;2504:84;2496:6;2492:97;2639:6;2627:10;2624:22;2619:2;2607:10;2604:18;2601:46;2598:2;;;2650:18;;:::i;:::-;2686:2;2679:22;2736:18;;;2770:15;;;;-1:-1:-1;2805:11:1;;;2835;;;2831:20;;2828:33;-1:-1:-1;2825:2:1;;;2879:6;2871;2864:22;2825:2;2906:6;2897:15;;2921:169;2935:2;2932:1;2929:9;2921:169;;;2992:23;3011:3;2992:23;:::i;:::-;2980:36;;2953:1;2946:9;;;;;3036:12;;;;3068;;2921:169;;;-1:-1:-1;3109:6:1;1980:1141;-1:-1:-1;;;;;;;;1980:1141:1:o;3126:251::-;3182:6;3235:2;3223:9;3214:7;3210:23;3206:32;3203:2;;;3256:6;3248;3241:22;3203:2;3300:9;3287:23;3319:28;3341:5;3319:28;:::i;3382:255::-;3449:6;3502:2;3490:9;3481:7;3477:23;3473:32;3470:2;;;3523:6;3515;3508:22;3470:2;3560:9;3554:16;3579:28;3601:5;3579:28;:::i;3642:316::-;3730:6;3738;3746;3799:2;3787:9;3778:7;3774:23;3770:32;3767:2;;;3820:6;3812;3805:22;3767:2;3854:9;3848:16;3838:26;;3904:2;3893:9;3889:18;3883:25;3873:35;;3948:2;3937:9;3933:18;3927:25;3917:35;;3757:201;;;;;:::o;5655:662::-;5767:4;5796:2;5825;5814:9;5807:21;5857:6;5851:13;5900:6;5895:2;5884:9;5880:18;5873:34;5925:4;5938:140;5952:6;5949:1;5946:13;5938:140;;;6047:14;;;6043:23;;6037:30;6013:17;;;6032:2;6009:26;6002:66;5967:10;;5938:140;;;6096:6;6093:1;6090:13;6087:2;;;6166:4;6161:2;6152:6;6141:9;6137:22;6133:31;6126:45;6087:2;-1:-1:-1;6233:2:1;6221:15;6238:66;6217:88;6202:104;;;;6308:2;6198:113;;5776:541;-1:-1:-1;;;5776:541:1:o;10414:1029::-;10676:4;10724:3;10713:9;10709:19;10755:6;10744:9;10737:25;10781:2;10819:6;10814:2;10803:9;10799:18;10792:34;10862:3;10857:2;10846:9;10842:18;10835:31;10886:6;10921;10915:13;10952:6;10944;10937:22;10990:3;10979:9;10975:19;10968:26;;11029:2;11021:6;11017:15;11003:29;;11050:4;11063:218;11077:6;11074:1;11071:13;11063:218;;;11142:13;;11157:42;11138:62;11126:75;;11256:15;;;;11221:12;;;;11099:1;11092:9;11063:218;;;-1:-1:-1;;11349:42:1;11337:55;;;;11332:2;11317:18;;11310:83;-1:-1:-1;;;11424:3:1;11409:19;11402:35;11298:3;10685:758;-1:-1:-1;;;10685:758:1:o;11637:128::-;11677:3;11708:1;11704:6;11701:1;11698:13;11695:2;;;11714:18;;:::i;:::-;-1:-1:-1;11750:9:1;;11685:80::o;11770:274::-;11810:1;11836;11826:2;;11871:77;11868:1;11861:88;11972:4;11969:1;11962:15;12000:4;11997:1;11990:15;11826:2;-1:-1:-1;12029:9:1;;11816:228::o;12049:::-;12089:7;12215:1;12147:66;12143:74;12140:1;12137:81;12132:1;12125:9;12118:17;12114:105;12111:2;;;12222:18;;:::i;:::-;-1:-1:-1;12262:9:1;;12101:176::o;12282:125::-;12322:4;12350:1;12347;12344:8;12341:2;;;12355:18;;:::i;:::-;-1:-1:-1;12392:9:1;;12331:76::o;12412:195::-;12451:3;12482:66;12475:5;12472:77;12469:2;;;12552:18;;:::i;:::-;-1:-1:-1;12599:1:1;12588:13;;12459:148::o;12612:184::-;12664:77;12661:1;12654:88;12761:4;12758:1;12751:15;12785:4;12782:1;12775:15;12801:184;12853:77;12850:1;12843:88;12950:4;12947:1;12940:15;12974:4;12971:1;12964:15;12990:154;13076:42;13069:5;13065:54;13058:5;13055:65;13045:2;;13134:1;13131;13124:12;13149:118;13235:5;13228:13;13221:21;13214:5;13211:32;13201:2;;13257:1;13254;13247:12
Swarm Source
ipfs://0bc9be9abe8cf5d74bd3e28d74ad8443a74ed6ec4d3e4de52b406bedab0bb95c
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.