Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 FWOG
Holders
59
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
223,911.773222815288030503 FWOGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FWOG
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-04 */ /** Website: https://fwogeth.one X: https://x.com/thefwogeth Telegram: https://t.me/thefwogeth */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract FWOG is IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 1_000_000_000 * 10 ** _decimals; string private constant _name = unicode"Fwog"; string private constant _symbol = unicode"FWOG"; IUniswapV2Router02 public immutable router; address public uniswapV2Pair; bool private swapping; address public mkPort; uint256 public mxTxSize; uint256 public swapTxSize; uint256 public mxWalletSize; uint256 public mxSwapSize; bool public limitsEnabled = true; bool public tradingAllowed = false; bool public swapEnabled = false; mapping(address => bool) private _bls; uint256 public bFees = 0; uint256 public sFees = 0; mapping(address => bool) private excludedFees; mapping(address => bool) public excludedTx; mapping(address => bool) public ammPairs; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); mkPort = address(0x130522D07a21Ca506A0ac76bCa5f9F20F6bB9101); mxTxSize = (_totalSupply * 20) / 1000; mxWalletSize = (_totalSupply * 20) / 1000; mxSwapSize = (_totalSupply * 10) / 1000; swapTxSize = (_totalSupply * 5) / 1000000; _excludeFromFees(owner(), true); _excludeFromFees(address(this), true); _excludeFromFees(mkPort, true); _excludeFromMaxTransaction(owner(), true); _excludeFromMaxTransaction(address(this), true); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } receive() external payable {} 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 goPair() external onlyOwner { uniswapV2Pair = IUniswapV2Factory(router.factory()).createPair( address(this), router.WETH() ); _excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); _approve(address(this), address(router), _totalSupply); router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); tradingAllowed = true; swapEnabled = true; } function _excludeFromFees(address account, bool excluded) internal { excludedFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function _setAutomatedMarketMakerPair(address pair, bool value) internal { ammPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _excludeFromMaxTransaction(address updAds, bool isEx) internal { excludedTx[updAds] = isEx; } function closeLimits() external onlyOwner returns (bool) { limitsEnabled = false; return true; } function makeFeeUpdate( uint256 _newBuyFee, uint256 _newSellFee ) external onlyOwner { bFees = _newBuyFee; sFees = _newSellFee; require(bFees <= 99 && sFees <= 99, "Must keep fees at 99% or less"); } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: transfer amount should be greater than 0"); require( !_bls[to] && !_bls[from], "You have been blacklisted from transfering tokens" ); if (limitsEnabled) { if (from != owner() && to != owner()) { if (!tradingAllowed) { require( excludedFees[from] || excludedFees[to], "Trading is not active." ); } if (ammPairs[from] && !excludedTx[to]) { require( amount <= mxTxSize, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= mxWalletSize, "Max wallet exceeded" ); } else if (ammPairs[to] && !excludedTx[from]) { require( amount <= mxTxSize, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!excludedTx[to]) { require( amount + balanceOf(to) <= mxWalletSize, "Max wallet exceeded" ); } } } if ( swapEnabled && !swapping && ammPairs[to] && !excludedFees[from] && !excludedFees[to] ) { swapping = true; swapBack(); swapping = false; } transferInternal(from, to, amount); } function transferInternal( address from, address to, uint256 amount ) internal { (uint256 leftAmount, uint256 taxAmount) = handleTax(from, to, amount); _balances[from] = _balances[from].sub(leftAmount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function handleTax( address from, address to, uint256 amount ) internal returns (uint256 leftAmount, uint256 taxAmount) { bool excemptFee = excludedFees[from] || excludedFees[to]; if ( from == owner() || to == owner() || from == address(this) || to == address(this) ) { leftAmount = amount; } else if (!excemptFee) { if (ammPairs[to] && sFees > 0) { taxAmount = amount.mul(sFees).div(1000); } // on buy else if (ammPairs[from] && bFees > 0) { taxAmount = amount.mul(bFees).div(1000); } if (taxAmount > 0) { _balances[from] = _balances[from].sub(taxAmount); _balances[address(this)] = _balances[address(this)].add( taxAmount ); emit Transfer(from, address(this), taxAmount); } leftAmount = amount - taxAmount; } } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance > mxSwapSize) contractBalance = mxSwapSize; if (contractBalance > swapTxSize) swapTokensForEth(contractBalance); payable(mkPort).transfer(address(this).balance); } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"bFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"closeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"makeFeeUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mkPort","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mxSwapSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526009805462ffffff191660011790556000600b819055600c553480156200002a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d608052600480546001600160a01b03191673130522d07a21ca506a0ac76bca5f9f20f6bb91011790556103e8620000bb6012600a62000435565b620000cb90633b9aca006200044d565b620000d89060146200044d565b620000e4919062000467565b6005556103e8620000f86012600a62000435565b6200010890633b9aca006200044d565b620001159060146200044d565b62000121919062000467565b6007556103e8620001356012600a62000435565b6200014590633b9aca006200044d565b6200015290600a6200044d565b6200015e919062000467565b600855620f4240620001736012600a62000435565b6200018390633b9aca006200044d565b620001909060056200044d565b6200019c919062000467565b600655620001be620001b66000546001600160a01b031690565b6001620002c1565b620001cb306001620002c1565b600454620001e4906001600160a01b03166001620002c1565b6200021f620001fb6000546001600160a01b031690565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b306000908152600e60205260409020805460ff19166001179055620002476012600a62000435565b6200025790633b9aca006200044d565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200029a6012600a62000435565b620002aa90633b9aca006200044d565b60405190815260200160405180910390a36200048a565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003775781600019048211156200035b576200035b62000320565b808516156200036957918102915b93841c93908002906200033b565b509250929050565b60008262000390575060016200042f565b816200039f575060006200042f565b8160018114620003b85760028114620003c357620003e3565b60019150506200042f565b60ff841115620003d757620003d762000320565b50506001821b6200042f565b5060208310610133831016604e8410600b841016171562000408575081810a6200042f565b62000414838362000336565b80600019048211156200042b576200042b62000320565b0290505b92915050565b60006200044660ff8416836200037f565b9392505050565b80820281158282048414176200042f576200042f62000320565b6000826200048557634e487b7160e01b600052601260045260246000fd5b500490565b608051611d4c620004d760003960008181610584015281816105f201528181610683015281816107c90152818161080901528181611412015281816114cb01526115070152611d4c6000f3fe6080604052600436106101bb5760003560e01c80636ddd1713116100ec578063a72905a21161008a578063dbecc8e911610064578063dbecc8e9146104e6578063dd62ed3e146104fc578063e120ef2f14610542578063f887ea401461057257600080fd5b8063a72905a214610476578063a9059cbb146104a6578063b7f4c31c146104c657600080fd5b806376187b42116100c657806376187b42146103ff5780638c61beb9146104155780638da5cb5b1461042b57806395d89b411461044957600080fd5b80636ddd17131461039457806370a08231146103b4578063715018a6146103ea57600080fd5b80633582ad231161015957806349bd5a5e1161013357806349bd5a5e1461032a578063505f371f1461034a57806353371be0146103605780635fa959471461037f57600080fd5b80633582ad23146102c257806336ed22b5146102dc57806345521c57146102f257600080fd5b806317a7718c1161019557806317a7718c1461024d57806318160ddd1461027157806323b872dd14610286578063313ce567146102a657600080fd5b806306fdde03146101c7578063095ea7b3146102065780631540151d1461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600481526346776f6760e01b60208201525b6040516101fd9190611934565b60405180910390f35b34801561021257600080fd5b5061022661022136600461199a565b6105a6565b60405190151581526020016101fd565b34801561024257600080fd5b5061024b6105bd565b005b34801561025957600080fd5b5061026360065481565b6040519081526020016101fd565b34801561027d57600080fd5b5061026361090f565b34801561029257600080fd5b506102266102a13660046119c6565b610930565b3480156102b257600080fd5b50604051601281526020016101fd565b3480156102ce57600080fd5b506009546102269060ff1681565b3480156102e857600080fd5b5061026360055481565b3480156102fe57600080fd5b50600454610312906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561033657600080fd5b50600354610312906001600160a01b031681565b34801561035657600080fd5b50610263600b5481565b34801561036c57600080fd5b5060095461022690610100900460ff1681565b34801561038b57600080fd5b50610226610994565b3480156103a057600080fd5b506009546102269062010000900460ff1681565b3480156103c057600080fd5b506102636103cf366004611a07565b6001600160a01b031660009081526001602052604090205490565b3480156103f657600080fd5b5061024b6109cf565b34801561040b57600080fd5b50610263600c5481565b34801561042157600080fd5b5061026360085481565b34801561043757600080fd5b506000546001600160a01b0316610312565b34801561045557600080fd5b5060408051808201909152600481526346574f4760e01b60208201526101f0565b34801561048257600080fd5b50610226610491366004611a07565b600f6020526000908152604090205460ff1681565b3480156104b257600080fd5b506102266104c136600461199a565b610a43565b3480156104d257600080fd5b5061024b6104e1366004611a24565b610a50565b3480156104f257600080fd5b5061026360075481565b34801561050857600080fd5b50610263610517366004611a46565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054e57600080fd5b5061022661055d366004611a07565b600e6020526000908152604090205460ff1681565b34801561057e57600080fd5b506103127f000000000000000000000000000000000000000000000000000000000000000081565b60006105b3338484610ae8565b5060015b92915050565b6000546001600160a01b031633146105f05760405162461bcd60e51b81526004016105e790611a7f565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611ab4565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107039190611ab4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611ab4565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff191660011790556003546107c3906001600160a01b03166001610c0c565b610807307f00000000000000000000000000000000000000000000000000000000000000006107f46012600a611bcb565b61080290633b9aca00611bda565b610ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7194730610857306001600160a01b031660009081526001602052604090205490565b60008061086c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108f99190611bf1565b50506009805462ffff0019166201010017905550565b600061091d6012600a611bcb565b61092b90633b9aca00611bda565b905090565b600061093d848484610c60565b61098a843361080285604051806060016040528060288152602001611cef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611239565b5060019392505050565b600080546001600160a01b031633146109bf5760405162461bcd60e51b81526004016105e790611a7f565b506009805460ff19169055600190565b6000546001600160a01b031633146109f95760405162461bcd60e51b81526004016105e790611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105b3338484610c60565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016105e790611a7f565b600b829055600c81905560638211801590610a9857506063600c5411155b610ae45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c65737300000060448201526064016105e7565b5050565b6001600160a01b038316610b4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e7565b6001600160a01b038216610bab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316610cc45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e7565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e7565b60008111610d8e5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b60648201526084016105e7565b6001600160a01b0382166000908152600a602052604090205460ff16158015610dd057506001600160a01b0383166000908152600a602052604090205460ff16155b610e365760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b60648201526084016105e7565b60095460ff161561116b576000546001600160a01b03848116911614801590610e6d57506000546001600160a01b03838116911614155b1561116b57600954610100900460ff16610f05576001600160a01b0383166000908152600d602052604090205460ff1680610ec057506001600160a01b0382166000908152600d602052604090205460ff165b610f055760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105e7565b6001600160a01b0383166000908152600f602052604090205460ff168015610f4657506001600160a01b0382166000908152600e602052604090205460ff16155b1561102a57600554811115610fbb5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b60648201526084016105e7565b6007546001600160a01b038316600090815260016020526040902054610fe19083611c1f565b11156110255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b61116b565b6001600160a01b0382166000908152600f602052604090205460ff16801561106b57506001600160a01b0383166000908152600e602052604090205460ff16155b156110e1576005548111156110255760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b60648201526084016105e7565b6001600160a01b0382166000908152600e602052604090205460ff1661116b576007546001600160a01b0383166000908152600160205260409020546111279083611c1f565b111561116b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b60095462010000900460ff16801561118d5750600354600160a01b900460ff16155b80156111b157506001600160a01b0382166000908152600f602052604090205460ff165b80156111d657506001600160a01b0383166000908152600d602052604090205460ff16155b80156111fb57506001600160a01b0382166000908152600d602052604090205460ff16155b15611229576003805460ff60a01b1916600160a01b17905561121b611273565b6003805460ff60a01b191690555b6112348383836112de565b505050565b6000818484111561125d5760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611c32565b95945050505050565b3060009081526001602052604090205460085481111561129257506008545b6006548111156112a5576112a5816113bb565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ae4573d6000803e3d6000fd5b6000806112ec85858561157b565b6001600160a01b0387166000908152600160205260409020549193509150611314908361179f565b6001600160a01b03861660009081526001602052604090205561135961133a848361179f565b6001600160a01b038616600090815260016020526040902054906117e8565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a3868561179f565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113f0576113f0611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114929190611ab4565b816001815181106114a5576114a5611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250506114f0307f000000000000000000000000000000000000000000000000000000000000000084610ae8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611545908590600090869030904290600401611c5b565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115be57506001600160a01b0385166000908152600d602052604090205460ff165b90506115d26000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614806115fe57506000546001600160a01b038681169116145b8061161157506001600160a01b03861630145b8061162457506001600160a01b03851630145b1561163157839250611796565b80611796576001600160a01b0385166000908152600f602052604090205460ff16801561166057506000600c54115b1561168d576116866103e8611680600c548761184790919063ffffffff16565b906118c9565b91506116da565b6001600160a01b0386166000908152600f602052604090205460ff1680156116b757506000600b54115b156116da576116d76103e8611680600b548761184790919063ffffffff16565b91505b8115611789576001600160a01b038616600090815260016020526040902054611703908361179f565b6001600160a01b03871660009081526001602052604080822092909255308152205461172f90836117e8565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117809086815260200190565b60405180910390a35b6117938285611c32565b92505b50935093915050565b60006117e183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611239565b9392505050565b6000806117f58385611c1f565b9050838110156117e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e7565b600082600003611859575060006105b7565b60006118658385611bda565b9050826118728583611ccc565b146117e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e7565b60006117e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119275760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611ccc565b600060208083528351808285015260005b8181101561196157858101830151858201604001528201611945565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461199757600080fd5b50565b600080604083850312156119ad57600080fd5b82356119b881611982565b946020939093013593505050565b6000806000606084860312156119db57600080fd5b83356119e681611982565b925060208401356119f681611982565b929592945050506040919091013590565b600060208284031215611a1957600080fd5b81356117e181611982565b60008060408385031215611a3757600080fd5b50508035926020909101359150565b60008060408385031215611a5957600080fd5b8235611a6481611982565b91506020830135611a7481611982565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ac657600080fd5b81516117e181611982565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b22578160001904821115611b0857611b08611ad1565b80851615611b1557918102915b93841c9390800290611aec565b509250929050565b600082611b39575060016105b7565b81611b46575060006105b7565b8160018114611b5c5760028114611b6657611b82565b60019150506105b7565b60ff841115611b7757611b77611ad1565b50506001821b6105b7565b5060208310610133831016604e8410600b8410161715611ba5575081810a6105b7565b611baf8383611ae7565b8060001904821115611bc357611bc3611ad1565b029392505050565b60006117e160ff841683611b2a565b80820281158282048414176105b7576105b7611ad1565b600080600060608486031215611c0657600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105b7576105b7611ad1565b818103818111156105b7576105b7611ad1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ce957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122094881bba768671def669034c20c206f60aa645f57cff18d1ee11b49443c2c3be64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80636ddd1713116100ec578063a72905a21161008a578063dbecc8e911610064578063dbecc8e9146104e6578063dd62ed3e146104fc578063e120ef2f14610542578063f887ea401461057257600080fd5b8063a72905a214610476578063a9059cbb146104a6578063b7f4c31c146104c657600080fd5b806376187b42116100c657806376187b42146103ff5780638c61beb9146104155780638da5cb5b1461042b57806395d89b411461044957600080fd5b80636ddd17131461039457806370a08231146103b4578063715018a6146103ea57600080fd5b80633582ad231161015957806349bd5a5e1161013357806349bd5a5e1461032a578063505f371f1461034a57806353371be0146103605780635fa959471461037f57600080fd5b80633582ad23146102c257806336ed22b5146102dc57806345521c57146102f257600080fd5b806317a7718c1161019557806317a7718c1461024d57806318160ddd1461027157806323b872dd14610286578063313ce567146102a657600080fd5b806306fdde03146101c7578063095ea7b3146102065780631540151d1461023657600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600481526346776f6760e01b60208201525b6040516101fd9190611934565b60405180910390f35b34801561021257600080fd5b5061022661022136600461199a565b6105a6565b60405190151581526020016101fd565b34801561024257600080fd5b5061024b6105bd565b005b34801561025957600080fd5b5061026360065481565b6040519081526020016101fd565b34801561027d57600080fd5b5061026361090f565b34801561029257600080fd5b506102266102a13660046119c6565b610930565b3480156102b257600080fd5b50604051601281526020016101fd565b3480156102ce57600080fd5b506009546102269060ff1681565b3480156102e857600080fd5b5061026360055481565b3480156102fe57600080fd5b50600454610312906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b34801561033657600080fd5b50600354610312906001600160a01b031681565b34801561035657600080fd5b50610263600b5481565b34801561036c57600080fd5b5060095461022690610100900460ff1681565b34801561038b57600080fd5b50610226610994565b3480156103a057600080fd5b506009546102269062010000900460ff1681565b3480156103c057600080fd5b506102636103cf366004611a07565b6001600160a01b031660009081526001602052604090205490565b3480156103f657600080fd5b5061024b6109cf565b34801561040b57600080fd5b50610263600c5481565b34801561042157600080fd5b5061026360085481565b34801561043757600080fd5b506000546001600160a01b0316610312565b34801561045557600080fd5b5060408051808201909152600481526346574f4760e01b60208201526101f0565b34801561048257600080fd5b50610226610491366004611a07565b600f6020526000908152604090205460ff1681565b3480156104b257600080fd5b506102266104c136600461199a565b610a43565b3480156104d257600080fd5b5061024b6104e1366004611a24565b610a50565b3480156104f257600080fd5b5061026360075481565b34801561050857600080fd5b50610263610517366004611a46565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561054e57600080fd5b5061022661055d366004611a07565b600e6020526000908152604090205460ff1681565b34801561057e57600080fd5b506103127f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006105b3338484610ae8565b5060015b92915050565b6000546001600160a01b031633146105f05760405162461bcd60e51b81526004016105e790611a7f565b60405180910390fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611ab4565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107039190611ab4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107749190611ab4565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff191660011790556003546107c3906001600160a01b03166001610c0c565b610807307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6107f46012600a611bcb565b61080290633b9aca00611bda565b610ae8565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7194730610857306001600160a01b031660009081526001602052604090205490565b60008061086c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108d4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108f99190611bf1565b50506009805462ffff0019166201010017905550565b600061091d6012600a611bcb565b61092b90633b9aca00611bda565b905090565b600061093d848484610c60565b61098a843361080285604051806060016040528060288152602001611cef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611239565b5060019392505050565b600080546001600160a01b031633146109bf5760405162461bcd60e51b81526004016105e790611a7f565b506009805460ff19169055600190565b6000546001600160a01b031633146109f95760405162461bcd60e51b81526004016105e790611a7f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105b3338484610c60565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016105e790611a7f565b600b829055600c81905560638211801590610a9857506063600c5411155b610ae45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c65737300000060448201526064016105e7565b5050565b6001600160a01b038316610b4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e7565b6001600160a01b038216610bab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316610cc45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e7565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e7565b60008111610d8e5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b60648201526084016105e7565b6001600160a01b0382166000908152600a602052604090205460ff16158015610dd057506001600160a01b0383166000908152600a602052604090205460ff16155b610e365760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b60648201526084016105e7565b60095460ff161561116b576000546001600160a01b03848116911614801590610e6d57506000546001600160a01b03838116911614155b1561116b57600954610100900460ff16610f05576001600160a01b0383166000908152600d602052604090205460ff1680610ec057506001600160a01b0382166000908152600d602052604090205460ff165b610f055760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105e7565b6001600160a01b0383166000908152600f602052604090205460ff168015610f4657506001600160a01b0382166000908152600e602052604090205460ff16155b1561102a57600554811115610fbb5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b60648201526084016105e7565b6007546001600160a01b038316600090815260016020526040902054610fe19083611c1f565b11156110255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b61116b565b6001600160a01b0382166000908152600f602052604090205460ff16801561106b57506001600160a01b0383166000908152600e602052604090205460ff16155b156110e1576005548111156110255760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b60648201526084016105e7565b6001600160a01b0382166000908152600e602052604090205460ff1661116b576007546001600160a01b0383166000908152600160205260409020546111279083611c1f565b111561116b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016105e7565b60095462010000900460ff16801561118d5750600354600160a01b900460ff16155b80156111b157506001600160a01b0382166000908152600f602052604090205460ff165b80156111d657506001600160a01b0383166000908152600d602052604090205460ff16155b80156111fb57506001600160a01b0382166000908152600d602052604090205460ff16155b15611229576003805460ff60a01b1916600160a01b17905561121b611273565b6003805460ff60a01b191690555b6112348383836112de565b505050565b6000818484111561125d5760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611c32565b95945050505050565b3060009081526001602052604090205460085481111561129257506008545b6006548111156112a5576112a5816113bb565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ae4573d6000803e3d6000fd5b6000806112ec85858561157b565b6001600160a01b0387166000908152600160205260409020549193509150611314908361179f565b6001600160a01b03861660009081526001602052604090205561135961133a848361179f565b6001600160a01b038616600090815260016020526040902054906117e8565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a3868561179f565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113f0576113f0611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114929190611ab4565b816001815181106114a5576114a5611c45565b60200260200101906001600160a01b031690816001600160a01b0316815250506114f0307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610ae8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611545908590600090869030904290600401611c5b565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115be57506001600160a01b0385166000908152600d602052604090205460ff165b90506115d26000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614806115fe57506000546001600160a01b038681169116145b8061161157506001600160a01b03861630145b8061162457506001600160a01b03851630145b1561163157839250611796565b80611796576001600160a01b0385166000908152600f602052604090205460ff16801561166057506000600c54115b1561168d576116866103e8611680600c548761184790919063ffffffff16565b906118c9565b91506116da565b6001600160a01b0386166000908152600f602052604090205460ff1680156116b757506000600b54115b156116da576116d76103e8611680600b548761184790919063ffffffff16565b91505b8115611789576001600160a01b038616600090815260016020526040902054611703908361179f565b6001600160a01b03871660009081526001602052604080822092909255308152205461172f90836117e8565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117809086815260200190565b60405180910390a35b6117938285611c32565b92505b50935093915050565b60006117e183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611239565b9392505050565b6000806117f58385611c1f565b9050838110156117e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e7565b600082600003611859575060006105b7565b60006118658385611bda565b9050826118728583611ccc565b146117e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e7565b60006117e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119275760405162461bcd60e51b81526004016105e79190611934565b50600061126a8486611ccc565b600060208083528351808285015260005b8181101561196157858101830151858201604001528201611945565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461199757600080fd5b50565b600080604083850312156119ad57600080fd5b82356119b881611982565b946020939093013593505050565b6000806000606084860312156119db57600080fd5b83356119e681611982565b925060208401356119f681611982565b929592945050506040919091013590565b600060208284031215611a1957600080fd5b81356117e181611982565b60008060408385031215611a3757600080fd5b50508035926020909101359150565b60008060408385031215611a5957600080fd5b8235611a6481611982565b91506020830135611a7481611982565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ac657600080fd5b81516117e181611982565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b22578160001904821115611b0857611b08611ad1565b80851615611b1557918102915b93841c9390800290611aec565b509250929050565b600082611b39575060016105b7565b81611b46575060006105b7565b8160018114611b5c5760028114611b6657611b82565b60019150506105b7565b60ff841115611b7757611b77611ad1565b50506001821b6105b7565b5060208310610133831016604e8410600b8410161715611ba5575081810a6105b7565b611baf8383611ae7565b8060001904821115611bc357611bc3611ad1565b029392505050565b60006117e160ff841683611b2a565b80820281158282048414176105b7576105b7611ad1565b600080600060608486031215611c0657600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105b7576105b7611ad1565b818103818111156105b7576105b7611ad1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ce957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122094881bba768671def669034c20c206f60aa645f57cff18d1ee11b49443c2c3be64736f6c63430008130033
Deployed Bytecode Sourcemap
4129:9754:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6117:83;;;;;;;;;;-1:-1:-1;6187:5:0;;;;;;;;;;;;-1:-1:-1;;;6187:5:0;;;;6117:83;;;;;;;:::i;:::-;;;;;;;;7005:186;;;;;;;;;;-1:-1:-1;7005:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7005:186:0;1023:187:1;8033:678:0;;;;;;;;;;;;;:::i;:::-;;4734:25;;;;;;;;;;;;;;;;;;;1361::1;;;1349:2;1334:18;4734:25:0;1215:177:1;6394:100:0;;;;;;;;;;;;;:::i;7199:446::-;;;;;;;;;;-1:-1:-1;7199:446:0;;;;;:::i;:::-;;:::i;6303:83::-;;;;;;;;;;-1:-1:-1;6303:83:0;;4363:2;2000:36:1;;1988:2;1973:18;6303:83:0;1858:184:1;4834:32:0;;;;;;;;;;-1:-1:-1;4834:32:0;;;;;;;;4704:23;;;;;;;;;;;;;;;;4674:21;;;;;;;;;;-1:-1:-1;4674:21:0;;;;-1:-1:-1;;;;;4674:21:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4674:21:0;2047:203:1;4607:28:0;;;;;;;;;;-1:-1:-1;4607:28:0;;;;-1:-1:-1;;;;;4607:28:0;;;5000:24;;;;;;;;;;;;;;;;4873:34;;;;;;;;;;-1:-1:-1;4873:34:0;;;;;;;;;;;9197:119;;;;;;;;;;;;;:::i;4914:31::-;;;;;;;;;;-1:-1:-1;4914:31:0;;;;;;;;;;;6502:119;;;;;;;;;;-1:-1:-1;6502:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6595:18:0;6568:7;6595:18;;;:9;:18;;;;;;;6502:119;3275:148;;;;;;;;;;;;;:::i;5033:24::-;;;;;;;;;;;;;;;;4800:25;;;;;;;;;;;;;;;;3061:79;;;;;;;;;;-1:-1:-1;3099:7:0;3126:6;-1:-1:-1;;;;;3126:6:0;3061:79;;6208:87;;;;;;;;;;-1:-1:-1;6280:7:0;;;;;;;;;;;;-1:-1:-1;;;6280:7:0;;;;6208:87;;5167:40;;;;;;;;;;-1:-1:-1;5167:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6629:192;;;;;;;;;;-1:-1:-1;6629:192:0;;;;;:::i;:::-;;:::i;9324:254::-;;;;;;;;;;-1:-1:-1;9324:254:0;;;;;:::i;:::-;;:::i;4766:27::-;;;;;;;;;;;;;;;;6829:168;;;;;;;;;;-1:-1:-1;6829:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6962:18:0;;;6935:7;6962:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6829:168;5118:42;;;;;;;;;;-1:-1:-1;5118:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4558;;;;;;;;;;;;;;;7005:186;7105:4;7122:39;282:10;7145:7;7154:6;7122:8;:39::i;:::-;-1:-1:-1;7179:4:0;7005:186;;;;;:::o;8033:678::-;3188:6;;-1:-1:-1;;;;;3188:6:0;282:10;3188:22;3180:67;;;;-1:-1:-1;;;3180:67:0;;;;;;;:::i;:::-;;;;;;;;;8115:6:::1;-1:-1:-1::0;;;;;8115:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8097:46:0::1;;8166:4;8186:6;-1:-1:-1::0;;;;;8186:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8097:113;::::0;-1:-1:-1;;;;;;8097:113:0::1;::::0;;;;;;-1:-1:-1;;;;;4234:15:1;;;8097:113:0::1;::::0;::::1;4216:34:1::0;4286:15;;4266:18;;;4259:43;4151:18;;8097:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8081:13;:129:::0;;-1:-1:-1;;;;;;8081:129:0::1;-1:-1:-1::0;;;;;8081:129:0;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;9156:18:0;;;:10;:18;;;;;:25;;-1:-1:-1;;9156:25:0;-1:-1:-1;9156:25:0;;;8325:13:::1;::::0;8288:58:::1;::::0;-1:-1:-1;;;;;8325:13:0::1;::::0;8288:28:::1;:58::i;:::-;8359:54;8376:4;8391:6;4428:15;4363:2;4428;:15;:::i;:::-;4412:31;::::0;:13:::1;:31;:::i;:::-;8359:8;:54::i;:::-;8426:6;-1:-1:-1::0;;;;;8426:22:0::1;;8456:21;8501:4;8521:24;8539:4;-1:-1:-1::0;;;;;6595:18:0;6568:7;6595:18;;;:9;:18;;;;;;;6502:119;8521:24:::1;8560:1;8576::::0;8592:7:::1;3099::::0;3126:6;-1:-1:-1;;;;;3126:6:0;;3061:79;8592:7:::1;8426:214;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8426:214:0;;;-1:-1:-1;;;;;6360:15:1;;;8426:214:0::1;::::0;::::1;6342:34:1::0;6392:18;;;6385:34;;;;6435:18;;;6428:34;;;;6478:18;;;6471:34;6542:15;;;6521:19;;;6514:44;8614:15:0::1;6574:19:1::0;;;6567:35;6276:19;;8426:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8653:14:0::1;:21:::0;;-1:-1:-1;;8685:18:0;;;;;-1:-1:-1;8033:678:0:o;6394:100::-;6447:7;4428:15;4363:2;4428;:15;:::i;:::-;4412:31;;:13;:31;:::i;:::-;6467:19;;6394:100;:::o;7199:446::-;7331:4;7348:36;7358:6;7366:9;7377:6;7348:9;:36::i;:::-;7395:220;7418:6;282:10;7466:138;7522:6;7466:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7466:19:0;;;;;;:11;:19;;;;;;;;282:10;7466:33;;;;;;;;;;:37;:138::i;7395:220::-;-1:-1:-1;7633:4:0;7199:446;;;;;:::o;9197:119::-;9248:4;3188:6;;-1:-1:-1;;;;;3188:6:0;282:10;3188:22;3180:67;;;;-1:-1:-1;;;3180:67:0;;;;;;;:::i;:::-;-1:-1:-1;9265:13:0::1;:21:::0;;-1:-1:-1;;9265:21:0::1;::::0;;;9197:119;:::o;3275:148::-;3188:6;;-1:-1:-1;;;;;3188:6:0;282:10;3188:22;3180:67;;;;-1:-1:-1;;;3180:67:0;;;;;;;:::i;:::-;3382:1:::1;3366:6:::0;;3345:40:::1;::::0;-1:-1:-1;;;;;3366:6:0;;::::1;::::0;3345:40:::1;::::0;3382:1;;3345:40:::1;3413:1;3396:19:::0;;-1:-1:-1;;;;;;3396:19:0::1;::::0;;3275:148::o;6629:192::-;6732:4;6749:42;282:10;6773:9;6784:6;6749:9;:42::i;9324:254::-;3188:6;;-1:-1:-1;;;;;3188:6:0;282:10;3188:22;3180:67;;;;-1:-1:-1;;;3180:67:0;;;;;;;:::i;:::-;9443:5:::1;:18:::0;;;9472:5:::1;:19:::0;;;9519:2:::1;9510:11:::0;::::1;::::0;::::1;::::0;:26:::1;;;9534:2;9525:5;;:11;;9510:26;9502:68;;;::::0;-1:-1:-1;;;9502:68:0;;7126:2:1;9502:68:0::1;::::0;::::1;7108:21:1::0;7165:2;7145:18;;;7138:30;7204:31;7184:18;;;7177:59;7253:18;;9502:68:0::1;6924:353:1::0;9502:68:0::1;9324:254:::0;;:::o;7690:335::-;-1:-1:-1;;;;;7783:19:0;;7775:68;;;;-1:-1:-1;;;7775:68:0;;7484:2:1;7775:68:0;;;7466:21:1;7523:2;7503:18;;;7496:30;7562:34;7542:18;;;7535:62;-1:-1:-1;;;7613:18:1;;;7606:34;7657:19;;7775:68:0;7282:400:1;7775:68:0;-1:-1:-1;;;;;7862:21:0;;7854:68;;;;-1:-1:-1;;;7854:68:0;;7889:2:1;7854:68:0;;;7871:21:1;7928:2;7908:18;;;7901:30;7967:34;7947:18;;;7940:62;-1:-1:-1;;;8018:18:1;;;8011:32;8060:19;;7854:68:0;7687:398:1;7854:68:0;-1:-1:-1;;;;;7933:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7985:32;;1361:25:1;;;7985:32:0;;1334:18:1;7985:32:0;;;;;;;7690:335;;;:::o;8895:170::-;-1:-1:-1;;;;;8979:14:0;;;;;;:8;:14;;;;;;:22;;-1:-1:-1;;8979:22:0;;;;;;;;;;9017:40;;8979:22;;:14;9017:40;;;8895:170;;:::o;9586:1997::-;-1:-1:-1;;;;;9675:18:0;;9667:68;;;;-1:-1:-1;;;9667:68:0;;8292:2:1;9667:68:0;;;8274:21:1;8331:2;8311:18;;;8304:30;8370:34;8350:18;;;8343:62;-1:-1:-1;;;8421:18:1;;;8414:35;8466:19;;9667:68:0;8090:401:1;9667:68:0;-1:-1:-1;;;;;9754:16:0;;9746:64;;;;-1:-1:-1;;;9746:64:0;;8698:2:1;9746:64:0;;;8680:21:1;8737:2;8717:18;;;8710:30;8776:34;8756:18;;;8749:62;-1:-1:-1;;;8827:18:1;;;8820:33;8870:19;;9746:64:0;8496:399:1;9746:64:0;9838:1;9829:6;:10;9821:70;;;;-1:-1:-1;;;9821:70:0;;9102:2:1;9821:70:0;;;9084:21:1;9141:2;9121:18;;;9114:30;9180:34;9160:18;;;9153:62;-1:-1:-1;;;9231:18:1;;;9224:45;9286:19;;9821:70:0;8900:411:1;9821:70:0;-1:-1:-1;;;;;9925:8:0;;;;;;:4;:8;;;;;;;;9924:9;:24;;;;-1:-1:-1;;;;;;9938:10:0;;;;;;:4;:10;;;;;;;;9937:11;9924:24;9902:123;;;;-1:-1:-1;;;9902:123:0;;9518:2:1;9902:123:0;;;9500:21:1;9557:2;9537:18;;;9530:30;9596:34;9576:18;;;9569:62;-1:-1:-1;;;9647:18:1;;;9640:47;9704:19;;9902:123:0;9316:413:1;9902:123:0;10042:13;;;;10038:1211;;;3099:7;3126:6;-1:-1:-1;;;;;10076:15:0;;;3126:6;;10076:15;;;;:32;;-1:-1:-1;3099:7:0;3126:6;-1:-1:-1;;;;;10095:13:0;;;3126:6;;10095:13;;10076:32;10072:1166;;;10134:14;;;;;;;10129:210;;-1:-1:-1;;;;;10207:18:0;;;;;;:12;:18;;;;;;;;;:38;;-1:-1:-1;;;;;;10229:16:0;;;;;;:12;:16;;;;;;;;10207:38;10173:146;;;;-1:-1:-1;;;10173:146:0;;9936:2:1;10173:146:0;;;9918:21:1;9975:2;9955:18;;;9948:30;-1:-1:-1;;;9994:18:1;;;9987:52;10056:18;;10173:146:0;9734:346:1;10173:146:0;-1:-1:-1;;;;;10363:14:0;;;;;;:8;:14;;;;;;;;:33;;;;-1:-1:-1;;;;;;10382:14:0;;;;;;:10;:14;;;;;;;;10381:15;10363:33;10359:864;;;10465:8;;10455:6;:18;;10421:157;;;;-1:-1:-1;;;10421:157:0;;10287:2:1;10421:157:0;;;10269:21:1;10326:2;10306:18;;;10299:30;10365:34;10345:18;;;10338:62;-1:-1:-1;;;10416:18:1;;;10409:51;10477:19;;10421:157:0;10085:417:1;10421:157:0;10661:12;;-1:-1:-1;;;;;6595:18:0;;6568:7;6595:18;;;:9;:18;;;;;;10635:22;;:6;:22;:::i;:::-;:38;;10601:143;;;;-1:-1:-1;;;10601:143:0;;10839:2:1;10601:143:0;;;10821:21:1;10878:2;10858:18;;;10851:30;-1:-1:-1;;;10897:18:1;;;10890:49;10956:18;;10601:143:0;10637:343:1;10601:143:0;10359:864;;;-1:-1:-1;;;;;10774:12:0;;;;;;:8;:12;;;;;;;;:33;;;;-1:-1:-1;;;;;;10791:16:0;;;;;;:10;:16;;;;;;;;10790:17;10774:33;10770:453;;;10876:8;;10866:6;:18;;10832:158;;;;-1:-1:-1;;;10832:158:0;;11187:2:1;10832:158:0;;;11169:21:1;11226:2;11206:18;;;11199:30;11265:34;11245:18;;;11238:62;-1:-1:-1;;;11316:18:1;;;11309:52;11378:19;;10832:158:0;10985:418:1;10770:453:0;-1:-1:-1;;;;;11021:14:0;;;;;;:10;:14;;;;;;;;11016:207;;11120:12;;-1:-1:-1;;;;;6595:18:0;;6568:7;6595:18;;;:9;:18;;;;;;11094:22;;:6;:22;:::i;:::-;:38;;11060:143;;;;-1:-1:-1;;;11060:143:0;;10839:2:1;11060:143:0;;;10821:21:1;10878:2;10858:18;;;10851:30;-1:-1:-1;;;10897:18:1;;;10890:49;10956:18;;11060:143:0;10637:343:1;11060:143:0;11279:11;;;;;;;:37;;;;-1:-1:-1;11308:8:0;;-1:-1:-1;;;11308:8:0;;;;11307:9;11279:37;:66;;;;-1:-1:-1;;;;;;11333:12:0;;;;;;:8;:12;;;;;;;;11279:66;:102;;;;-1:-1:-1;;;;;;11363:18:0;;;;;;:12;:18;;;;;;;;11362:19;11279:102;:136;;;;-1:-1:-1;;;;;;11399:16:0;;;;;;:12;:16;;;;;;;;11398:17;11279:136;11261:268;;;11442:8;:15;;-1:-1:-1;;;;11442:15:0;-1:-1:-1;;;11442:15:0;;;11474:10;:8;:10::i;:::-;11501:8;:16;;-1:-1:-1;;;;11501:16:0;;;11261:268;11541:34;11558:4;11564:2;11568:6;11541:16;:34::i;:::-;9586:1997;;;:::o;1863:224::-;1983:7;2019:12;2011:6;;;;2003:29;;;;-1:-1:-1;;;2003:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2043:9:0;2055:5;2059:1;2055;:5;:::i;:::-;2043:17;1863:224;-1:-1:-1;;;;;1863:224:0:o;13568:312::-;13651:4;13607:23;6595:18;;;:9;:18;;;;;;13692:10;;13674:28;;13670:62;;;-1:-1:-1;13722:10:0;;13670:62;13767:10;;13749:15;:28;13745:67;;;13779:33;13796:15;13779:16;:33::i;:::-;13833:6;;13825:47;;-1:-1:-1;;;;;13833:6:0;;;;13850:21;13825:47;;;;;13833:6;13825:47;13833:6;13825:47;13850:21;13833:6;13825:47;;;;;;;;;;;;;;;;;;;11591:385;11714:18;11734:17;11755:27;11765:4;11771:2;11775:6;11755:9;:27::i;:::-;-1:-1:-1;;;;;11811:15:0;;;;;;:9;:15;;;;;;11713:69;;-1:-1:-1;11713:69:0;-1:-1:-1;11811:31:0;;11713:69;11811:19;:31::i;:::-;-1:-1:-1;;;;;11793:15:0;;;;;;:9;:15;;;;;:49;11869:40;11887:21;:6;11898:9;11887:10;:21::i;:::-;-1:-1:-1;;;;;11869:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11853:13:0;;;;;;;:9;:13;;;;;:56;;;;11927:41;;;11946:21;:6;11957:9;11946:10;:21::i;:::-;11927:41;;1361:25:1;;;1349:2;1334:18;11927:41:0;;;;;;;11702:274;;11591:385;;;:::o;13084:476::-;13174:16;;;13188:1;13174:16;;;;;;;;13150:21;;13174:16;;;;;;;;;;-1:-1:-1;13174:16:0;13150:40;;13219:4;13201;13206:1;13201:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;13201:23:0;;;-1:-1:-1;;;;;13201:23:0;;;;;13245:6;-1:-1:-1;;;;;13245:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13235:4;13240:1;13235:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;13235:23:0;;;-1:-1:-1;;;;;13235:23:0;;;;;13271:53;13288:4;13303:6;13312:11;13271:8;:53::i;:::-;13337:215;;-1:-1:-1;;;13337:215:0;;-1:-1:-1;;;;;13337:6:0;:57;;;;:215;;13409:11;;13435:1;;13479:4;;13506;;13526:15;;13337:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13139:421;13084:476;:::o;11984:1092::-;-1:-1:-1;;;;;12165:18:0;;12097;12165;;;:12;:18;;;;;;12097;;;;12165;;;:38;;-1:-1:-1;;;;;;12187:16:0;;;;;;:12;:16;;;;;;;;12165:38;12147:56;;12242:7;3099;3126:6;-1:-1:-1;;;;;3126:6:0;;3061:79;12242:7;-1:-1:-1;;;;;12234:15:0;:4;-1:-1:-1;;;;;12234:15:0;;:45;;;-1:-1:-1;3099:7:0;3126:6;-1:-1:-1;;;;;12266:13:0;;;3126:6;;12266:13;12234:45;:83;;;-1:-1:-1;;;;;;12296:21:0;;12312:4;12296:21;12234:83;:119;;;-1:-1:-1;;;;;;12334:19:0;;12348:4;12334:19;12234:119;12216:853;;;12393:6;12380:19;;12216:853;;;12422:10;12417:652;;-1:-1:-1;;;;;12453:12:0;;;;;;:8;:12;;;;;;;;:25;;;;;12477:1;12469:5;;:9;12453:25;12449:254;;;12511:27;12533:4;12511:17;12522:5;;12511:6;:10;;:17;;;;:::i;:::-;:21;;:27::i;:::-;12499:39;;12449:254;;;-1:-1:-1;;;;;12600:14:0;;;;;;:8;:14;;;;;;;;:27;;;;;12626:1;12618:5;;:9;12600:27;12596:107;;;12660:27;12682:4;12660:17;12671:5;;12660:6;:10;;:17;;;;:::i;:27::-;12648:39;;12596:107;12723:13;;12719:291;;-1:-1:-1;;;;;12775:15:0;;;;;;:9;:15;;;;;;:30;;12795:9;12775:19;:30::i;:::-;-1:-1:-1;;;;;12757:15:0;;;;;;:9;:15;;;;;;:48;;;;12869:4;12851:24;;;;:79;;12902:9;12851:28;:79::i;:::-;12842:4;12824:24;;;;:9;:24;;;;;;;:106;;;;12954:40;;-1:-1:-1;;;;;12954:40:0;;;;;;;12984:9;1361:25:1;;1349:2;1334:18;;1215:177;12954:40:0;;;;;;;;12719:291;13039:18;13048:9;13039:6;:18;:::i;:::-;13026:31;;12417:652;12136:940;11984:1092;;;;;;:::o;1719:136::-;1777:7;1804:43;1808:1;1811;1804:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1797:50;1719:136;-1:-1:-1;;;1719:136:0:o;1532:179::-;1590:7;;1622:5;1626:1;1622;:5;:::i;:::-;1610:17;;1651:1;1646;:6;;1638:46;;;;-1:-1:-1;;;1638:46:0;;12992:2:1;1638:46:0;;;12974:21:1;13031:2;13011:18;;;13004:30;13070:29;13050:18;;;13043:57;13117:18;;1638:46:0;12790:351:1;2095:246:0;2153:7;2177:1;2182;2177:6;2173:47;;-1:-1:-1;2207:1:0;2200:8;;2173:47;2230:9;2242:5;2246:1;2242;:5;:::i;:::-;2230:17;-1:-1:-1;2275:1:0;2266:5;2270:1;2230:17;2266:5;:::i;:::-;:10;2258:56;;;;-1:-1:-1;;;2258:56:0;;13570:2:1;2258:56:0;;;13552:21:1;13609:2;13589:18;;;13582:30;13648:34;13628:18;;;13621:62;-1:-1:-1;;;13699:18:1;;;13692:31;13740:19;;2258:56:0;13368:397:1;2349:132:0;2407:7;2434:39;2438:1;2441;2434:39;;;;;;;;;;;;;;;;;2609:7;2644:12;2637:5;2629:28;;;;-1:-1:-1;;;2629:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2668:9:0;2680:5;2684:1;2680;: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:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3387:356::-;3589:2;3571:21;;;3608:18;;;3601:30;3667:34;3662:2;3647:18;;3640:62;3734:2;3719:18;;3387:356::o;3748:251::-;3818:6;3871:2;3859:9;3850:7;3846:23;3842:32;3839:52;;;3887:1;3884;3877:12;3839:52;3919:9;3913:16;3938:31;3963:5;3938:31;:::i;4313:127::-;4374:10;4369:3;4365:20;4362:1;4355:31;4405:4;4402:1;4395:15;4429:4;4426:1;4419:15;4445:422;4534:1;4577:5;4534:1;4591:270;4612:7;4602:8;4599:21;4591:270;;;4671:4;4667:1;4663:6;4659:17;4653:4;4650:27;4647:53;;;4680:18;;:::i;:::-;4730:7;4720:8;4716:22;4713:55;;;4750:16;;;;4713:55;4829:22;;;;4789:15;;;;4591:270;;;4595:3;4445:422;;;;;:::o;4872:806::-;4921:5;4951:8;4941:80;;-1:-1:-1;4992:1:1;5006:5;;4941:80;5040:4;5030:76;;-1:-1:-1;5077:1:1;5091:5;;5030:76;5122:4;5140:1;5135:59;;;;5208:1;5203:130;;;;5115:218;;5135:59;5165:1;5156:10;;5179:5;;;5203:130;5240:3;5230:8;5227:17;5224:43;;;5247:18;;:::i;:::-;-1:-1:-1;;5303:1:1;5289:16;;5318:5;;5115:218;;5417:2;5407:8;5404:16;5398:3;5392:4;5389:13;5385:36;5379:2;5369:8;5366:16;5361:2;5355:4;5352:12;5348:35;5345:77;5342:159;;;-1:-1:-1;5454:19:1;;;5486:5;;5342:159;5533:34;5558:8;5552:4;5533:34;:::i;:::-;5603:6;5599:1;5595:6;5591:19;5582:7;5579:32;5576:58;;;5614:18;;:::i;:::-;5652:20;;4872:806;-1:-1:-1;;;4872:806:1:o;5683:140::-;5741:5;5770:47;5811:4;5801:8;5797:19;5791:4;5770:47;:::i;5828:168::-;5901:9;;;5932;;5949:15;;;5943:22;;5929:37;5919:71;;5970:18;;:::i;6613:306::-;6701:6;6709;6717;6770:2;6758:9;6749:7;6745:23;6741:32;6738:52;;;6786:1;6783;6776:12;6738:52;6815:9;6809:16;6799:26;;6865:2;6854:9;6850:18;6844:25;6834:35;;6909:2;6898:9;6894:18;6888:25;6878:35;;6613:306;;;;;:::o;10507:125::-;10572:9;;;10593:10;;;10590:36;;;10606:18;;:::i;11408:128::-;11475:9;;;11496:11;;;11493:37;;;11510:18;;:::i;11673:127::-;11734:10;11729:3;11725:20;11722:1;11715:31;11765:4;11762:1;11755:15;11789:4;11786:1;11779:15;11805:980;12067:4;12115:3;12104:9;12100:19;12146:6;12135:9;12128:25;12172:2;12210:6;12205:2;12194:9;12190:18;12183:34;12253:3;12248:2;12237:9;12233:18;12226:31;12277:6;12312;12306:13;12343:6;12335;12328:22;12381:3;12370:9;12366:19;12359:26;;12420:2;12412:6;12408:15;12394:29;;12441:1;12451:195;12465:6;12462:1;12459:13;12451:195;;;12530:13;;-1:-1:-1;;;;;12526:39:1;12514:52;;12621:15;;;;12586:12;;;;12562:1;12480:9;12451:195;;;-1:-1:-1;;;;;;;12702:32:1;;;;12697:2;12682:18;;12675:60;-1:-1:-1;;;12766:3:1;12751:19;12744:35;12663:3;11805:980;-1:-1:-1;;;11805:980:1:o;13146:217::-;13186:1;13212;13202:132;;13256:10;13251:3;13247:20;13244:1;13237:31;13291:4;13288:1;13281:15;13319:4;13316:1;13309:15;13202:132;-1:-1:-1;13348:9:1;;13146:217::o
Swarm Source
ipfs://94881bba768671def669034c20c206f60aa645f57cff18d1ee11b49443c2c3be
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.