Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 BNUT
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,365,910,693.276182121 BNUTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BNUT
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-03 */ /** 👣👽👣👽👣👽👣 Base Nut (pronounced beese-nuuut or beeee-nuuuut) TG: t.me/bnut_portal 👣👽👣👽👣👽👣 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance( address owner, address spender ) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } contract BNUT is IERC20, Ownable { string private constant _name = "Base Nut"; string private constant _symbol = "BNUT"; uint8 private constant _decimals = 9; uint256 private constant _totalSupply = 1000000000000 * 10 ** 9; uint256 private constant _maxFee = 30; //Highest Tax can be set uint256 public _maxTxAmount = 5000000000 * 10 ** 9; uint256 public _maxWalletSize = 5000000000 * 10 ** 9; uint256 public _swapTokensAtAmount = 100000000 * 10 ** 9; uint256 private _taxFeeOnBuy = 30; //Launch Tax - Final Buy Tax is 3 uint256 private _taxFeeOnSell = 30; //Launch Tax - Final Sell Tax is 3 mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private constant _developmentAddress = payable(0xd273961fb2D54175F6be54970Bd647FC3cDda870); address payable private constant _marketingAddress = payable(0x8e3661114F11cE9b4Cd9A4C0Ec36C574A1Cb4433); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private inSwap = false; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _balances[_msgSender()] = _totalSupply; uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); 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(), _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) { uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } _transfer(sender, recipient, amount); return true; } // private 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()) { if ( to != _marketingAddress && from != _marketingAddress && to != _developmentAddress && from != _developmentAddress ) { require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); } if ( to != uniswapV2Pair && to != _marketingAddress && from != _marketingAddress && to != _developmentAddress && from != _developmentAddress ) { require( balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!" ); } uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if ( canSwap && !inSwap && from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { _marketingAddress.transfer(address(this).balance); } } } //Transfer Tokens uint256 _taxFee = 0; if ( (_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair) ) { _taxFee = 0; } else { if (from == uniswapV2Pair && to != address(uniswapV2Router)) { _taxFee = _taxFeeOnBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, _taxFee); } 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 _tokenTransfer( address sender, address recipient, uint256 amount, uint256 tax ) private { uint256 tTeam = (amount * tax) / 100; uint256 tTransferAmount = amount - tTeam; _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + tTransferAmount; if (tTeam > 0) { _balances[address(this)] = _balances[address(this)] + tTeam; emit Transfer(sender, address(this), tTeam); } emit Transfer(sender, recipient, tTransferAmount); } // onlyOwner external function setFee( uint256 taxFeeOnBuy, uint256 taxFeeOnSell ) external onlyOwner { require(taxFeeOnBuy <= _maxFee, "Fee is too high"); require(taxFeeOnSell <= _maxFee, "Fee is too high"); _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function removeLimits() external onlyOwner { _maxTxAmount = _totalSupply; _maxWalletSize = _totalSupply; } function increaseLimits1() external onlyOwner { _maxTxAmount = 10000000000 * 10 ** 9; _maxWalletSize = 10000000000 * 10 ** 9; } function increaseLimits2() external onlyOwner { _maxTxAmount = 20000000000 * 10 ** 9; _maxWalletSize = 20000000000 * 10 ** 9; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold( uint256 swapTokensAtAmount ) external onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } function excludeMultipleAccountsFromFees( address[] calldata accounts, bool excluded ) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } // Send the current ETH balance to the marketing address function cleanContractETH() external { uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { _marketingAddress.transfer(contractETHBalance); } } // Send the current token balance to the marketing address function cleanContractTokens() external { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance > 0) { _tokenTransfer( address(this), _marketingAddress, contractTokenBalance, 0 ); } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":[],"name":"cleanContractETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cleanContractTokens","outputs":[],"stateMutability":"nonpayable","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":"increaseLimits1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseLimits2","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052674563918244f40000600181905560025567016345785d8a0000600355601e6004819055600555600a805460ff60a01b191690553480156200004557600080fd5b506200005133620002ef565b33600090815260066020908152604091829020683635c9adc5dea000009055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620000d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f791906200033f565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018091906200033f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f491906200033f565b600a80546001600160a01b0319166001600160a01b03928316179055600080549091168152600860209081526040808320805460ff19908116600190811790925530855282852080548216831790557fc60d3167607753d171bd8d606c3123a8033b25217cbd9f7c256f256847ddd7fe8054821683179055738e3661114f11ce9b4cd9a4c0ec36c574a1cb443385527f394c4de5dfc6d77384ddae25d5189649f8d6bf06fd7f95e3f3ae9989da07eb898054909116909117905551683635c9adc5dea0000081523392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000371565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200035257600080fd5b81516001600160a01b03811681146200036a57600080fd5b9392505050565b6115ab80620003816000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043c578063dd62ed3e14610451578063ed7e38aa14610497578063f2fde38b146104ac57600080fd5b8063bbb7af89146103f2578063c492f04614610407578063cf950f4a1461042757600080fd5b80637d1db4a51461033b5780638da5cb5b146103515780638f9a55c01461036f57806395d89b411461038557806398a5c315146103b2578063a9059cbb146103d257600080fd5b8063313ce56711610123578063313ce5671461027d57806349bd5a5e1461029957806352f7c988146102b957806370a08231146102db578063715018a614610311578063751039fc1461032657600080fd5b806306fdde0314610176578063095ea7b3146101b95780631694505e146101e957806318160ddd1461022157806323b872dd146102475780632fd689e31461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600881526710985cd948139d5d60c21b60208201525b6040516101b09190611250565b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046112b3565b6104cc565b60405190151581526020016101b0565b3480156101f557600080fd5b50600954610209906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101b0565b34801561025357600080fd5b506101d96102623660046112df565b6104e3565b34801561027357600080fd5b5061023960035481565b34801561028957600080fd5b50604051600981526020016101b0565b3480156102a557600080fd5b50600a54610209906001600160a01b031681565b3480156102c557600080fd5b506102d96102d4366004611320565b610590565b005b3480156102e757600080fd5b506102396102f6366004611342565b6001600160a01b031660009081526006602052604090205490565b34801561031d57600080fd5b506102d9610629565b34801561033257600080fd5b506102d961063d565b34801561034757600080fd5b5061023960015481565b34801561035d57600080fd5b506000546001600160a01b0316610209565b34801561037b57600080fd5b5061023960025481565b34801561039157600080fd5b506040805180820190915260048152631093955560e21b60208201526101a3565b3480156103be57600080fd5b506102d96103cd366004611366565b610659565b3480156103de57600080fd5b506101d96103ed3660046112b3565b610666565b3480156103fe57600080fd5b506102d9610673565b34801561041357600080fd5b506102d961042236600461137f565b61068e565b34801561043357600080fd5b506102d961070d565b34801561044857600080fd5b506102d9610729565b34801561045d57600080fd5b5061023961046c36600461140a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a357600080fd5b506102d9610763565b3480156104b857600080fd5b506102d96104c7366004611342565b6107af565b60006104d9338484610825565b5060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a8533858403610825565b610585858585610949565b506001949350505050565b610598610ec6565b601e8211156105db5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b601e81111561061e5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b600491909155600555565b610631610ec6565b61063b6000610f20565b565b610645610ec6565b683635c9adc5dea000006001819055600255565b610661610ec6565b600355565b60006104d9338484610949565b61067b610ec6565b678ac7230489e800006001819055600255565b610696610ec6565b60005b828110156107075781600860008686858181106106b8576106b8611443565b90506020020160208101906106cd9190611342565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff8161146f565b915050610699565b50505050565b610715610ec6565b6801158e460913d000006001819055600255565b3060009081526006602052604090205480156107605761076030738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433836000610f70565b50565b47801561076057604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb44339082156108fc029083906000818181858888f193505050501580156107ab573d6000803e3d6000fd5b5050565b6107b7610ec6565b6001600160a01b03811661081c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610564565b61076081610f20565b6001600160a01b0383166108875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610564565b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610564565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b6001600160a01b038216610a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b60008111610a715760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610564565b6000546001600160a01b03848116911614801590610a9d57506000546001600160a01b03838116911614155b15610dd2576001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314801590610aec57506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610b1557506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610b3e57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610b9557600154811115610b955760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610564565b600a546001600160a01b03838116911614801590610bd057506001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610bf957506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610c2257506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610c4b57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610cd65760025481610c73846001600160a01b031660009081526006602052604090205490565b610c7d9190611488565b10610cd65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610564565b306000908152600660205260409020546001548110610cf457506001545b60035481108015908190610d125750600a54600160a01b900460ff16155b8015610d2c5750600a546001600160a01b03868116911614155b8015610d5157506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7657506001600160a01b03841660009081526008602052604090205460ff16155b15610dcf57610d84826110d6565b478015610dcd57604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433904780156108fc02916000818181858888f19350505050158015610dcb573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e1157506001600160a01b03831660009081526008602052604090205460ff165b80610e435750600a546001600160a01b03858116911614801590610e435750600a546001600160a01b03848116911614155b15610e5057506000610eba565b600a546001600160a01b038581169116148015610e7b57506009546001600160a01b03848116911614155b15610e8557506004545b600a546001600160a01b038481169116148015610eb057506009546001600160a01b03858116911614155b15610eba57506005545b61070784848484610f70565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610564565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7e838561149b565b610f8891906114b2565b90506000610f9682856114d4565b6001600160a01b038716600090815260066020526040902054909150610fbd9085906114d4565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610fed908290611488565b6001600160a01b03861660009081526006602052604090205581156110815730600090815260066020526040902054611027908390611488565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c691815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111e5761111e611443565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b91906114e7565b816001815181106111ae576111ae611443565b6001600160a01b0392831660209182029290920101526009546111d49130911684610825565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120d908590600090869030904290600401611504565b600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561127d57858101830151858201604001528201611261565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076057600080fd5b600080604083850312156112c657600080fd5b82356112d18161129e565b946020939093013593505050565b6000806000606084860312156112f457600080fd5b83356112ff8161129e565b9250602084013561130f8161129e565b929592945050506040919091013590565b6000806040838503121561133357600080fd5b50508035926020909101359150565b60006020828403121561135457600080fd5b813561135f8161129e565b9392505050565b60006020828403121561137857600080fd5b5035919050565b60008060006040848603121561139457600080fd5b833567ffffffffffffffff808211156113ac57600080fd5b818601915086601f8301126113c057600080fd5b8135818111156113cf57600080fd5b8760208260051b85010111156113e457600080fd5b6020928301955093505084013580151581146113ff57600080fd5b809150509250925092565b6000806040838503121561141d57600080fd5b82356114288161129e565b915060208301356114388161129e565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161148157611481611459565b5060010190565b808201808211156104dd576104dd611459565b80820281158282048414176104dd576104dd611459565b6000826114cf57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104dd576104dd611459565b6000602082840312156114f957600080fd5b815161135f8161129e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115545784516001600160a01b03168352938301939183019160010161152f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220cdb32b504d323a1e5aa51197d69f0f85eb9db5e60bad6fcdbafff4cc1e267d4664736f6c63430008120033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043c578063dd62ed3e14610451578063ed7e38aa14610497578063f2fde38b146104ac57600080fd5b8063bbb7af89146103f2578063c492f04614610407578063cf950f4a1461042757600080fd5b80637d1db4a51461033b5780638da5cb5b146103515780638f9a55c01461036f57806395d89b411461038557806398a5c315146103b2578063a9059cbb146103d257600080fd5b8063313ce56711610123578063313ce5671461027d57806349bd5a5e1461029957806352f7c988146102b957806370a08231146102db578063715018a614610311578063751039fc1461032657600080fd5b806306fdde0314610176578063095ea7b3146101b95780631694505e146101e957806318160ddd1461022157806323b872dd146102475780632fd689e31461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600881526710985cd948139d5d60c21b60208201525b6040516101b09190611250565b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046112b3565b6104cc565b60405190151581526020016101b0565b3480156101f557600080fd5b50600954610209906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101b0565b34801561025357600080fd5b506101d96102623660046112df565b6104e3565b34801561027357600080fd5b5061023960035481565b34801561028957600080fd5b50604051600981526020016101b0565b3480156102a557600080fd5b50600a54610209906001600160a01b031681565b3480156102c557600080fd5b506102d96102d4366004611320565b610590565b005b3480156102e757600080fd5b506102396102f6366004611342565b6001600160a01b031660009081526006602052604090205490565b34801561031d57600080fd5b506102d9610629565b34801561033257600080fd5b506102d961063d565b34801561034757600080fd5b5061023960015481565b34801561035d57600080fd5b506000546001600160a01b0316610209565b34801561037b57600080fd5b5061023960025481565b34801561039157600080fd5b506040805180820190915260048152631093955560e21b60208201526101a3565b3480156103be57600080fd5b506102d96103cd366004611366565b610659565b3480156103de57600080fd5b506101d96103ed3660046112b3565b610666565b3480156103fe57600080fd5b506102d9610673565b34801561041357600080fd5b506102d961042236600461137f565b61068e565b34801561043357600080fd5b506102d961070d565b34801561044857600080fd5b506102d9610729565b34801561045d57600080fd5b5061023961046c36600461140a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a357600080fd5b506102d9610763565b3480156104b857600080fd5b506102d96104c7366004611342565b6107af565b60006104d9338484610825565b5060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a8533858403610825565b610585858585610949565b506001949350505050565b610598610ec6565b601e8211156105db5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b601e81111561061e5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b600491909155600555565b610631610ec6565b61063b6000610f20565b565b610645610ec6565b683635c9adc5dea000006001819055600255565b610661610ec6565b600355565b60006104d9338484610949565b61067b610ec6565b678ac7230489e800006001819055600255565b610696610ec6565b60005b828110156107075781600860008686858181106106b8576106b8611443565b90506020020160208101906106cd9190611342565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff8161146f565b915050610699565b50505050565b610715610ec6565b6801158e460913d000006001819055600255565b3060009081526006602052604090205480156107605761076030738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433836000610f70565b50565b47801561076057604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb44339082156108fc029083906000818181858888f193505050501580156107ab573d6000803e3d6000fd5b5050565b6107b7610ec6565b6001600160a01b03811661081c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610564565b61076081610f20565b6001600160a01b0383166108875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610564565b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610564565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b6001600160a01b038216610a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b60008111610a715760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610564565b6000546001600160a01b03848116911614801590610a9d57506000546001600160a01b03838116911614155b15610dd2576001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314801590610aec57506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610b1557506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610b3e57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610b9557600154811115610b955760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610564565b600a546001600160a01b03838116911614801590610bd057506001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610bf957506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610c2257506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610c4b57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610cd65760025481610c73846001600160a01b031660009081526006602052604090205490565b610c7d9190611488565b10610cd65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610564565b306000908152600660205260409020546001548110610cf457506001545b60035481108015908190610d125750600a54600160a01b900460ff16155b8015610d2c5750600a546001600160a01b03868116911614155b8015610d5157506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7657506001600160a01b03841660009081526008602052604090205460ff16155b15610dcf57610d84826110d6565b478015610dcd57604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433904780156108fc02916000818181858888f19350505050158015610dcb573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e1157506001600160a01b03831660009081526008602052604090205460ff165b80610e435750600a546001600160a01b03858116911614801590610e435750600a546001600160a01b03848116911614155b15610e5057506000610eba565b600a546001600160a01b038581169116148015610e7b57506009546001600160a01b03848116911614155b15610e8557506004545b600a546001600160a01b038481169116148015610eb057506009546001600160a01b03858116911614155b15610eba57506005545b61070784848484610f70565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610564565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7e838561149b565b610f8891906114b2565b90506000610f9682856114d4565b6001600160a01b038716600090815260066020526040902054909150610fbd9085906114d4565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610fed908290611488565b6001600160a01b03861660009081526006602052604090205581156110815730600090815260066020526040902054611027908390611488565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c691815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111e5761111e611443565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b91906114e7565b816001815181106111ae576111ae611443565b6001600160a01b0392831660209182029290920101526009546111d49130911684610825565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120d908590600090869030904290600401611504565b600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561127d57858101830151858201604001528201611261565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076057600080fd5b600080604083850312156112c657600080fd5b82356112d18161129e565b946020939093013593505050565b6000806000606084860312156112f457600080fd5b83356112ff8161129e565b9250602084013561130f8161129e565b929592945050506040919091013590565b6000806040838503121561133357600080fd5b50508035926020909101359150565b60006020828403121561135457600080fd5b813561135f8161129e565b9392505050565b60006020828403121561137857600080fd5b5035919050565b60008060006040848603121561139457600080fd5b833567ffffffffffffffff808211156113ac57600080fd5b818601915086601f8301126113c057600080fd5b8135818111156113cf57600080fd5b8760208260051b85010111156113e457600080fd5b6020928301955093505084013580151581146113ff57600080fd5b809150509250925092565b6000806040838503121561141d57600080fd5b82356114288161129e565b915060208301356114388161129e565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161148157611481611459565b5060010190565b808201808211156104dd576104dd611459565b80820281158282048414176104dd576104dd611459565b6000826114cf57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104dd576104dd611459565b6000602082840312156114f957600080fd5b815161135f8161129e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115545784516001600160a01b03168352938301939183019160010161152f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220cdb32b504d323a1e5aa51197d69f0f85eb9db5e60bad6fcdbafff4cc1e267d4664736f6c63430008120033
Deployed Bytecode Sourcemap
5756:9505:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:83;;;;;;;;;;-1:-1:-1;7742:5:0;;;;;;;;;;;;-1:-1:-1;;;7742:5:0;;;;7672:83;;;;;;;:::i;:::-;;;;;;;;8560:186;;;;;;;;;;-1:-1:-1;8560:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8560:186:0;1023:187:1;6821:41:0;;;;;;;;;;-1:-1:-1;6821:41:0;;;;-1:-1:-1;;;;;6821:41:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;6821:41:0;1215:228:1;7949:100:0;;;;;;;;;;-1:-1:-1;5977:23:0;7949:100;;;1594:25:1;;;1582:2;1567:18;7949:100:0;1448:177:1;8754:517:0;;;;;;;;;;-1:-1:-1;8754:517:0;;;;;:::i;:::-;;:::i;6194:56::-;;;;;;;;;;;;;;;;7858:83;;;;;;;;;;-1:-1:-1;7858:83:0;;5927:1;2233:36:1;;2221:2;2206:18;7858:83:0;2091:184:1;6869:28:0;;;;;;;;;;-1:-1:-1;6869:28:0;;;;-1:-1:-1;;;;;6869:28:0;;;13281:312;;;;;;;;;;-1:-1:-1;13281:312:0;;;;;:::i;:::-;;:::i;:::-;;8057:119;;;;;;;;;;-1:-1:-1;8057:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8150:18:0;8123:7;8150:18;;;:9;:18;;;;;;;8057:119;2128:103;;;;;;;;;;;;;:::i;13601:129::-;;;;;;;;;;;;;:::i;6078:50::-;;;;;;;;;;;;;;;;1480:87;;;;;;;;;;-1:-1:-1;1526:7:0;1553:6;-1:-1:-1;;;;;1553:6:0;1480:87;;6135:52;;;;;;;;;;;;;;;;7763:87;;;;;;;;;;-1:-1:-1;7835:7:0;;;;;;;;;;;;-1:-1:-1;;;7835:7:0;;;;7763:87;;14098:157;;;;;;;;;;-1:-1:-1;14098:157:0;;;;;:::i;:::-;;:::i;8184:192::-;;;;;;;;;;-1:-1:-1;8184:192:0;;;;;:::i;:::-;;:::i;13738:150::-;;;;;;;;;;;;;:::i;14263:262::-;;;;;;;;;;-1:-1:-1;14263:262:0;;;;;:::i;:::-;;:::i;13896:150::-;;;;;;;;;;;;;:::i;14884:337::-;;;;;;;;;;;;;:::i;8384:168::-;;;;;;;;;;-1:-1:-1;8384:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8517:18:0;;;8490:7;8517:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8384:168;14595:217;;;;;;;;;;;;;:::i;2386:238::-;;;;;;;;;;-1:-1:-1;2386:238:0;;;;;:::i;:::-;;:::i;8560:186::-;8660:4;8677:39;860:10;8700:7;8709:6;8677:8;:39::i;:::-;-1:-1:-1;8734:4:0;8560:186;;;;;:::o;8754:517::-;-1:-1:-1;;;;;8930:19:0;;8886:4;8930:19;;;:11;:19;;;;;;;;860:10;8930:33;;;;;;;;8996:26;;;;8974:116;;;;-1:-1:-1;;;8974:116:0;;4560:2:1;8974:116:0;;;4542:21:1;4599:2;4579:18;;;4572:30;4638:34;4618:18;;;4611:62;-1:-1:-1;;;4689:18:1;;;4682:38;4737:19;;8974:116:0;;;;;;;;;9126:57;9135:6;860:10;9176:6;9157:16;:25;9126:8;:57::i;:::-;9205:36;9215:6;9223:9;9234:6;9205:9;:36::i;:::-;-1:-1:-1;9259:4:0;;8754:517;-1:-1:-1;;;;8754:517:0:o;13281:312::-;1366:13;:11;:13::i;:::-;6042:2:::1;13403:11;:22;;13395:50;;;::::0;-1:-1:-1;;;13395:50:0;;4969:2:1;13395:50:0::1;::::0;::::1;4951:21:1::0;5008:2;4988:18;;;4981:30;-1:-1:-1;;;5027:18:1;;;5020:45;5082:18;;13395:50:0::1;4767:339:1::0;13395:50:0::1;6042:2;13464:12;:23;;13456:51;;;::::0;-1:-1:-1;;;13456:51:0;;4969:2:1;13456:51:0::1;::::0;::::1;4951:21:1::0;5008:2;4988:18;;;4981:30;-1:-1:-1;;;5027:18:1;;;5020:45;5082:18;;13456:51:0::1;4767:339:1::0;13456:51:0::1;13520:12;:26:::0;;;;13557:13:::1;:28:::0;13281:312::o;2128:103::-;1366:13;:11;:13::i;:::-;2193:30:::1;2220:1;2193:18;:30::i;:::-;2128:103::o:0;13601:129::-;1366:13;:11;:13::i;:::-;5977:23:::1;13655:12;:27:::0;;;13693:14:::1;:29:::0;13601:129::o;14098:157::-;1366:13;:11;:13::i;:::-;14207:19:::1;:40:::0;14098:157::o;8184:192::-;8287:4;8304:42;860:10;8328:9;8339:6;8304:9;:42::i;13738:150::-;1366:13;:11;:13::i;:::-;13810:21:::1;13795:12;:36:::0;;;13842:14:::1;:38:::0;13738:150::o;14263:262::-;1366:13;:11;:13::i;:::-;14408:9:::1;14403:115;14423:19:::0;;::::1;14403:115;;;14498:8;14464:18;:31;14483:8;;14492:1;14483:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14464:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14464:31:0;:42;;-1:-1:-1;;14464:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14444:3;::::1;::::0;::::1;:::i;:::-;;;;14403:115;;;;14263:262:::0;;;:::o;13896:150::-;1366:13;:11;:13::i;:::-;13968:21:::1;13953:12;:36:::0;;;14000:14:::1;:38:::0;13896:150::o;14884:337::-;14984:4;14935:28;8150:18;;;:9;:18;;;;;;15005:24;;15001:213;;15046:156;15087:4;6769:42;15147:20;15186:1;15046:14;:156::i;:::-;14924:297;14884:337::o;14595:217::-;14672:21;14708:22;;14704:101;;14747:46;;6769:42;;14747:46;;;;;14774:18;;14747:46;;;;14774:18;6769:42;14747:46;;;;;;;;;;;;;;;;;;;;;14632:180;14595:217::o;2386:238::-;1366:13;:11;:13::i;:::-;-1:-1:-1;;;;;2489:22:0;::::1;2467:110;;;::::0;-1:-1:-1;;;2467:110:0;;5717:2:1;2467:110:0::1;::::0;::::1;5699:21:1::0;5756:2;5736:18;;;5729:30;5795:34;5775:18;;;5768:62;-1:-1:-1;;;5846:18:1;;;5839:36;5892:19;;2467:110:0::1;5515:402:1::0;2467:110:0::1;2588:28;2607:8;2588:18;:28::i;9297:335::-:0;-1:-1:-1;;;;;9390:19:0;;9382:68;;;;-1:-1:-1;;;9382:68:0;;6124:2:1;9382:68:0;;;6106:21:1;6163:2;6143:18;;;6136:30;6202:34;6182:18;;;6175:62;-1:-1:-1;;;6253:18:1;;;6246:34;6297:19;;9382:68:0;5922:400:1;9382:68:0;-1:-1:-1;;;;;9469:21:0;;9461:68;;;;-1:-1:-1;;;9461:68:0;;6529:2:1;9461:68:0;;;6511:21:1;6568:2;6548:18;;;6541:30;6607:34;6587:18;;;6580:62;-1:-1:-1;;;6658:18:1;;;6651:32;6700:19;;9461:68:0;6327:398:1;9461:68:0;-1:-1:-1;;;;;9540:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9592:32;;1594:25:1;;;9592:32:0;;1567:18:1;9592:32:0;;;;;;;9297:335;;;:::o;9640:2502::-;-1:-1:-1;;;;;9728:18:0;;9720:68;;;;-1:-1:-1;;;9720:68:0;;6932:2:1;9720:68:0;;;6914:21:1;6971:2;6951:18;;;6944:30;7010:34;6990:18;;;6983:62;-1:-1:-1;;;7061:18:1;;;7054:35;7106:19;;9720:68:0;6730:401:1;9720:68:0;-1:-1:-1;;;;;9807:16:0;;9799:64;;;;-1:-1:-1;;;9799:64:0;;7338:2:1;9799:64:0;;;7320:21:1;7377:2;7357:18;;;7350:30;7416:34;7396:18;;;7389:62;-1:-1:-1;;;7467:18:1;;;7460:33;7510:19;;9799:64:0;7136:399:1;9799:64:0;9891:1;9882:6;:10;9874:64;;;;-1:-1:-1;;;9874:64:0;;7742:2:1;9874:64:0;;;7724:21:1;7781:2;7761:18;;;7754:30;7820:34;7800:18;;;7793:62;-1:-1:-1;;;7871:18:1;;;7864:39;7920:19;;9874:64:0;7540:405:1;9874:64:0;1526:7;1553:6;-1:-1:-1;;;;;9955:15:0;;;1553:6;;9955:15;;;;:32;;-1:-1:-1;1526:7:0;1553:6;-1:-1:-1;;;;;9974:13:0;;;1553:6;;9974:13;;9955:32;9951:1579;;;-1:-1:-1;;;;;10026:23:0;;6769:42;10026:23;;;;:69;;-1:-1:-1;;;;;;10070:25:0;;6769:42;10070:25;;10026:69;:115;;;;-1:-1:-1;;;;;;10116:25:0;;6658:42;10116:25;;10026:115;:163;;;;-1:-1:-1;;;;;;10162:27:0;;6658:42;10162:27;;10026:163;10004:299;;;10242:12;;10232:6;:22;;10224:63;;;;-1:-1:-1;;;10224:63:0;;8152:2:1;10224:63:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230;8210:18;;;8203:58;8278:18;;10224:63:0;7950:352:1;10224:63:0;10347:13;;-1:-1:-1;;;;;10341:19:0;;;10347:13;;10341:19;;;;:63;;-1:-1:-1;;;;;;10381:23:0;;6769:42;10381:23;;10341:63;:109;;;;-1:-1:-1;;;;;;10425:25:0;;6769:42;10425:25;;10341:109;:155;;;;-1:-1:-1;;;;;;10471:25:0;;6658:42;10471:25;;10341:155;:203;;;;-1:-1:-1;;;;;;10517:27:0;;6658:42;10517:27;;10341:203;10319:424;;;10634:14;;10625:6;10609:13;10619:2;-1:-1:-1;;;;;8150:18:0;8123:7;8150:18;;;:9;:18;;;;;;;8057:119;10609:13;:22;;;;:::i;:::-;:39;10579:148;;;;-1:-1:-1;;;10579:148:0;;8639:2:1;10579:148:0;;;8621:21:1;8678:2;8658:18;;;8651:30;8717:34;8697:18;;;8690:62;-1:-1:-1;;;8768:18:1;;;8761:33;8811:19;;10579:148:0;8437:399:1;10579:148:0;10806:4;10757:28;8150:18;;;:9;:18;;;;;;10857:12;;10833:36;;10829:112;;-1:-1:-1;10913:12:0;;10829:112;10996:19;;10972:43;;;;;;;11054:35;;-1:-1:-1;11083:6:0;;-1:-1:-1;;;11083:6:0;;;;11082:7;11054:35;:77;;;;-1:-1:-1;11118:13:0;;-1:-1:-1;;;;;11110:21:0;;;11118:13;;11110:21;;11054:77;:123;;;;-1:-1:-1;;;;;;11153:24:0;;;;;;:18;:24;;;;;;;;11152:25;11054:123;:167;;;;-1:-1:-1;;;;;;11199:22:0;;;;;;:18;:22;;;;;;;;11198:23;11054:167;11032:487;;;11256:38;11273:20;11256:16;:38::i;:::-;11344:21;11388:22;;11384:120;;11435:49;;6769:42;;11462:21;11435:49;;;;;;;;;11462:21;6769:42;11435:49;;;;;;;;;;;;;;;;;;;;;11384:120;11237:282;11032:487;9989:1541;;9951:1579;-1:-1:-1;;;;;11618:24:0;;11569:15;11618:24;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11646:22:0;;;;;;:18;:22;;;;;;;;11618:50;11617:115;;;-1:-1:-1;11695:13:0;;-1:-1:-1;;;;;11687:21:0;;;11695:13;;11687:21;;;;:44;;-1:-1:-1;11718:13:0;;-1:-1:-1;;;;;11712:19:0;;;11718:13;;11712:19;;11687:44;11599:482;;;-1:-1:-1;11769:1:0;11599:482;;;11829:13;;-1:-1:-1;;;;;11821:21:0;;;11829:13;;11821:21;:55;;;;-1:-1:-1;11860:15:0;;-1:-1:-1;;;;;11846:30:0;;;11860:15;;11846:30;;11821:55;11817:118;;;-1:-1:-1;11907:12:0;;11817:118;11961:13;;-1:-1:-1;;;;;11955:19:0;;;11961:13;;11955:19;:55;;;;-1:-1:-1;11994:15:0;;-1:-1:-1;;;;;11978:32:0;;;11994:15;;11978:32;;11955:55;11951:119;;;-1:-1:-1;12041:13:0;;11951:119;12093:41;12108:4;12114:2;12118:6;12126:7;12093:14;:41::i;1645:132::-;1526:7;1553:6;-1:-1:-1;;;;;1553:6:0;860:10;1709:23;1701:68;;;;-1:-1:-1;;;1701:68:0;;9043:2:1;1701:68:0;;;9025:21:1;;;9062:18;;;9055:30;9121:34;9101:18;;;9094:62;9173:18;;1701:68:0;8841:356:1;2784:191:0;2858:16;2877:6;;-1:-1:-1;;;;;2894:17:0;;;-1:-1:-1;;;;;;2894:17:0;;;;;;2927:40;;2877:6;;;;;;;2927:40;;2858:16;2927:40;2847:128;2784:191;:::o;12641:603::-;12791:13;12824:3;12808:12;12817:3;12808:6;:12;:::i;:::-;12807:20;;;;:::i;:::-;12791:36;-1:-1:-1;12838:23:0;12864:14;12791:36;12864:6;:14;:::i;:::-;-1:-1:-1;;;;;12909:17:0;;;;;;:9;:17;;;;;;12838:40;;-1:-1:-1;12909:26:0;;12929:6;;12909:26;:::i;:::-;-1:-1:-1;;;;;12889:17:0;;;;;;;:9;:17;;;;;;:46;;;;12969:20;;;;;;;:38;;12992:15;;12969:38;:::i;:::-;-1:-1:-1;;;;;12946:20:0;;;;;;:9;:20;;;;;:61;13022:9;;13018:159;;13093:4;13075:24;;;;:9;:24;;;;;;:32;;13102:5;;13075:32;:::i;:::-;13066:4;13048:24;;;;:9;:24;;;;;;;:59;;;;13127:38;;-1:-1:-1;;;;;13127:38:0;;;;;;;13159:5;1594:25:1;;1582:2;1567:18;;1448:177;13127:38:0;;;;;;;;13018:159;13209:9;-1:-1:-1;;;;;13192:44:0;13201:6;-1:-1:-1;;;;;13192:44:0;;13220:15;13192:44;;;;1594:25:1;;1582:2;1567:18;;1448:177;13192:44:0;;;;;;;;12780:464;;12641:603;;;;:::o;12150:483::-;6976:6;:13;;-1:-1:-1;;;;6976:13:0;-1:-1:-1;;;6976:13:0;;;12252:16:::1;::::0;;12266:1:::1;12252:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12252:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12252:16:0::1;12228:40;;12297:4;12279;12284:1;12279:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12279:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12323:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12323:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12279:7;;12323:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12313:4;12318:1;12313:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12313:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12388:15:::1;::::0;12356:62:::1;::::0;12373:4:::1;::::0;12388:15:::1;12406:11:::0;12356:8:::1;:62::i;:::-;12429:15;::::0;:196:::1;::::0;-1:-1:-1;;;12429:196:0;;-1:-1:-1;;;;;12429:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12510:11;;12429:15:::1;::::0;12552:4;;12579::::1;::::0;12599:15:::1;::::0;12429:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7012:6:0;:14;;-1:-1:-1;;;;7012:14:0;;;-1:-1:-1;;;;12150:483:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;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;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2488:248::-;2556:6;2564;2617:2;2605:9;2596:7;2592:23;2588:32;2585:52;;;2633:1;2630;2623:12;2585:52;-1:-1:-1;;2656:23:1;;;2726:2;2711:18;;;2698:32;;-1:-1:-1;2488:248:1:o;2741:247::-;2800:6;2853:2;2841:9;2832:7;2828:23;2824:32;2821:52;;;2869:1;2866;2859:12;2821:52;2908:9;2895:23;2927:31;2952:5;2927:31;:::i;:::-;2977:5;2741:247;-1:-1:-1;;;2741:247:1:o;2993:180::-;3052:6;3105:2;3093:9;3084:7;3080:23;3076:32;3073:52;;;3121:1;3118;3111:12;3073:52;-1:-1:-1;3144:23:1;;2993:180;-1:-1:-1;2993:180:1:o;3178:782::-;3270:6;3278;3286;3339:2;3327:9;3318:7;3314:23;3310:32;3307:52;;;3355:1;3352;3345:12;3307:52;3395:9;3382:23;3424:18;3465:2;3457:6;3454:14;3451:34;;;3481:1;3478;3471:12;3451:34;3519:6;3508:9;3504:22;3494:32;;3564:7;3557:4;3553:2;3549:13;3545:27;3535:55;;3586:1;3583;3576:12;3535:55;3626:2;3613:16;3652:2;3644:6;3641:14;3638:34;;;3668:1;3665;3658:12;3638:34;3723:7;3716:4;3706:6;3703:1;3699:14;3695:2;3691:23;3687:34;3684:47;3681:67;;;3744:1;3741;3734:12;3681:67;3775:4;3767:13;;;;-1:-1:-1;3799:6:1;-1:-1:-1;;3840:20:1;;3827:34;3897:13;;3890:21;3880:32;;3870:60;;3926:1;3923;3916:12;3870:60;3949:5;3939:15;;;3178:782;;;;;:::o;3965:388::-;4033:6;4041;4094:2;4082:9;4073:7;4069:23;4065:32;4062:52;;;4110:1;4107;4100:12;4062:52;4149:9;4136:23;4168:31;4193:5;4168:31;:::i;:::-;4218:5;-1:-1:-1;4275:2:1;4260:18;;4247:32;4288:33;4247:32;4288:33;:::i;:::-;4340:7;4330:17;;;3965:388;;;;;:::o;5111:127::-;5172:10;5167:3;5163:20;5160:1;5153:31;5203:4;5200:1;5193:15;5227:4;5224:1;5217:15;5243:127;5304:10;5299:3;5295:20;5292:1;5285:31;5335:4;5332:1;5325:15;5359:4;5356:1;5349:15;5375:135;5414:3;5435:17;;;5432:43;;5455:18;;:::i;:::-;-1:-1:-1;5502:1:1;5491:13;;5375:135::o;8307:125::-;8372:9;;;8393:10;;;8390:36;;;8406:18;;:::i;9202:168::-;9275:9;;;9306;;9323:15;;;9317:22;;9303:37;9293:71;;9344:18;;:::i;9375:217::-;9415:1;9441;9431:132;;9485:10;9480:3;9476:20;9473:1;9466:31;9520:4;9517:1;9510:15;9548:4;9545:1;9538:15;9431:132;-1:-1:-1;9577:9:1;;9375:217::o;9597:128::-;9664:9;;;9685:11;;;9682:37;;;9699:18;;:::i;9862:251::-;9932:6;9985:2;9973:9;9964:7;9960:23;9956:32;9953:52;;;10001:1;9998;9991:12;9953:52;10033:9;10027:16;10052:31;10077:5;10052:31;:::i;10118:980::-;10380:4;10428:3;10417:9;10413:19;10459:6;10448:9;10441:25;10485:2;10523:6;10518:2;10507:9;10503:18;10496:34;10566:3;10561:2;10550:9;10546:18;10539:31;10590:6;10625;10619:13;10656:6;10648;10641:22;10694:3;10683:9;10679:19;10672:26;;10733:2;10725:6;10721:15;10707:29;;10754:1;10764:195;10778:6;10775:1;10772:13;10764:195;;;10843:13;;-1:-1:-1;;;;;10839:39:1;10827:52;;10934:15;;;;10899:12;;;;10875:1;10793:9;10764:195;;;-1:-1:-1;;;;;;;11015:32:1;;;;11010:2;10995:18;;10988:60;-1:-1:-1;;;11079:3:1;11064:19;11057:35;10976:3;10118:980;-1:-1:-1;;;10118:980:1:o
Swarm Source
ipfs://cdb32b504d323a1e5aa51197d69f0f85eb9db5e60bad6fcdbafff4cc1e267d46
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.