ERC-20
Overview
Max Total Supply
1,000,000 SYMBA
Holders
36
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,184.378863223 SYMBAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Symba
Compiler Version
v0.7.2+commit.51b20bc0
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-03 */ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.7.2; 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 ); } 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); 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 ); } contract Symba is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "SYMBA INU"; string private constant _symbol = "SYMBA"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; // Taxes uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 1; uint256 private _taxFeeOnSell = 4; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x09ac21C407aafbF396bEB2dcDbDB1da240DA61E8); address payable private _marketingAddress = payable(0x09ac21C407aafbF396bEB2dcDbDB1da240DA61E8); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 20000 * 10**9; // 2% uint256 public _maxWalletSize = 20000 * 10**9; // 2% uint256 public _swapTokensAtAmount = 1500 * 10**9; // .15% event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return 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 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 removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalancee = address(this).balance; sendETHToFee(contractETHBalancee); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } 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 _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); 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 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).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); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
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":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526507326b47ffff19600655600060088190556009556001600a8190556004600b819055600c829055600d819055600e91909155600f55601280546001600160a01b03199081167309ac21c407aafbf396beb2dcdbdb1da240da61e89081179092556013805490911690911790556015805462ffffff60a01b1916600160b01b1790556512309ce54000601681905560175565015d3ef79800601855348015620000ac57600080fd5b506000620000b9620003b5565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006546002600062000114620003b5565b6001600160a01b03168152602080820192909252604090810160002092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a015592600480840193829003018186803b1580156200019057600080fd5b505afa158015620001a5573d6000803e3d6000fd5b505050506040513d6020811015620001bc57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b1580156200020d57600080fd5b505afa15801562000222573d6000803e3d6000fd5b505050506040513d60208110156200023957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b505050506040513d6020811015620002b857600080fd5b5051601580546001600160a01b0319166001600160a01b03909216919091179055600160056000620002e9620003b9565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260059093528183208054851660019081179091556012548216845282842080548616821790556013549091168352912080549092161790556200035c620003b5565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c680006040518082815260200191505060405180910390a350620003c8565b3390565b6000546001600160a01b031690565b611fbc80620003d86000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f046146106d5578063dd62ed3e14610754578063ea1644d51461078f578063f2fde38b146107b9576101d7565b8063a2a957bb14610618578063a9059cbb14610654578063bfd792841461068d578063c3c8cd80146106c0576101d7565b80638f70ccf7116100d15780638f70ccf7146105985780638f9a55c0146105c457806395d89b41146105d957806398a5c315146105ee576101d7565b80637d1db4a51461053b5780637f2feddc146105505780638da5cb5b14610583576101d7565b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec146104b457806370a08231146104c9578063715018a6146104fc57806374010ece14610511576101d7565b8063313ce5671461041557806349bd5a5e146104405780636b999053146104555780636d8aa8f814610488576101d7565b80631694505e116101ab5780631694505e1461036557806318160ddd1461039657806323b872dd146103bd5780632fd689e314610400576101d7565b8062b8cf2a146101dc57806306fdde031461028e578063095ea7b314610318576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061028c600480360360208110156101ff57600080fd5b81019060208101813564010000000081111561021a57600080fd5b82018360208201111561022c57600080fd5b8035906020019184602083028401116401000000008311171561024e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107ec945050505050565b005b34801561029a57600080fd5b506102a36108a0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b506103516004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356108c3565b604080519115158252519081900360200190f35b34801561037157600080fd5b5061037a6108e1565b604080516001600160a01b039092168252519081900360200190f35b3480156103a257600080fd5b506103ab6108f0565b60408051918252519081900360200190f35b3480156103c957600080fd5b50610351600480360360608110156103e057600080fd5b506001600160a01b038135811691602081013590911690604001356108fb565b34801561040c57600080fd5b506103ab610982565b34801561042157600080fd5b5061042a610988565b6040805160ff9092168252519081900360200190f35b34801561044c57600080fd5b5061037a61098d565b34801561046157600080fd5b5061028c6004803603602081101561047857600080fd5b50356001600160a01b031661099c565b34801561049457600080fd5b5061028c600480360360208110156104ab57600080fd5b50351515610a15565b3480156104c057600080fd5b5061028c610a8b565b3480156104d557600080fd5b506103ab600480360360208110156104ec57600080fd5b50356001600160a01b0316610ae4565b34801561050857600080fd5b5061028c610b06565b34801561051d57600080fd5b5061028c6004803603602081101561053457600080fd5b5035610ba8565b34801561054757600080fd5b506103ab610c05565b34801561055c57600080fd5b506103ab6004803603602081101561057357600080fd5b50356001600160a01b0316610c0b565b34801561058f57600080fd5b5061037a610c1d565b3480156105a457600080fd5b5061028c600480360360208110156105bb57600080fd5b50351515610c2c565b3480156105d057600080fd5b506103ab610ca2565b3480156105e557600080fd5b506102a3610ca8565b3480156105fa57600080fd5b5061028c6004803603602081101561061157600080fd5b5035610cc7565b34801561062457600080fd5b5061028c6004803603608081101561063b57600080fd5b5080359060208101359060408101359060600135610d24565b34801561066057600080fd5b506103516004803603604081101561067757600080fd5b506001600160a01b038135169060200135610d90565b34801561069957600080fd5b50610351600480360360208110156106b057600080fd5b50356001600160a01b0316610da4565b3480156106cc57600080fd5b5061028c610db9565b3480156106e157600080fd5b5061028c600480360360408110156106f857600080fd5b81019060208101813564010000000081111561071357600080fd5b82018360208201111561072557600080fd5b8035906020019184602083028401116401000000008311171561074757600080fd5b9193509150351515610e1b565b34801561076057600080fd5b506103ab6004803603604081101561077757600080fd5b506001600160a01b0381358116916020013516610ece565b34801561079b57600080fd5b5061028c600480360360208110156107b257600080fd5b5035610ef9565b3480156107c557600080fd5b5061028c600480360360208110156107dc57600080fd5b50356001600160a01b0316610f56565b6107f461104e565b6000546001600160a01b03908116911614610844576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60005b815181101561089c5760016010600084848151811061086257fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610847565b5050565b60408051808201909152600981526853594d424120494e5560b81b602082015290565b60006108d76108d061104e565b8484611052565b5060015b92915050565b6014546001600160a01b031681565b66038d7ea4c6800090565b600061090884848461113e565b6109788461091461104e565b61097385604051806060016040528060288152602001611eaa602891396001600160a01b038a1660009081526004602052604081209061095261104e565b6001600160a01b0316815260208101919091526040016000205491906115c8565b611052565b5060019392505050565b60185481565b600990565b6015546001600160a01b031681565b6109a461104e565b6000546001600160a01b039081169116146109f4576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b610a1d61104e565b6000546001600160a01b03908116911614610a6d576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316610a9f61104e565b6001600160a01b03161480610ace57506013546001600160a01b0316610ac361104e565b6001600160a01b0316145b610ad757600080fd5b47610ae18161165f565b50565b6001600160a01b0381166000908152600260205260408120546108db90611699565b610b0e61104e565b6000546001600160a01b03908116911614610b5e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610bb061104e565b6000546001600160a01b03908116911614610c00576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601655565b60165481565b60116020526000908152604090205481565b6000546001600160a01b031690565b610c3461104e565b6000546001600160a01b03908116911614610c84576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60158054911515600160a01b0260ff60a01b19909216919091179055565b60175481565b60408051808201909152600581526453594d424160d81b602082015290565b610ccf61104e565b6000546001600160a01b03908116911614610d1f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601855565b610d2c61104e565b6000546001600160a01b03908116911614610d7c576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b600893909355600a91909155600955600b55565b60006108d7610d9d61104e565b848461113e565b60106020526000908152604090205460ff1681565b6012546001600160a01b0316610dcd61104e565b6001600160a01b03161480610dfc57506013546001600160a01b0316610df161104e565b6001600160a01b0316145b610e0557600080fd5b6000610e1030610ae4565b9050610ae1816116f9565b610e2361104e565b6000546001600160a01b03908116911614610e73576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60005b82811015610ec8578160056000868685818110610e8f57fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101610e76565b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610f0161104e565b6000546001600160a01b03908116911614610f51576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601755565b610f5e61104e565b6000546001600160a01b03908116911614610fae576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b6001600160a01b038116610ff35760405162461bcd60e51b8152600401808060200182810382526026815260200180611e1e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166110975760405162461bcd60e51b8152600401808060200182810382526024815260200180611f636024913960400191505060405180910390fd5b6001600160a01b0382166110dc5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e446022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166111835760405162461bcd60e51b8152600401808060200182810382526025815260200180611f1b6025913960400191505060405180910390fd5b6001600160a01b0382166111c85760405162461bcd60e51b8152600401808060200182810382526023815260200180611d926023913960400191505060405180910390fd5b600081116112075760405162461bcd60e51b8152600401808060200182810382526029815260200180611ef26029913960400191505060405180910390fd5b61120f610c1d565b6001600160a01b0316836001600160a01b0316141580156112495750611233610c1d565b6001600160a01b0316826001600160a01b031614155b156114c157601554600160a01b900460ff166112b657611267610c1d565b6001600160a01b0316836001600160a01b0316146112b65760405162461bcd60e51b815260040180806020018281038252603f815260200180611db5603f913960400191505060405180910390fd5b60165481111561130d576040805162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015290519081900360640190fd5b6001600160a01b03831660009081526010602052604090205460ff1615801561134f57506001600160a01b03821660009081526010602052604090205460ff16155b61138a5760405162461bcd60e51b8152600401808060200182810382526023815260200180611e666023913960400191505060405180910390fd5b6015546001600160a01b038381169116146113ea57601754816113ac84610ae4565b0111156113ea5760405162461bcd60e51b8152600401808060200182810382526023815260200180611f406023913960400191505060405180910390fd5b60006113f530610ae4565b60185460165491925082101590821061140e5760165491505b8080156114255750601554600160a81b900460ff16155b801561143f57506015546001600160a01b03868116911614155b80156114545750601554600160b01b900460ff165b801561147957506001600160a01b03851660009081526005602052604090205460ff16155b801561149e57506001600160a01b03841660009081526005602052604090205460ff16155b156114be576114ac826116f9565b4780156114bc576114bc4761165f565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061150357506001600160a01b03831660009081526005602052604090205460ff165b8061153557506015546001600160a01b0385811691161480159061153557506015546001600160a01b03848116911614155b15611542575060006115bc565b6015546001600160a01b03858116911614801561156d57506014546001600160a01b03848116911614155b1561157f57600854600c55600954600d555b6015546001600160a01b0384811691161480156115aa57506014546001600160a01b03858116911614155b156115bc57600a54600c55600b54600d555b610ec8848484846118c7565b600081848411156116575760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561161c578181015183820152602001611604565b50505050905090810190601f1680156116495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561089c573d6000803e3d6000fd5b60006006548211156116dc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611df4602a913960400191505060405180910390fd5b60006116e66118ec565b90506116f2838261190f565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060808301845292602083019080368337019050509050308160008151811061173a57fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561178e57600080fd5b505afa1580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b50518151829060019081106117c957fe5b6001600160a01b0392831660209182029290920101526014546117ef9130911684611052565b60145460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561187557818101518382015260200161185d565b505050509050019650505050505050600060405180830381600087803b15801561189e57600080fd5b505af11580156118b2573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806118d4576118d4611951565b6118df848484611983565b80610ec857610ec8611a78565b60008060006118f9611a86565b9092509050611908828261190f565b9250505090565b60006116f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac7565b600c541580156119615750600d54155b1561196b57611981565b600c8054600e55600d8054600f55600091829055555b565b60008060008060008061199587611b2c565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119c79087611b89565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119f69086611bcb565b6001600160a01b038916600090815260026020526040902055611a1881611c25565b611a228483611c6f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c55600f54600d55565b600654600090819066038d7ea4c68000611aa0828261190f565b821015611abd5760065466038d7ea4c68000935093505050611ac3565b90925090505b9091565b60008183611b165760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561161c578181015183820152602001611604565b506000838581611b2257fe5b0495945050505050565b6000806000806000806000806000611b498a600c54600d54611c93565b9250925092506000611b596118ec565b90506000806000611b6c8e878787611ce8565b919e509c509a509598509396509194505050505091939550919395565b60006116f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c8565b6000828201838110156116f2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611c2f6118ec565b90506000611c3d8383611d38565b30600090815260026020526040902054909150611c5a9082611bcb565b30600090815260026020526040902055505050565b600654611c7c9083611b89565b600655600754611c8c9082611bcb565b6007555050565b6000808080611cad6064611ca78989611d38565b9061190f565b90506000611cc06064611ca78a89611d38565b90506000611cd882611cd28b86611b89565b90611b89565b9992985090965090945050505050565b6000808080611cf78886611d38565b90506000611d058887611d38565b90506000611d138888611d38565b90506000611d2582611cd28686611b89565b939b939a50919850919650505050505050565b600082611d47575060006108db565b82820282848281611d5457fe5b04146116f25760405162461bcd60e51b8152600401808060200182810382526021815260200180611e896021913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e6420746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c697374656421536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373544f4b454e3a2042616c616e636520657863656564732077616c6c65742073697a652145524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220958060e0d5b6447d76d3b3ff78630059ebe607f3bc620f578c52d84c5a11292b64736f6c63430007020033
Deployed Bytecode
0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f046146106d5578063dd62ed3e14610754578063ea1644d51461078f578063f2fde38b146107b9576101d7565b8063a2a957bb14610618578063a9059cbb14610654578063bfd792841461068d578063c3c8cd80146106c0576101d7565b80638f70ccf7116100d15780638f70ccf7146105985780638f9a55c0146105c457806395d89b41146105d957806398a5c315146105ee576101d7565b80637d1db4a51461053b5780637f2feddc146105505780638da5cb5b14610583576101d7565b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec146104b457806370a08231146104c9578063715018a6146104fc57806374010ece14610511576101d7565b8063313ce5671461041557806349bd5a5e146104405780636b999053146104555780636d8aa8f814610488576101d7565b80631694505e116101ab5780631694505e1461036557806318160ddd1461039657806323b872dd146103bd5780632fd689e314610400576101d7565b8062b8cf2a146101dc57806306fdde031461028e578063095ea7b314610318576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061028c600480360360208110156101ff57600080fd5b81019060208101813564010000000081111561021a57600080fd5b82018360208201111561022c57600080fd5b8035906020019184602083028401116401000000008311171561024e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107ec945050505050565b005b34801561029a57600080fd5b506102a36108a0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032457600080fd5b506103516004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356108c3565b604080519115158252519081900360200190f35b34801561037157600080fd5b5061037a6108e1565b604080516001600160a01b039092168252519081900360200190f35b3480156103a257600080fd5b506103ab6108f0565b60408051918252519081900360200190f35b3480156103c957600080fd5b50610351600480360360608110156103e057600080fd5b506001600160a01b038135811691602081013590911690604001356108fb565b34801561040c57600080fd5b506103ab610982565b34801561042157600080fd5b5061042a610988565b6040805160ff9092168252519081900360200190f35b34801561044c57600080fd5b5061037a61098d565b34801561046157600080fd5b5061028c6004803603602081101561047857600080fd5b50356001600160a01b031661099c565b34801561049457600080fd5b5061028c600480360360208110156104ab57600080fd5b50351515610a15565b3480156104c057600080fd5b5061028c610a8b565b3480156104d557600080fd5b506103ab600480360360208110156104ec57600080fd5b50356001600160a01b0316610ae4565b34801561050857600080fd5b5061028c610b06565b34801561051d57600080fd5b5061028c6004803603602081101561053457600080fd5b5035610ba8565b34801561054757600080fd5b506103ab610c05565b34801561055c57600080fd5b506103ab6004803603602081101561057357600080fd5b50356001600160a01b0316610c0b565b34801561058f57600080fd5b5061037a610c1d565b3480156105a457600080fd5b5061028c600480360360208110156105bb57600080fd5b50351515610c2c565b3480156105d057600080fd5b506103ab610ca2565b3480156105e557600080fd5b506102a3610ca8565b3480156105fa57600080fd5b5061028c6004803603602081101561061157600080fd5b5035610cc7565b34801561062457600080fd5b5061028c6004803603608081101561063b57600080fd5b5080359060208101359060408101359060600135610d24565b34801561066057600080fd5b506103516004803603604081101561067757600080fd5b506001600160a01b038135169060200135610d90565b34801561069957600080fd5b50610351600480360360208110156106b057600080fd5b50356001600160a01b0316610da4565b3480156106cc57600080fd5b5061028c610db9565b3480156106e157600080fd5b5061028c600480360360408110156106f857600080fd5b81019060208101813564010000000081111561071357600080fd5b82018360208201111561072557600080fd5b8035906020019184602083028401116401000000008311171561074757600080fd5b9193509150351515610e1b565b34801561076057600080fd5b506103ab6004803603604081101561077757600080fd5b506001600160a01b0381358116916020013516610ece565b34801561079b57600080fd5b5061028c600480360360208110156107b257600080fd5b5035610ef9565b3480156107c557600080fd5b5061028c600480360360208110156107dc57600080fd5b50356001600160a01b0316610f56565b6107f461104e565b6000546001600160a01b03908116911614610844576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60005b815181101561089c5760016010600084848151811061086257fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610847565b5050565b60408051808201909152600981526853594d424120494e5560b81b602082015290565b60006108d76108d061104e565b8484611052565b5060015b92915050565b6014546001600160a01b031681565b66038d7ea4c6800090565b600061090884848461113e565b6109788461091461104e565b61097385604051806060016040528060288152602001611eaa602891396001600160a01b038a1660009081526004602052604081209061095261104e565b6001600160a01b0316815260208101919091526040016000205491906115c8565b611052565b5060019392505050565b60185481565b600990565b6015546001600160a01b031681565b6109a461104e565b6000546001600160a01b039081169116146109f4576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b610a1d61104e565b6000546001600160a01b03908116911614610a6d576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316610a9f61104e565b6001600160a01b03161480610ace57506013546001600160a01b0316610ac361104e565b6001600160a01b0316145b610ad757600080fd5b47610ae18161165f565b50565b6001600160a01b0381166000908152600260205260408120546108db90611699565b610b0e61104e565b6000546001600160a01b03908116911614610b5e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610bb061104e565b6000546001600160a01b03908116911614610c00576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601655565b60165481565b60116020526000908152604090205481565b6000546001600160a01b031690565b610c3461104e565b6000546001600160a01b03908116911614610c84576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60158054911515600160a01b0260ff60a01b19909216919091179055565b60175481565b60408051808201909152600581526453594d424160d81b602082015290565b610ccf61104e565b6000546001600160a01b03908116911614610d1f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601855565b610d2c61104e565b6000546001600160a01b03908116911614610d7c576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b600893909355600a91909155600955600b55565b60006108d7610d9d61104e565b848461113e565b60106020526000908152604090205460ff1681565b6012546001600160a01b0316610dcd61104e565b6001600160a01b03161480610dfc57506013546001600160a01b0316610df161104e565b6001600160a01b0316145b610e0557600080fd5b6000610e1030610ae4565b9050610ae1816116f9565b610e2361104e565b6000546001600160a01b03908116911614610e73576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b60005b82811015610ec8578160056000868685818110610e8f57fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101610e76565b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610f0161104e565b6000546001600160a01b03908116911614610f51576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b601755565b610f5e61104e565b6000546001600160a01b03908116911614610fae576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed2833981519152604482015290519081900360640190fd5b6001600160a01b038116610ff35760405162461bcd60e51b8152600401808060200182810382526026815260200180611e1e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166110975760405162461bcd60e51b8152600401808060200182810382526024815260200180611f636024913960400191505060405180910390fd5b6001600160a01b0382166110dc5760405162461bcd60e51b8152600401808060200182810382526022815260200180611e446022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166111835760405162461bcd60e51b8152600401808060200182810382526025815260200180611f1b6025913960400191505060405180910390fd5b6001600160a01b0382166111c85760405162461bcd60e51b8152600401808060200182810382526023815260200180611d926023913960400191505060405180910390fd5b600081116112075760405162461bcd60e51b8152600401808060200182810382526029815260200180611ef26029913960400191505060405180910390fd5b61120f610c1d565b6001600160a01b0316836001600160a01b0316141580156112495750611233610c1d565b6001600160a01b0316826001600160a01b031614155b156114c157601554600160a01b900460ff166112b657611267610c1d565b6001600160a01b0316836001600160a01b0316146112b65760405162461bcd60e51b815260040180806020018281038252603f815260200180611db5603f913960400191505060405180910390fd5b60165481111561130d576040805162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015290519081900360640190fd5b6001600160a01b03831660009081526010602052604090205460ff1615801561134f57506001600160a01b03821660009081526010602052604090205460ff16155b61138a5760405162461bcd60e51b8152600401808060200182810382526023815260200180611e666023913960400191505060405180910390fd5b6015546001600160a01b038381169116146113ea57601754816113ac84610ae4565b0111156113ea5760405162461bcd60e51b8152600401808060200182810382526023815260200180611f406023913960400191505060405180910390fd5b60006113f530610ae4565b60185460165491925082101590821061140e5760165491505b8080156114255750601554600160a81b900460ff16155b801561143f57506015546001600160a01b03868116911614155b80156114545750601554600160b01b900460ff165b801561147957506001600160a01b03851660009081526005602052604090205460ff16155b801561149e57506001600160a01b03841660009081526005602052604090205460ff16155b156114be576114ac826116f9565b4780156114bc576114bc4761165f565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061150357506001600160a01b03831660009081526005602052604090205460ff165b8061153557506015546001600160a01b0385811691161480159061153557506015546001600160a01b03848116911614155b15611542575060006115bc565b6015546001600160a01b03858116911614801561156d57506014546001600160a01b03848116911614155b1561157f57600854600c55600954600d555b6015546001600160a01b0384811691161480156115aa57506014546001600160a01b03858116911614155b156115bc57600a54600c55600b54600d555b610ec8848484846118c7565b600081848411156116575760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561161c578181015183820152602001611604565b50505050905090810190601f1680156116495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561089c573d6000803e3d6000fd5b60006006548211156116dc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611df4602a913960400191505060405180910390fd5b60006116e66118ec565b90506116f2838261190f565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060808301845292602083019080368337019050509050308160008151811061173a57fe5b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561178e57600080fd5b505afa1580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b50518151829060019081106117c957fe5b6001600160a01b0392831660209182029290920101526014546117ef9130911684611052565b60145460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561187557818101518382015260200161185d565b505050509050019650505050505050600060405180830381600087803b15801561189e57600080fd5b505af11580156118b2573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806118d4576118d4611951565b6118df848484611983565b80610ec857610ec8611a78565b60008060006118f9611a86565b9092509050611908828261190f565b9250505090565b60006116f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac7565b600c541580156119615750600d54155b1561196b57611981565b600c8054600e55600d8054600f55600091829055555b565b60008060008060008061199587611b2c565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119c79087611b89565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119f69086611bcb565b6001600160a01b038916600090815260026020526040902055611a1881611c25565b611a228483611c6f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600e54600c55600f54600d55565b600654600090819066038d7ea4c68000611aa0828261190f565b821015611abd5760065466038d7ea4c68000935093505050611ac3565b90925090505b9091565b60008183611b165760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561161c578181015183820152602001611604565b506000838581611b2257fe5b0495945050505050565b6000806000806000806000806000611b498a600c54600d54611c93565b9250925092506000611b596118ec565b90506000806000611b6c8e878787611ce8565b919e509c509a509598509396509194505050505091939550919395565b60006116f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c8565b6000828201838110156116f2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611c2f6118ec565b90506000611c3d8383611d38565b30600090815260026020526040902054909150611c5a9082611bcb565b30600090815260026020526040902055505050565b600654611c7c9083611b89565b600655600754611c8c9082611bcb565b6007555050565b6000808080611cad6064611ca78989611d38565b9061190f565b90506000611cc06064611ca78a89611d38565b90506000611cd882611cd28b86611b89565b90611b89565b9992985090965090945050505050565b6000808080611cf78886611d38565b90506000611d058887611d38565b90506000611d138888611d38565b90506000611d2582611cd28686611b89565b939b939a50919850919650505050505050565b600082611d47575060006108db565b82820282848281611d5457fe5b04146116f25760405162461bcd60e51b8152600401808060200182810382526021815260200180611e896021913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e6420746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c697374656421536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373544f4b454e3a2042616c616e636520657863656564732077616c6c65742073697a652145524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220958060e0d5b6447d76d3b3ff78630059ebe607f3bc620f578c52d84c5a11292b64736f6c63430007020033
Deployed Bytecode Sourcemap
4531:13524:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13230:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13230:169:0;;-1:-1:-1;13230:169:0;;-1:-1:-1;;;;;13230:169:0:i;:::-;;7055:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7980:193;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7980:193:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5884:41;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5884:41:0;;;;;;;;;;;;;;7332:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8181:446;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8181:446:0;;;;;;;;;;;;;;;;;:::i;6196:49::-;;;;;;;;;;;;;:::i;7241:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5932:28;;;;;;;;;;;;;:::i;13407:92::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13407:92:0;-1:-1:-1;;;;;13407:92:0;;:::i;17439:101::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17439:101:0;;;;:::i;12985:237::-;;;;;;;;;;;;;:::i;7435:138::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7435:138:0;-1:-1:-1;;;;;7435:138:0;;:::i;1561:148::-;;;;;;;;;;;;;:::i;17579:108::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17579:108:0;;:::i;6082:43::-;;;;;;;;;;;;;:::i;5626:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5626:43:0;-1:-1:-1;;;;;5626:43:0;;:::i;1347:79::-;;;;;;;;;;;;;:::i;12632:101::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12632:101:0;;;;:::i;6138:45::-;;;;;;;;;;;;;:::i;7146:87::-;;;;;;;;;;;;;:::i;17248:139::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17248:139:0;;:::i;16905:291::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16905:291:0;;;;;;;;;;;;;;;;;:::i;7581:199::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7581:199:0;;;;;;;;:::i;5588:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5588:36:0;-1:-1:-1;;;;;5588:36:0;;:::i;12741:236::-;;;;;;;;;;;;;:::i;17818:234::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17818:234:0;-1:-1:-1;17818:234:0;;;;:::i;7788:184::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7788:184:0;;;;;;;;;;:::i;17695:115::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17695:115:0;;:::i;1717:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1717:244:0;-1:-1:-1;;;;;1717:244:0;;:::i;13230:169::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;13306:9:::1;13301:91;13325:5;:12;13321:1;:16;13301:91;;;13376:4;13359;:14;13364:5;13370:1;13364:8;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13359:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13359:14:0;:21;;-1:-1:-1;;13359:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13339:3:0::1;13301:91;;;;13230:169:::0;:::o;7055:83::-;7125:5;;;;;;;;;;;;-1:-1:-1;;;7125:5:0;;;;7055:83;:::o;7980:193::-;8082:4;8104:39;8113:12;:10;:12::i;:::-;8127:7;8136:6;8104:8;:39::i;:::-;-1:-1:-1;8161:4:0;7980:193;;;;;:::o;5884:41::-;;;-1:-1:-1;;;;;5884:41:0;;:::o;7332:95::-;5077:15;7332:95;:::o;8181:446::-;8313:4;8330:36;8340:6;8348:9;8359:6;8330:9;:36::i;:::-;8377:220;8400:6;8421:12;:10;:12::i;:::-;8448:138;8504:6;8448:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8448:19:0;;;;;;:11;:19;;;;;;8468:12;:10;:12::i;:::-;-1:-1:-1;;;;;8448:33:0;;;;;;;;;;;;-1:-1:-1;8448:33:0;;;:138;:37;:138::i;:::-;8377:8;:220::i;:::-;-1:-1:-1;8615:4:0;8181:446;;;;;:::o;6196:49::-;;;;:::o;7241:83::-;4751:1;7241:83;:::o;5932:28::-;;;-1:-1:-1;;;;;5932:28:0;;:::o;13407:92::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13471:12:0::1;13486:5;13471:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13471:20:0::1;::::0;;13407:92::o;17439:101::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17506:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17506:26:0::1;-1:-1:-1::0;;;;17506:26:0;;::::1;::::0;;;::::1;::::0;;17439:101::o;12985:237::-;13051:19;;-1:-1:-1;;;;;13051:19:0;13035:12;:10;:12::i;:::-;-1:-1:-1;;;;;13035:35:0;;:72;;;-1:-1:-1;13090:17:0;;-1:-1:-1;;;;;13090:17:0;13074:12;:10;:12::i;:::-;-1:-1:-1;;;;;13074:33:0;;13035:72;13027:81;;;;;;13149:21;13181:33;13149:21;13181:12;:33::i;:::-;12985:237;:::o;7435:138::-;-1:-1:-1;;;;;7548:16:0;;7501:7;7548:16;;;:7;:16;;;;;;7528:37;;:19;:37::i;1561:148::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;1668:1:::1;1652:6:::0;;1631:40:::1;::::0;-1:-1:-1;;;;;1652:6:0;;::::1;::::0;1631:40:::1;::::0;1668:1;;1631:40:::1;1699:1;1682:19:::0;;-1:-1:-1;;;;;;1682:19:0::1;::::0;;1561:148::o;17579:108::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17653:12:::1;:26:::0;17579:108::o;6082:43::-;;;;:::o;5626:::-;;;;;;;;;;;;;:::o;1347:79::-;1385:7;1412:6;-1:-1:-1;;;;;1412:6:0;1347:79;:::o;12632:101::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;12699:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12699:26:0::1;-1:-1:-1::0;;;;12699:26:0;;::::1;::::0;;;::::1;::::0;;12632:101::o;6138:45::-;;;;:::o;7146:87::-;7218:7;;;;;;;;;;;;-1:-1:-1;;;7218:7:0;;;;7146:87;:::o;17248:139::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17339:19:::1;:40:::0;17248:139::o;16905:291::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17039:14:::1;:30:::0;;;;17080:15:::1;:32:::0;;;;17123:12:::1;:26:::0;17160:13:::1;:28:::0;16905:291::o;7581:199::-;7686:4;7708:42;7718:12;:10;:12::i;:::-;7732:9;7743:6;7708:9;:42::i;5588:36::-;;;;;;;;;;;;;;;:::o;12741:236::-;12807:19;;-1:-1:-1;;;;;12807:19:0;12791:12;:10;:12::i;:::-;-1:-1:-1;;;;;12791:35:0;;:72;;;-1:-1:-1;12846:17:0;;-1:-1:-1;;;;;12846:17:0;12830:12;:10;:12::i;:::-;-1:-1:-1;;;;;12830:33:0;;12791:72;12783:81;;;;;;12875:23;12901:24;12919:4;12901:9;:24::i;:::-;12875:50;;12936:33;12953:15;12936:16;:33::i;17818:234::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17935:9:::1;17931:114;17950:19:::0;;::::1;17931:114;;;18025:8;17991:18;:31;18010:8;;18019:1;18010:11;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;18010:11:0::1;17991:31:::0;;-1:-1:-1;17991:31:0;::::1;::::0;;;;;;-1:-1:-1;17991:31:0;:42;;-1:-1:-1;;17991:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;17971:3:0::1;17931:114;;;;17818:234:::0;;;:::o;7788:184::-;-1:-1:-1;;;;;7937:18:0;;;7905:7;7937:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7788:184::o;17695:115::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;17772:14:::1;:30:::0;17695:115::o;1717:244::-;1484:12;:10;:12::i;:::-;1474:6;;-1:-1:-1;;;;;1474:6:0;;;:22;;;1466:67;;;;;-1:-1:-1;;;1466:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1466:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;1806:22:0;::::1;1798:73;;;;-1:-1:-1::0;;;1798:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1908:6;::::0;;1887:38:::1;::::0;-1:-1:-1;;;;;1887:38:0;;::::1;::::0;1908:6;::::1;::::0;1887:38:::1;::::0;::::1;1936:6;:17:::0;;-1:-1:-1;;;;;;1936:17:0::1;-1:-1:-1::0;;;;;1936:17:0;;;::::1;::::0;;;::::1;::::0;;1717:244::o;106:98::-;186:10;106:98;:::o;9318:369::-;-1:-1:-1;;;;;9445:19:0;;9437:68;;;;-1:-1:-1;;;9437:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9524:21:0;;9516:68;;;;-1:-1:-1;;;9516:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9595:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9647:32;;;;;;;;;;;;;;;;;9318:369;;;:::o;9695:2331::-;-1:-1:-1;;;;;9817:18:0;;9809:68;;;;-1:-1:-1;;;9809:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9896:16:0;;9888:64;;;;-1:-1:-1;;;9888:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:1;9971:6;:10;9963:64;;;;-1:-1:-1;;;9963:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10052:7;:5;:7::i;:::-;-1:-1:-1;;;;;10044:15:0;:4;-1:-1:-1;;;;;10044:15:0;;;:32;;;;;10069:7;:5;:7::i;:::-;-1:-1:-1;;;;;10063:13:0;:2;-1:-1:-1;;;;;10063:13:0;;;10044:32;10040:1260;;;10133:11;;-1:-1:-1;;;10133:11:0;;;;10128:144;;10181:7;:5;:7::i;:::-;-1:-1:-1;;;;;10173:15:0;:4;-1:-1:-1;;;;;10173:15:0;;10165:91;;;;-1:-1:-1;;;10165:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10306:12;;10296:6;:22;;10288:63;;;;;-1:-1:-1;;;10288:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10375:10:0;;;;;;:4;:10;;;;;;;;10374:11;:24;;;;-1:-1:-1;;;;;;10390:8:0;;;;;;:4;:8;;;;;;;;10389:9;10374:24;10366:72;;;;-1:-1:-1;;;10366:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10464:13;;-1:-1:-1;;;;;10458:19:0;;;10464:13;;10458:19;10455:147;;10532:14;;10522:6;10506:13;10516:2;10506:9;:13::i;:::-;:22;:40;;10498:88;;;;-1:-1:-1;;;10498:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10618:28;10649:24;10667:4;10649:9;:24::i;:::-;10727:19;;10790:12;;10618:55;;-1:-1:-1;10703:43:0;;;;10766:36;;10763:124;;10859:12;;10836:35;;10763:124;10907:7;:18;;;;-1:-1:-1;10919:6:0;;-1:-1:-1;;;10919:6:0;;;;10918:7;10907:18;:43;;;;-1:-1:-1;10937:13:0;;-1:-1:-1;;;;;10929:21:0;;;10937:13;;10929:21;;10907:43;:58;;;;-1:-1:-1;10954:11:0;;-1:-1:-1;;;10954:11:0;;;;10907:58;:87;;;;-1:-1:-1;;;;;;10970:24:0;;;;;;:18;:24;;;;;;;;10969:25;10907:87;:114;;;;-1:-1:-1;;;;;;10999:22:0;;;;;;:18;:22;;;;;;;;10998:23;10907:114;10903:386;;;11042:38;11059:20;11042:16;:38::i;:::-;11128:21;11172:22;;11168:106;;11219:35;11232:21;11219:12;:35::i;:::-;10903:386;;10040:1260;;;-1:-1:-1;;;;;11376:24:0;;11312:12;11376:24;;;:18;:24;;;;;;11327:4;;11376:24;;;:50;;-1:-1:-1;;;;;;11404:22:0;;;;;;:18;:22;;;;;;;;11376:50;11375:102;;;-1:-1:-1;11440:13:0;;-1:-1:-1;;;;;11432:21:0;;;11440:13;;11432:21;;;;:44;;-1:-1:-1;11463:13:0;;-1:-1:-1;;;;;11457:19:0;;;11463:13;;11457:19;;11432:44;11371:594;;;-1:-1:-1;11504:5:0;11371:594;;;11587:13;;-1:-1:-1;;;;;11579:21:0;;;11587:13;;11579:21;:55;;;;-1:-1:-1;11618:15:0;;-1:-1:-1;;;;;11604:30:0;;;11618:15;;11604:30;;11579:55;11576:162;;;11667:14;;11655:9;:26;11710:12;;11700:7;:22;11576:162;11797:13;;-1:-1:-1;;;;;11791:19:0;;;11797:13;;11791:19;:55;;;;-1:-1:-1;11830:15:0;;-1:-1:-1;;;;;11814:32:0;;;11830:15;;11814:32;;11791:55;11787:165;;;11879:15;;11867:9;:27;11923:13;;11913:7;:23;11787:165;11977:41;11992:4;11998:2;12002:6;12010:7;11977:14;:41::i;2325:224::-;2445:7;2481:12;2473:6;;;;2465:29;;;;-1:-1:-1;;;2465:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2517:5:0;;;2325:224::o;12525:99::-;12582:17;;:34;;-1:-1:-1;;;;;12582:17:0;;;;:34;;;;;12609:6;;12582:17;:34;:17;:34;12609:6;12582:17;:34;;;;;;;;;;;;;;;;;;;8635:323;8730:7;8788;;8777;:18;;8755:110;;;;-1:-1:-1;;;8755:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8876:19;8898:10;:8;:10::i;:::-;8876:32;-1:-1:-1;8926:24:0;:7;8876:32;8926:11;:24::i;:::-;8919:31;8635:323;-1:-1:-1;;;8635:323:0:o;12034:483::-;6347:6;:13;;-1:-1:-1;;;;6347:13:0;-1:-1:-1;;;6347:13:0;;;12136:16:::1;::::0;;12150:1:::1;12136:16:::0;;;12112:21:::1;12136:16:::0;;::::1;::::0;;12112:21;12136:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12136:16:0::1;12112:40;;12181:4;12163;12168:1;12163:7;;;;;;;;-1:-1:-1::0;;;;;12163:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12207:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12207:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12163:7;;12207:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12207:22:0;12197:7;;:4;;12202:1:::1;::::0;12197:7;::::1;;;;;-1:-1:-1::0;;;;;12197:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12272:15:::1;::::0;12240:62:::1;::::0;12257:4:::1;::::0;12272:15:::1;12290:11:::0;12240:8:::1;:62::i;:::-;12313:15;::::0;:196:::1;::::0;-1:-1:-1;;;12313:196:0;;::::1;::::0;::::1;::::0;;;:15:::1;:196:::0;;;;;;12463:4:::1;12313:196:::0;;;;;;12483:15:::1;12313:196:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12313:15:0;;::::1;::::0;:66:::1;::::0;12394:11;;12436:4;;12463;12483:15;12313:196;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:196:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6383:6:0;:14;;-1:-1:-1;;;;6383:14:0;;;-1:-1:-1;;;;12034:483:0:o;13507:282::-;13663:7;13658:28;;13672:14;:12;:14::i;:::-;13697:44;13715:6;13723:9;13734:6;13697:17;:44::i;:::-;13757:7;13752:29;;13766:15;:13;:15::i;16468:164::-;16510:7;16531:15;16548;16567:19;:17;:19::i;:::-;16530:56;;-1:-1:-1;16530:56:0;-1:-1:-1;16604:20:0;16530:56;;16604:11;:20::i;:::-;16597:27;;;;16468:164;:::o;2811:132::-;2869:7;2896:39;2900:1;2903;2896:39;;;;;;;;;;;;;;;;;:3;:39::i;8966:219::-;9013:9;;:14;:30;;;;-1:-1:-1;9031:7:0;;:12;9013:30;9009:43;;;9045:7;;9009:43;9084:9;;;9064:17;:29;9122:7;;;9104:15;:25;-1:-1:-1;9142:13:0;;;;9166:11;8966:219;:::o;13797:610::-;13944:15;13974:23;14012:12;14039:23;14077:12;14104:13;14131:19;14142:7;14131:10;:19::i;:::-;-1:-1:-1;;;;;14179:15:0;;;;;;:7;:15;;;;;;13929:221;;-1:-1:-1;13929:221:0;;-1:-1:-1;13929:221:0;;-1:-1:-1;13929:221:0;-1:-1:-1;13929:221:0;-1:-1:-1;13929:221:0;-1:-1:-1;14179:28:0;;13929:221;14179:19;:28::i;:::-;-1:-1:-1;;;;;14161:15:0;;;;;;;:7;:15;;;;;;:46;;;;14239:18;;;;;;;:39;;14262:15;14239:22;:39::i;:::-;-1:-1:-1;;;;;14218:18:0;;;;;;:7;:18;;;;;:60;14289:16;14299:5;14289:9;:16::i;:::-;14316:23;14328:4;14334;14316:11;:23::i;:::-;14372:9;-1:-1:-1;;;;;14355:44:0;14364:6;-1:-1:-1;;;;;14355:44:0;;14383:15;14355:44;;;;;;;;;;;;;;;;;;13797:610;;;;;;;;;:::o;9193:117::-;9249:17;;9237:9;:29;9287:15;;9277:7;:25;9193:117::o;16640:257::-;16738:7;;16691;;;;5077:15;16806:20;16738:7;5077:15;16806:11;:20::i;:::-;16796:7;:30;16792:61;;;16836:7;;5077:15;16828:25;;;;;;;;16792:61;16872:7;;-1:-1:-1;16881:7:0;-1:-1:-1;16640:257:0;;;:::o;2951:223::-;3071:7;3106:12;3099:5;3091:28;;;;-1:-1:-1;;;3091:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:9;3146:1;3142;:5;;;;;;;2951:223;-1:-1:-1;;;;;2951:223:0:o;14826:615::-;14926:7;14948;14970;14992;15014;15036;15072:23;15097:12;15111:13;15141:40;15153:7;15162:9;;15173:7;;15141:11;:40::i;:::-;15071:110;;;;;;15192:19;15214:10;:8;:10::i;:::-;15192:32;;15236:15;15253:23;15278:12;15307:46;15319:7;15328:4;15334:5;15341:11;15307;:46::i;:::-;15235:118;;-1:-1:-1;15235:118:0;-1:-1:-1;15235:118:0;-1:-1:-1;15404:15:0;;-1:-1:-1;15421:4:0;;-1:-1:-1;15427:5:0;;-1:-1:-1;;;;;14826:615:0;;;;;;;:::o;2181:136::-;2239:7;2266:43;2270:1;2273;2266:43;;;;;;;;;;;;;;;;;:3;:43::i;1994:179::-;2052:7;2084:5;;;2108:6;;;;2100:46;;;;;-1:-1:-1;;;2100:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14415:211;14468:19;14490:10;:8;:10::i;:::-;14468:32;-1:-1:-1;14511:13:0;14527:22;:5;14468:32;14527:9;:22::i;:::-;14601:4;14585:22;;;;:7;:22;;;;;;14511:38;;-1:-1:-1;14585:33:0;;14511:38;14585:26;:33::i;:::-;14576:4;14560:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14415:211:0:o;14634:147::-;14712:7;;:17;;14724:4;14712:11;:17::i;:::-;14702:7;:27;14753:10;;:20;;14768:4;14753:14;:20::i;:::-;14740:10;:33;-1:-1:-1;;14634:147:0:o;15449:469::-;15618:7;;;;15712:30;15738:3;15712:21;:7;15724:8;15712:11;:21::i;:::-;:25;;:30::i;:::-;15697:45;-1:-1:-1;15753:13:0;15769:28;15793:3;15769:19;:7;15781:6;15769:11;:19::i;:28::-;15753:44;-1:-1:-1;15808:23:0;15834:28;15753:44;15834:17;:7;15846:4;15834:11;:17::i;:::-;:21;;:28::i;:::-;15808:54;15898:4;;-1:-1:-1;15904:5:0;;-1:-1:-1;15449:469:0;;-1:-1:-1;;;;;15449:469:0:o;15926:534::-;16120:7;;;;16217:24;:7;16229:11;16217;:24::i;:::-;16199:42;-1:-1:-1;16252:12:0;16267:21;:4;16276:11;16267:8;:21::i;:::-;16252:36;-1:-1:-1;16299:13:0;16315:22;:5;16325:11;16315:9;:22::i;:::-;16299:38;-1:-1:-1;16348:23:0;16374:28;16299:38;16374:17;:7;16386:4;16374:11;:17::i;:28::-;16421:7;;;;-1:-1:-1;16447:4:0;;-1:-1:-1;15926:534:0;;-1:-1:-1;;;;;;;15926:534:0:o;2557:246::-;2615:7;2639:6;2635:47;;-1:-1:-1;2669:1:0;2662:8;;2635:47;2704:5;;;2708:1;2704;:5;:1;2728:5;;;;;:10;2720:56;;;;-1:-1:-1;;;2720:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
ipfs://958060e0d5b6447d76d3b3ff78630059ebe607f3bc620f578c52d84c5a11292b
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.