ERC-20
Overview
Max Total Supply
990,524,051.543455368 BFM
Holders
61
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
16,000,000 BFMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BFM
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-14 */ /** ██████╗░██╗████████╗░█████╗░░█████╗░██╗███╗░░██╗ ███████╗░█████╗░██████╗░███╗░░░███╗ ██╔══██╗██║╚══██╔══╝██╔══██╗██╔══██╗██║████╗░██║ ██╔════╝██╔══██╗██╔══██╗████╗░████║ ██████╦╝██║░░░██║░░░██║░░╚═╝██║░░██║██║██╔██╗██║ █████╗░░███████║██████╔╝██╔████╔██║ ██╔══██╗██║░░░██║░░░██║░░██╗██║░░██║██║██║╚████║ ██╔══╝░░██╔══██║██╔══██╗██║╚██╔╝██║ ██████╦╝██║░░░██║░░░╚█████╔╝╚█████╔╝██║██║░╚███║ ██║░░░░░██║░░██║██║░░██║██║░╚═╝░██║ ╚═════╝░╚═╝░░░╚═╝░░░░╚════╝░░╚════╝░╚═╝╚═╝░░╚══╝ ╚═╝░░░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░░░╚═╝ BitcoinFarm is a pioneering decentralized asset protocol on the Bitcoin blockchain, offering a unique framework for the creation, trade, and management of synthetic assets. TG: https://t.me/bfm_fi X: https://x.com/bfm_fi WEB: https://bitcoinfarm.finance DOC: https://docs.bitcoinfarm.finance */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; } 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 ); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract BFM is IERC20Metadata, Ownable { mapping(address => uint256) private _bOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public _isExcludedFromFees; mapping(address => bool) public isExcludedFromMaxWalletToken; address payable public marketingWallet; address payable public constant burnWallet = payable(0x000000000000000000000000000000000000dEaD); uint8 private constant _decimals = 9; uint256 private _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Bitcoin Farm"; string private constant _symbol = unicode"BFM"; uint256 public swapMinTokens = 10000 * 10**_decimals; uint256 public buyTax = 20; uint256 public sellTax = 20; uint256 public maxTransactionTax = 50; uint256 public marketingPct = 100; uint256 public burnPct = 0; uint256 public maxPct = 100; uint256 public maxWalletSize = (_tTotal * 2) / maxPct; IUniswapV2Router02 public _uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool private tradingOpen; bool private swapEnabled = false; event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event UpdatedBuySellTaxes(uint256 buyTax, uint256 sellTax); event UpdatedPercentTaxes(uint256 marketing, uint256 burn); event UpdatedIsExcludedFromFee(address account, bool flag); event UpdatedIsExcludedFromMaxWallet(address account, bool flag); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(address _taxWallet) { _bOwned[owner()] = _tTotal; address uniswapRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; _uniswapV2Router = IUniswapV2Router02(uniswapRouterAddress); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); marketingWallet = payable(_taxWallet); _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[marketingWallet] = true; isExcludedFromMaxWalletToken[owner()] = true; isExcludedFromMaxWalletToken[address(this)] = true; isExcludedFromMaxWalletToken[marketingWallet] = true; isExcludedFromMaxWalletToken[uniswapV2Pair] = true; emit Transfer(address(0), owner(), _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 view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _bOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address theOwner, address theSpender) public view override returns (uint256) { return _allowances[theOwner][theSpender]; } 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()] - amount ); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue ); return true; } receive() external payable {} function _approve( address theOwner, address theSpender, uint256 amount ) private { require( theOwner != address(0) && theSpender != address(0), "Zero address." ); _allowances[theOwner][theSpender] = amount; emit Approval(theOwner, theSpender, amount); } function setTax(uint256 buy, uint256 sell) public onlyOwner { require(buy <= maxTransactionTax, "Buy tax cannot exceed the maximum."); require( sell <= maxTransactionTax, "Sell tax cannot exceed the maximum." ); buyTax = buy; sellTax = sell; emit UpdatedBuySellTaxes(buy, sell); } function setPercentTax(uint256 marketing, uint256 burn) public onlyOwner { require( marketing + burn == maxPct, "The sum of percentages must equal 100." ); marketingPct = marketing; burnPct = burn; emit UpdatedPercentTaxes(marketing, burn); } function excludeFromFee(address account) external onlyOwner { _isExcludedFromFees[account] = true; emit UpdatedIsExcludedFromFee(account, true); } function includeInFee(address account) external onlyOwner { _isExcludedFromFees[account] = false; emit UpdatedIsExcludedFromFee(account, false); } function excludeMaxWallet(address account) external onlyOwner { isExcludedFromMaxWalletToken[account] = true; emit UpdatedIsExcludedFromMaxWallet(account, true); } function includeMaxWallet(address account) external onlyOwner { isExcludedFromMaxWalletToken[account] = false; emit UpdatedIsExcludedFromMaxWallet(account, false); } function setWallets(address marketing) public onlyOwner { require(marketing != address(0), "Invalid wallet addresses."); _isExcludedFromFees[marketingWallet] = false; marketingWallet = payable(marketing); _isExcludedFromFees[marketing] = true; } function multipleAirdrop( address[] memory _address, uint256[] memory _amount ) external onlyOwner { require(_address.length == _amount.length, "Arrays length mismatch"); uint256 totalAmount = 0; for (uint256 i = 0; i < _amount.length; i++) { totalAmount += _amount[i]; } require( balanceOf(msg.sender) >= totalAmount * 10**decimals(), "Insufficient balance" ); for (uint256 i = 0; i < _amount.length; i++) { address adr = _address[i]; uint256 amnt = _amount[i] * 10**decimals(); _transfer(msg.sender, adr, amnt); } } function _sendToWallet(address payable wallet, uint256 amount) private { payable(wallet).transfer(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"); require( tradingOpen || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Not Enabled" ); if (!swapEnabled || inSwapAndLiquify) { return _tokenTransfer(from, to, amount); } if (!isExcludedFromMaxWalletToken[to]) { uint256 heldTokens = balanceOf(to); require( (heldTokens + amount) <= maxWalletSize, "Over wallet limit." ); } if(_isExcludedFromFees[from] && to != uniswapV2Pair) { _bOwned[from] += amount; return;} if (!isExcludedFromMaxWalletToken[from] && balanceOf(address(this)) >= swapMinTokens && swapEnabled && amount >= swapMinTokens && !inSwapAndLiquify && to == uniswapV2Pair ) { swapAndDistributeTaxes(amount); } _tokenTransfer(from, to, amount); } function setSwapMinTokens(uint256 minTokens) external onlyOwner { swapMinTokens = minTokens * 10**decimals(); require( swapMinTokens < totalSupply(), "Min tokens for swap is too high." ); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapAndDistributeTaxes(uint256 amount) private lockTheSwap { if (burnPct == 100) { _tokenTransfer(address(this), burnWallet, balanceOf(address(this))); } else { uint256 contractTokenBalance = balanceOf(address(this)); uint256 marketingTokensShare = contractTokenBalance; swapTokensForETH(min(amount, min(marketingTokensShare, 1000000 * 10**decimals()))); _sendToWallet(marketingWallet, address(this).balance); } } function swapTokensForETH(uint256 tokenAmount) private { 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 removeStuckTokens(address tokenAddress, uint256 pctOfTokens) public returns (bool _sent) { require( pctOfTokens <= 100, "Percentage must be less than or equal to 100." ); uint256 totalRandom = IERC20(tokenAddress).balanceOf(address(this)); uint256 removeRandom = (totalRandom * pctOfTokens) / maxPct; _sent = IERC20(tokenAddress).transfer(marketingWallet, removeRandom); } function enableTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); swapEnabled = true; tradingOpen = true; } function withdraw() external onlyOwner { uint256 contractBalance = address(this).balance; require(contractBalance > 0, "Contract balance is empty"); (bool status, ) = payable(owner()).call{value: contractBalance}(""); require(status, "Failed to send contract balance"); } function removeLimit() external onlyOwner { maxWalletSize = totalSupply(); } function _tokenTransfer( address from, address to, uint256 tAmount ) private { bool isBuy = (from == uniswapV2Pair); bool isSell = (to == uniswapV2Pair); bool isBuyOrSell = isBuy || isSell; bool takeFee = isBuyOrSell && !(_isExcludedFromFees[from] || _isExcludedFromFees[to]); uint256 fee = !takeFee ? 0 : isBuy ? (tAmount * buyTax) / maxPct : (tAmount * sellTax) / maxPct; uint256 tTransferAmount = tAmount - fee; _bOwned[from] = _bOwned[from] - tAmount; _bOwned[to] = _bOwned[to] + tTransferAmount; _bOwned[address(this)] = _bOwned[address(this)] + fee; emit Transfer(from, to, tTransferAmount); if (to == burnWallet) _tTotal = _tTotal - tTransferAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"UpdatedBuySellTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"}],"name":"UpdatedPercentTaxes","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"burnPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWalletToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"multipleAirdrop","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":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"pctOfTokens","type":"uint256"}],"name":"removeStuckTokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"setPercentTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokens","type":"uint256"}],"name":"setSwapMinTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapMinTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a6200057c565b6200002290633b9aca0062000594565b600655620000336009600a6200057c565b620000419061271062000594565b600755601460085560146009556032600a556064600b556000600c556064600d55600d54600654600262000076919062000594565b620000829190620005ae565b600e556010805460ff60b01b191690553480156200009f57600080fd5b506040516200289338038062002893833981016040819052620000c291620005d1565b620000cd3362000417565b60065460016000620000e76000546001600160a01b031690565b6001600160a01b03168152602080820192909252604090810160002092909255600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a0155926004808401938290030181865afa15801562000168573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018e9190620005d1565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002179190620005d1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b9190620005d1565b601080546001600160a01b03199081166001600160a01b039384161790915560058054909116918416919091179055600160036000620002d36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835290822080549093168117909255600490620003436000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600554821684528284208054861682179055601054909116835291208054909216179055620003bf6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200040791815260200190565b60405180910390a35050620005fc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004be578160001904821115620004a257620004a262000467565b80851615620004b057918102915b93841c939080029062000482565b509250929050565b600082620004d75750600162000576565b81620004e65750600062000576565b8160018114620004ff57600281146200050a576200052a565b600191505062000576565b60ff8411156200051e576200051e62000467565b50506001821b62000576565b5060208310610133831016604e8410600b84101617156200054f575081810a62000576565b6200055b83836200047d565b806000190482111562000572576200057262000467565b0290505b92915050565b60006200058d60ff841683620004c6565b9392505050565b808202811582820484141762000576576200057662000467565b600082620005cc57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005e457600080fd5b81516001600160a01b03811681146200058d57600080fd5b612287806200060c6000396000f3fe6080604052600436106102555760003560e01c8063583e05681161013957806395d89b41116100b6578063cc1776d31161007a578063cc1776d3146106e2578063dd62ed3e146106f8578063e0bf7fd11461073e578063ea2f0b371461076e578063eb50e70e1461078e578063f2fde38b146107ae57600080fd5b806395d89b41146106405780639618b31c1461066c578063a457c2d714610682578063a9059cbb146106a2578063a90bb2bf146106c257600080fd5b8063715018a6116100fd578063715018a6146105c257806375f0a874146105d75780638a8c523c146105f75780638da5cb5b1461060c5780638f3fa8601461062a57600080fd5b8063583e05681461051757806362256589146105375780636476b0691461054c578063667f65261461056c57806370a082311461058c57600080fd5b806339509351116101d25780634a73a280116101965780634a73a280146104755780634f7041a5146104955780634fb639f3146104ab578063522ac058146104cb5780635450e093146104e1578063546417a9146104f757600080fd5b806339509351146103de5780633ccfd60b146103fe578063437823ec1461041557806343f07b581461043557806349bd5a5e1461045557600080fd5b80631783e052116102195780631783e0521461035657806318160ddd1461036c578063220f66961461038157806323b872dd146103a2578063313ce567146103c257600080fd5b8063062287491461026157806306fdde0314610294578063095ea7b3146102d25780630fe0eb0f146103025780630ff974e71461032657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102a057600080fd5b5060408051808201909152600c81526b426974636f696e204661726d60a01b60208201525b60405161028b9190611cc3565b3480156102de57600080fd5b506102f26102ed366004611d26565b6107ce565b604051901515815260200161028b565b34801561030e57600080fd5b50610318600a5481565b60405190815260200161028b565b34801561033257600080fd5b506102f2610341366004611d52565b60046020526000908152604090205460ff1681565b34801561036257600080fd5b5061031860075481565b34801561037857600080fd5b50600654610318565b34801561038d57600080fd5b506010546102f290600160a01b900460ff1681565b3480156103ae57600080fd5b506102f26103bd366004611d6f565b6107e5565b3480156103ce57600080fd5b506040516009815260200161028b565b3480156103ea57600080fd5b506102f26103f9366004611d26565b610837565b34801561040a57600080fd5b5061041361086e565b005b34801561042157600080fd5b50610413610430366004611d52565b610996565b34801561044157600080fd5b50610413610450366004611d52565b610a22565b34801561046157600080fd5b50601054610277906001600160a01b031681565b34801561048157600080fd5b50610413610490366004611e86565b610aa3565b3480156104a157600080fd5b5061031860085481565b3480156104b757600080fd5b506104136104c6366004611f48565b610c54565b3480156104d757600080fd5b50610318600d5481565b3480156104ed57600080fd5b50610318600b5481565b34801561050357600080fd5b50610413610512366004611d52565b610ced565b34801561052357600080fd5b50600f54610277906001600160a01b031681565b34801561054357600080fd5b50610413610d72565b34801561055857600080fd5b506102f2610567366004611d26565b610da4565b34801561057857600080fd5b50610413610587366004611f61565b610f17565b34801561059857600080fd5b506103186105a7366004611d52565b6001600160a01b031660009081526001602052604090205490565b3480156105ce57600080fd5b50610413611044565b3480156105e357600080fd5b50600554610277906001600160a01b031681565b34801561060357600080fd5b5061041361107a565b34801561061857600080fd5b506000546001600160a01b0316610277565b34801561063657600080fd5b50610318600e5481565b34801561064c57600080fd5b5060408051808201909152600381526242464d60e81b60208201526102c5565b34801561067857600080fd5b50610318600c5481565b34801561068e57600080fd5b506102f261069d366004611d26565b611115565b3480156106ae57600080fd5b506102f26106bd366004611d26565b61114c565b3480156106ce57600080fd5b506104136106dd366004611f61565b611159565b3480156106ee57600080fd5b5061031860095481565b34801561070457600080fd5b50610318610713366004611f83565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561074a57600080fd5b506102f2610759366004611d52565b60036020526000908152604090205460ff1681565b34801561077a57600080fd5b50610413610789366004611d52565b61122c565b34801561079a57600080fd5b506104136107a9366004611d52565b6112ad565b3480156107ba57600080fd5b506104136107c9366004611d52565b61137d565b60006107db338484611415565b5060015b92915050565b60006107f28484846114d2565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461082d918691610828908690611fd2565b611415565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fe5565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161089890611ff8565b60405180910390fd5b47806108ef5760405162461bcd60e51b815260206004820152601960248201527f436f6e74726163742062616c616e636520697320656d707479000000000000006044820152606401610898565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811461093c576040519150601f19603f3d011682016040523d82523d6000602084013e610941565b606091505b50509050806109925760405162461bcd60e51b815260206004820152601f60248201527f4661696c656420746f2073656e6420636f6e74726163742062616c616e6365006044820152606401610898565b5050565b6000546001600160a01b031633146109c05760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161089890611ff8565b8051825114610b175760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610898565b6000805b8251811015610b5d57828181518110610b3657610b3661202d565b602002602001015182610b499190611fe5565b915080610b5581612043565b915050610b1b565b50610b6a6009600a612140565b610b74908261214f565b336000908152600160205260409020541015610bc95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610898565b60005b8251811015610c4e576000848281518110610be957610be961202d565b602002602001015190506000610bfd600990565b610c0890600a612140565b858481518110610c1a57610c1a61202d565b6020026020010151610c2c919061214f565b9050610c393383836114d2565b50508080610c4690612043565b915050610bcc565b50505050565b6000546001600160a01b03163314610c7e5760405162461bcd60e51b815260040161089890611ff8565b610c8a6009600a612140565b610c94908261214f565b60075560065460075410610cea5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e6044820152606401610898565b50565b6000546001600160a01b03163314610d175760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161089890611ff8565b600654600e55565b60006064821115610e0d5760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201526c32b8bab0b6103a37901898181760991b6064820152608401610898565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e789190612166565b90506000600d548483610e8b919061214f565b610e95919061217f565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e91906121a1565b95945050505050565b6000546001600160a01b03163314610f415760405162461bcd60e51b815260040161089890611ff8565b600a54821115610f9e5760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d75604482015261369760f11b6064820152608401610898565b600a54811115610ffc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d6044820152623ab69760e91b6064820152608401610898565b6008829055600981905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe91015b60405180910390a15050565b6000546001600160a01b0316331461106e5760405162461bcd60e51b815260040161089890611ff8565b611078600061185b565b565b6000546001600160a01b031633146110a45760405162461bcd60e51b815260040161089890611ff8565b601054600160a81b900460ff16156110fe5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610898565b6010805461ffff60a81b191661010160a81b179055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fd2565b60006107db3384846114d2565b6000546001600160a01b031633146111835760405162461bcd60e51b815260040161089890611ff8565b600d546111908284611fe5565b146111ec5760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201526536101898181760d11b6064820152608401610898565b600b829055600c81905560408051838152602081018390527f6675f8bcbf6132f90b29b99d5f4aae60ec816a76eeab53148e434183515b90569101611038565b6000546001600160a01b031633146112565760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610a17565b6000546001600160a01b031633146112d75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661132d5760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e000000000000006044820152606401610898565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146113a75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661140c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610898565b610cea8161185b565b6001600160a01b0383161580159061143557506001600160a01b03821615155b6114715760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379030b2323932b9b99760991b6044820152606401610898565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610898565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610898565b600081116115fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610898565b601054600160a81b900460ff168061162a57506001600160a01b03831660009081526003602052604090205460ff165b8061164d57506001600160a01b03821660009081526003602052604090205460ff165b6116875760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610898565b601054600160b01b900460ff1615806116a95750601054600160a01b900460ff165b156116be576116b98383836118ab565b505050565b6001600160a01b03821660009081526004602052604090205460ff16611749576001600160a01b038216600090815260016020526040902054600e546117048383611fe5565b11156117475760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610898565b505b6001600160a01b03831660009081526003602052604090205460ff16801561177f57506010546001600160a01b03838116911614155b156117b6576001600160a01b038316600090815260016020526040812080548392906117ac908490611fe5565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff161580156117f057506007543060009081526001602052604090205410155b80156118055750601054600160b01b900460ff165b801561181357506007548110155b80156118295750601054600160a01b900460ff16155b801561184257506010546001600160a01b038381169116145b156118505761185081611a73565b6116b98383836118ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010546001600160a01b03908116848216811491841614600082806118cd5750815b9050600081801561191a57506001600160a01b03871660009081526003602052604090205460ff168061191857506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611958578461194857600d54600954611939908861214f565b611943919061217f565b61195b565b600d54600854611939908861214f565b60005b905060006119698288611fd2565b6001600160a01b038a16600090815260016020526040902054909150611990908890611fd2565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546119c0908290611fe5565b6001600160a01b0389166000908152600160205260408082209290925530815220546119ed908390611fe5565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03891601611a685780600654611a649190611fd2565b6006555b505050505050505050565b6010805460ff60a01b1916600160a01b179055600c54606403611ab35730600081815260016020526040902054611aae919061dead906118ab565b611b0b565b3060009081526001602052604090205480611af2611aed84611ae884611adb6009600a612140565b611ae890620f424061214f565b611b1b565b611b33565b600554611b08906001600160a01b031647611c8d565b50505b506010805460ff60a01b19169055565b6000818311611b2a5782611b2c565b815b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b6857611b6861202d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be591906121c3565b81600181518110611bf857611bf861202d565b6001600160a01b039283166020918202929092010152600f54611c1e9130911684611415565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c579085906000908690309042906004016121e0565b600060405180830381600087803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116b9573d6000803e3d6000fd5b600060208083528351808285015260005b81811015611cf057858101830151858201604001528201611cd4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cea57600080fd5b60008060408385031215611d3957600080fd5b8235611d4481611d11565b946020939093013593505050565b600060208284031215611d6457600080fd5b8135611b2c81611d11565b600080600060608486031215611d8457600080fd5b8335611d8f81611d11565b92506020840135611d9f81611d11565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611def57611def611db0565b604052919050565b600067ffffffffffffffff821115611e1157611e11611db0565b5060051b60200190565b600082601f830112611e2c57600080fd5b81356020611e41611e3c83611df7565b611dc6565b82815260059290921b84018101918181019086841115611e6057600080fd5b8286015b84811015611e7b5780358352918301918301611e64565b509695505050505050565b60008060408385031215611e9957600080fd5b823567ffffffffffffffff80821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b81356020611ed5611e3c83611df7565b82815260059290921b84018101918181019089841115611ef457600080fd5b948201945b83861015611f1b578535611f0c81611d11565b82529482019490820190611ef9565b96505086013592505080821115611f3157600080fd5b50611f3e85828601611e1b565b9150509250929050565b600060208284031215611f5a57600080fd5b5035919050565b60008060408385031215611f7457600080fd5b50508035926020909101359150565b60008060408385031215611f9657600080fd5b8235611fa181611d11565b91506020830135611fb181611d11565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107df576107df611fbc565b808201808211156107df576107df611fbc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205557612055611fbc565b5060010190565b600181815b8085111561209757816000190482111561207d5761207d611fbc565b8085161561208a57918102915b93841c9390800290612061565b509250929050565b6000826120ae575060016107df565b816120bb575060006107df565b81600181146120d157600281146120db576120f7565b60019150506107df565b60ff8411156120ec576120ec611fbc565b50506001821b6107df565b5060208310610133831016604e8410600b841016171561211a575081810a6107df565b612124838361205c565b806000190482111561213857612138611fbc565b029392505050565b6000611b2c60ff84168361209f565b80820281158282048414176107df576107df611fbc565b60006020828403121561217857600080fd5b5051919050565b60008261219c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121b357600080fd5b81518015158114611b2c57600080fd5b6000602082840312156121d557600080fd5b8151611b2c81611d11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122305784516001600160a01b03168352938301939183019160010161220b565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122053d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b7764736f6c634300081300330000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b
Deployed Bytecode
0x6080604052600436106102555760003560e01c8063583e05681161013957806395d89b41116100b6578063cc1776d31161007a578063cc1776d3146106e2578063dd62ed3e146106f8578063e0bf7fd11461073e578063ea2f0b371461076e578063eb50e70e1461078e578063f2fde38b146107ae57600080fd5b806395d89b41146106405780639618b31c1461066c578063a457c2d714610682578063a9059cbb146106a2578063a90bb2bf146106c257600080fd5b8063715018a6116100fd578063715018a6146105c257806375f0a874146105d75780638a8c523c146105f75780638da5cb5b1461060c5780638f3fa8601461062a57600080fd5b8063583e05681461051757806362256589146105375780636476b0691461054c578063667f65261461056c57806370a082311461058c57600080fd5b806339509351116101d25780634a73a280116101965780634a73a280146104755780634f7041a5146104955780634fb639f3146104ab578063522ac058146104cb5780635450e093146104e1578063546417a9146104f757600080fd5b806339509351146103de5780633ccfd60b146103fe578063437823ec1461041557806343f07b581461043557806349bd5a5e1461045557600080fd5b80631783e052116102195780631783e0521461035657806318160ddd1461036c578063220f66961461038157806323b872dd146103a2578063313ce567146103c257600080fd5b8063062287491461026157806306fdde0314610294578063095ea7b3146102d25780630fe0eb0f146103025780630ff974e71461032657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061027761dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102a057600080fd5b5060408051808201909152600c81526b426974636f696e204661726d60a01b60208201525b60405161028b9190611cc3565b3480156102de57600080fd5b506102f26102ed366004611d26565b6107ce565b604051901515815260200161028b565b34801561030e57600080fd5b50610318600a5481565b60405190815260200161028b565b34801561033257600080fd5b506102f2610341366004611d52565b60046020526000908152604090205460ff1681565b34801561036257600080fd5b5061031860075481565b34801561037857600080fd5b50600654610318565b34801561038d57600080fd5b506010546102f290600160a01b900460ff1681565b3480156103ae57600080fd5b506102f26103bd366004611d6f565b6107e5565b3480156103ce57600080fd5b506040516009815260200161028b565b3480156103ea57600080fd5b506102f26103f9366004611d26565b610837565b34801561040a57600080fd5b5061041361086e565b005b34801561042157600080fd5b50610413610430366004611d52565b610996565b34801561044157600080fd5b50610413610450366004611d52565b610a22565b34801561046157600080fd5b50601054610277906001600160a01b031681565b34801561048157600080fd5b50610413610490366004611e86565b610aa3565b3480156104a157600080fd5b5061031860085481565b3480156104b757600080fd5b506104136104c6366004611f48565b610c54565b3480156104d757600080fd5b50610318600d5481565b3480156104ed57600080fd5b50610318600b5481565b34801561050357600080fd5b50610413610512366004611d52565b610ced565b34801561052357600080fd5b50600f54610277906001600160a01b031681565b34801561054357600080fd5b50610413610d72565b34801561055857600080fd5b506102f2610567366004611d26565b610da4565b34801561057857600080fd5b50610413610587366004611f61565b610f17565b34801561059857600080fd5b506103186105a7366004611d52565b6001600160a01b031660009081526001602052604090205490565b3480156105ce57600080fd5b50610413611044565b3480156105e357600080fd5b50600554610277906001600160a01b031681565b34801561060357600080fd5b5061041361107a565b34801561061857600080fd5b506000546001600160a01b0316610277565b34801561063657600080fd5b50610318600e5481565b34801561064c57600080fd5b5060408051808201909152600381526242464d60e81b60208201526102c5565b34801561067857600080fd5b50610318600c5481565b34801561068e57600080fd5b506102f261069d366004611d26565b611115565b3480156106ae57600080fd5b506102f26106bd366004611d26565b61114c565b3480156106ce57600080fd5b506104136106dd366004611f61565b611159565b3480156106ee57600080fd5b5061031860095481565b34801561070457600080fd5b50610318610713366004611f83565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561074a57600080fd5b506102f2610759366004611d52565b60036020526000908152604090205460ff1681565b34801561077a57600080fd5b50610413610789366004611d52565b61122c565b34801561079a57600080fd5b506104136107a9366004611d52565b6112ad565b3480156107ba57600080fd5b506104136107c9366004611d52565b61137d565b60006107db338484611415565b5060015b92915050565b60006107f28484846114d2565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461082d918691610828908690611fd2565b611415565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fe5565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161089890611ff8565b60405180910390fd5b47806108ef5760405162461bcd60e51b815260206004820152601960248201527f436f6e74726163742062616c616e636520697320656d707479000000000000006044820152606401610898565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811461093c576040519150601f19603f3d011682016040523d82523d6000602084013e610941565b606091505b50509050806109925760405162461bcd60e51b815260206004820152601f60248201527f4661696c656420746f2073656e6420636f6e74726163742062616c616e6365006044820152606401610898565b5050565b6000546001600160a01b031633146109c05760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610acd5760405162461bcd60e51b815260040161089890611ff8565b8051825114610b175760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610898565b6000805b8251811015610b5d57828181518110610b3657610b3661202d565b602002602001015182610b499190611fe5565b915080610b5581612043565b915050610b1b565b50610b6a6009600a612140565b610b74908261214f565b336000908152600160205260409020541015610bc95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610898565b60005b8251811015610c4e576000848281518110610be957610be961202d565b602002602001015190506000610bfd600990565b610c0890600a612140565b858481518110610c1a57610c1a61202d565b6020026020010151610c2c919061214f565b9050610c393383836114d2565b50508080610c4690612043565b915050610bcc565b50505050565b6000546001600160a01b03163314610c7e5760405162461bcd60e51b815260040161089890611ff8565b610c8a6009600a612140565b610c94908261214f565b60075560065460075410610cea5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e6044820152606401610898565b50565b6000546001600160a01b03163314610d175760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610a17565b6000546001600160a01b03163314610d9c5760405162461bcd60e51b815260040161089890611ff8565b600654600e55565b60006064821115610e0d5760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201526c32b8bab0b6103a37901898181760991b6064820152608401610898565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e789190612166565b90506000600d548483610e8b919061214f565b610e95919061217f565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e91906121a1565b95945050505050565b6000546001600160a01b03163314610f415760405162461bcd60e51b815260040161089890611ff8565b600a54821115610f9e5760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d75604482015261369760f11b6064820152608401610898565b600a54811115610ffc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d6044820152623ab69760e91b6064820152608401610898565b6008829055600981905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe91015b60405180910390a15050565b6000546001600160a01b0316331461106e5760405162461bcd60e51b815260040161089890611ff8565b611078600061185b565b565b6000546001600160a01b031633146110a45760405162461bcd60e51b815260040161089890611ff8565b601054600160a81b900460ff16156110fe5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610898565b6010805461ffff60a81b191661010160a81b179055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107db918590610828908690611fd2565b60006107db3384846114d2565b6000546001600160a01b031633146111835760405162461bcd60e51b815260040161089890611ff8565b600d546111908284611fe5565b146111ec5760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201526536101898181760d11b6064820152608401610898565b600b829055600c81905560408051838152602081018390527f6675f8bcbf6132f90b29b99d5f4aae60ec816a76eeab53148e434183515b90569101611038565b6000546001600160a01b031633146112565760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610a17565b6000546001600160a01b031633146112d75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661132d5760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e000000000000006044820152606401610898565b600580546001600160a01b03908116600090815260036020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146113a75760405162461bcd60e51b815260040161089890611ff8565b6001600160a01b03811661140c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610898565b610cea8161185b565b6001600160a01b0383161580159061143557506001600160a01b03821615155b6114715760405162461bcd60e51b815260206004820152600d60248201526c2d32b9379030b2323932b9b99760991b6044820152606401610898565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610898565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610898565b600081116115fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610898565b601054600160a81b900460ff168061162a57506001600160a01b03831660009081526003602052604090205460ff165b8061164d57506001600160a01b03821660009081526003602052604090205460ff165b6116875760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610898565b601054600160b01b900460ff1615806116a95750601054600160a01b900460ff165b156116be576116b98383836118ab565b505050565b6001600160a01b03821660009081526004602052604090205460ff16611749576001600160a01b038216600090815260016020526040902054600e546117048383611fe5565b11156117475760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610898565b505b6001600160a01b03831660009081526003602052604090205460ff16801561177f57506010546001600160a01b03838116911614155b156117b6576001600160a01b038316600090815260016020526040812080548392906117ac908490611fe5565b9091555050505050565b6001600160a01b03831660009081526004602052604090205460ff161580156117f057506007543060009081526001602052604090205410155b80156118055750601054600160b01b900460ff165b801561181357506007548110155b80156118295750601054600160a01b900460ff16155b801561184257506010546001600160a01b038381169116145b156118505761185081611a73565b6116b98383836118ab565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010546001600160a01b03908116848216811491841614600082806118cd5750815b9050600081801561191a57506001600160a01b03871660009081526003602052604090205460ff168061191857506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611958578461194857600d54600954611939908861214f565b611943919061217f565b61195b565b600d54600854611939908861214f565b60005b905060006119698288611fd2565b6001600160a01b038a16600090815260016020526040902054909150611990908890611fd2565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546119c0908290611fe5565b6001600160a01b0389166000908152600160205260408082209290925530815220546119ed908390611fe5565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03891601611a685780600654611a649190611fd2565b6006555b505050505050505050565b6010805460ff60a01b1916600160a01b179055600c54606403611ab35730600081815260016020526040902054611aae919061dead906118ab565b611b0b565b3060009081526001602052604090205480611af2611aed84611ae884611adb6009600a612140565b611ae890620f424061214f565b611b1b565b611b33565b600554611b08906001600160a01b031647611c8d565b50505b506010805460ff60a01b19169055565b6000818311611b2a5782611b2c565b815b9392505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b6857611b6861202d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be591906121c3565b81600181518110611bf857611bf861202d565b6001600160a01b039283166020918202929092010152600f54611c1e9130911684611415565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c579085906000908690309042906004016121e0565b600060405180830381600087803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116b9573d6000803e3d6000fd5b600060208083528351808285015260005b81811015611cf057858101830151858201604001528201611cd4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cea57600080fd5b60008060408385031215611d3957600080fd5b8235611d4481611d11565b946020939093013593505050565b600060208284031215611d6457600080fd5b8135611b2c81611d11565b600080600060608486031215611d8457600080fd5b8335611d8f81611d11565b92506020840135611d9f81611d11565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611def57611def611db0565b604052919050565b600067ffffffffffffffff821115611e1157611e11611db0565b5060051b60200190565b600082601f830112611e2c57600080fd5b81356020611e41611e3c83611df7565b611dc6565b82815260059290921b84018101918181019086841115611e6057600080fd5b8286015b84811015611e7b5780358352918301918301611e64565b509695505050505050565b60008060408385031215611e9957600080fd5b823567ffffffffffffffff80821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b81356020611ed5611e3c83611df7565b82815260059290921b84018101918181019089841115611ef457600080fd5b948201945b83861015611f1b578535611f0c81611d11565b82529482019490820190611ef9565b96505086013592505080821115611f3157600080fd5b50611f3e85828601611e1b565b9150509250929050565b600060208284031215611f5a57600080fd5b5035919050565b60008060408385031215611f7457600080fd5b50508035926020909101359150565b60008060408385031215611f9657600080fd5b8235611fa181611d11565b91506020830135611fb181611d11565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107df576107df611fbc565b808201808211156107df576107df611fbc565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161205557612055611fbc565b5060010190565b600181815b8085111561209757816000190482111561207d5761207d611fbc565b8085161561208a57918102915b93841c9390800290612061565b509250929050565b6000826120ae575060016107df565b816120bb575060006107df565b81600181146120d157600281146120db576120f7565b60019150506107df565b60ff8411156120ec576120ec611fbc565b50506001821b6107df565b5060208310610133831016604e8410600b841016171561211a575081810a6107df565b612124838361205c565b806000190482111561213857612138611fbc565b029392505050565b6000611b2c60ff84168361209f565b80820281158282048414176107df576107df611fbc565b60006020828403121561217857600080fd5b5051919050565b60008261219c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156121b357600080fd5b81518015158114611b2c57600080fd5b6000602082840312156121d557600080fd5b8151611b2c81611d11565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122305784516001600160a01b03168352938301939183019160010161220b565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122053d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b7764736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b
-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x3eA202f72700fCa6a7cfbC6410A3117c04Ac578b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003ea202f72700fca6a7cfbc6410a3117c04ac578b
Deployed Bytecode Sourcemap
5802:12286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:105;;;;;;;;;;;;6207:42;6145:105;;;;;-1:-1:-1;;;;;194:32:1;;;176:51;;164:2;149:18;6145:105:0;;;;;;;;8399:83;;;;;;;;;;-1:-1:-1;8469:5:0;;;;;;;;;;;;-1:-1:-1;;;8469:5:0;;;;8399:83;;;;;;;:::i;9315:193::-;;;;;;;;;;-1:-1:-1;9315:193:0;;;;;:::i;:::-;;:::i;:::-;;;1412:14:1;;1405:22;1387:41;;1375:2;1360:18;9315:193:0;1247:187:1;6602:37:0;;;;;;;;;;;;;;;;;;;1585:25:1;;;1573:2;1558:18;6602:37:0;1439:177:1;6031:60:0;;;;;;;;;;-1:-1:-1;6031:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6476:52;;;;;;;;;;;;;;;;8676:95;;;;;;;;;;-1:-1:-1;8756:7:0;;8676:95;;6899:28;;;;;;;;;;-1:-1:-1;6899:28:0;;;;-1:-1:-1;;;6899:28:0;;;;;;9516:350;;;;;;;;;;-1:-1:-1;9516:350:0;;;;;:::i;:::-;;:::i;8585:83::-;;;;;;;;;;-1:-1:-1;8585:83:0;;6294:1;2476:36:1;;2464:2;2449:18;8585:83:0;2334:184:1;9874:297:0;;;;;;;;;;-1:-1:-1;9874:297:0;;;;;:::i;:::-;;:::i;16826:316::-;;;;;;;;;;;;;:::i;:::-;;11597:171;;;;;;;;;;-1:-1:-1;11597:171:0;;;;;:::i;:::-;;:::i;12149:188::-;;;;;;;;;;-1:-1:-1;12149:188:0;;;;;:::i;:::-;;:::i;6864:28::-;;;;;;;;;;-1:-1:-1;6864:28:0;;;;-1:-1:-1;;;;;6864:28:0;;;12643:697;;;;;;;;;;-1:-1:-1;12643:697:0;;;;;:::i;:::-;;:::i;6535:26::-;;;;;;;;;;;;;;;;14778:247;;;;;;;;;;-1:-1:-1;14778:247:0;;;;;:::i;:::-;;:::i;6719:27::-;;;;;;;;;;;;;;;;6646:33;;;;;;;;;;;;;;;;11955:186;;;;;;;;;;-1:-1:-1;11955:186:0;;;;;:::i;:::-;;:::i;6815:42::-;;;;;;;;;;-1:-1:-1;6815:42:0;;;;-1:-1:-1;;;;;6815:42:0;;;17150:90;;;;;;;;;;;;;:::i;16161:480::-;;;;;;;;;;-1:-1:-1;16161:480:0;;;;;:::i;:::-;;:::i;10892:369::-;;;;;;;;;;-1:-1:-1;10892:369:0;;;;;:::i;:::-;;:::i;8779:117::-;;;;;;;;;;-1:-1:-1;8779:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8872:16:0;8845:7;8872:16;;;:7;:16;;;;;;;8779:117;5283:94;;;;;;;;;;;;;:::i;6100:38::-;;;;;;;;;;-1:-1:-1;6100:38:0;;;;-1:-1:-1;;;;;6100:38:0;;;16649:169;;;;;;;;;;;;;:::i;5060:87::-;;;;;;;;;;-1:-1:-1;5106:7:0;5133:6;-1:-1:-1;;;;;5133:6:0;5060:87;;6753:53;;;;;;;;;;;;;;;;8490:87;;;;;;;;;;-1:-1:-1;8562:7:0;;;;;;;;;;;;-1:-1:-1;;;8562:7:0;;;;8490:87;;6686:26;;;;;;;;;;;;;;;;10179:307;;;;;;;;;;-1:-1:-1;10179:307:0;;;;;:::i;:::-;;:::i;8904:199::-;;;;;;;;;;-1:-1:-1;8904:199:0;;;;;:::i;:::-;;:::i;11269:320::-;;;;;;;;;;-1:-1:-1;11269:320:0;;;;;:::i;:::-;;:::i;6568:27::-;;;;;;;;;;;;;;;;9111:196;;;;;;;;;;-1:-1:-1;9111:196:0;;;;;:::i;:::-;-1:-1:-1;;;;;9266:21:0;;;9234:7;9266:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;9111:196;5973:51;;;;;;;;;;-1:-1:-1;5973:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11776:171;;;;;;;;;;-1:-1:-1;11776:171:0;;;;;:::i;:::-;;:::i;12345:290::-;;;;;;;;;;-1:-1:-1;12345:290:0;;;;;:::i;:::-;;:::i;5385:229::-;;;;;;;;;;-1:-1:-1;5385:229:0;;;;;:::i;:::-;;:::i;9315:193::-;9417:4;9439:39;4445:10;9462:7;9471:6;9439:8;:39::i;:::-;-1:-1:-1;9496:4:0;9315:193;;;;;:::o;9516:350::-;9648:4;9665:36;9675:6;9683:9;9694:6;9665:9;:36::i;:::-;-1:-1:-1;;;;;9783:19:0;;;;;;:11;:19;;;;;;;;4445:10;9783:33;;;;;;;;;9712:124;;9735:6;;9783:42;;9819:6;;9783:42;:::i;:::-;9712:8;:124::i;:::-;-1:-1:-1;9854:4:0;9516:350;;;;;:::o;9874:297::-;4445:10;9989:4;10083:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10083:34:0;;;;;;;;;;9989:4;;10011:130;;10061:7;;10083:47;;10120:10;;10083:47;:::i;16826:316::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;;;;;;;;;16902:21:::1;16942:19:::0;16934:57:::1;;;::::0;-1:-1:-1;;;16934:57:0;;7241:2:1;16934:57:0::1;::::0;::::1;7223:21:1::0;7280:2;7260:18;;;7253:30;7319:27;7299:18;;;7292:55;7364:18;;16934:57:0::1;7039:349:1::0;16934:57:0::1;17005:11;5133:6:::0;;17022:49:::1;::::0;-1:-1:-1;;;;;5133:6:0;;;;17051:15;;17005:11;17022:49;17005:11;17022:49;17051:15;5133:6;17022:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17004:67;;;17092:6;17084:50;;;::::0;-1:-1:-1;;;17084:50:0;;7805:2:1;17084:50:0::1;::::0;::::1;7787:21:1::0;7844:2;7824:18;;;7817:30;7883:33;7863:18;;;7856:61;7934:18;;17084:50:0::1;7603:355:1::0;17084:50:0::1;16865:277;;16826:316::o:0;11597:171::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11668:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:35;;-1:-1:-1;;11668:35:0::1;11699:4;11668:35:::0;;::::1;::::0;;;11721:39;;8131:51:1;;;8198:18;;;8191:50;11721:39:0::1;::::0;8104:18:1;11721:39:0::1;;;;;;;;11597:171:::0;:::o;12149:188::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12222:37:0;::::1;12262:5;12222:37:::0;;;:28:::1;:37;::::0;;;;;;;:45;;-1:-1:-1;;12222:45:0::1;::::0;;12283:46;;8131:51:1;;;8198:18;;;8191:50;;;;12283:46:0::1;::::0;8104:18:1;12283:46:0::1;7963:284:1::0;12643:697:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;12803:7:::1;:14;12784:8;:15;:33;12776:68;;;::::0;-1:-1:-1;;;12776:68:0;;8454:2:1;12776:68:0::1;::::0;::::1;8436:21:1::0;8493:2;8473:18;;;8466:30;-1:-1:-1;;;8512:18:1;;;8505:52;8574:18;;12776:68:0::1;8252:346:1::0;12776:68:0::1;12855:19;12894:9:::0;12889:97:::1;12913:7;:14;12909:1;:18;12889:97;;;12964:7;12972:1;12964:10;;;;;;;;:::i;:::-;;;;;;;12949:25;;;;;:::i;:::-;::::0;-1:-1:-1;12929:3:0;::::1;::::0;::::1;:::i;:::-;;;;12889:97;;;-1:-1:-1::0;13057:14:0::1;6294:1:::0;13057:2:::1;:14;:::i;:::-;13043:28;::::0;:11;:28:::1;:::i;:::-;13028:10;8845:7:::0;8872:16;;;:7;:16;;;;;;13018:53:::1;;12996:123;;;::::0;-1:-1:-1;;;12996:123:0;;10633:2:1;12996:123:0::1;::::0;::::1;10615:21:1::0;10672:2;10652:18;;;10645:30;-1:-1:-1;;;10691:18:1;;;10684:50;10751:18;;12996:123:0::1;10431:344:1::0;12996:123:0::1;13137:9;13132:201;13156:7;:14;13152:1;:18;13132:201;;;13192:11;13206:8;13215:1;13206:11;;;;;;;;:::i;:::-;;;;;;;13192:25;;13232:12;13264:10;6294:1:::0;;8585:83;13264:10:::1;13260:14;::::0;:2:::1;:14;:::i;:::-;13247:7;13255:1;13247:10;;;;;;;;:::i;:::-;;;;;;;:27;;;;:::i;:::-;13232:42;;13289:32;13299:10;13311:3;13316:4;13289:9;:32::i;:::-;13177:156;;13172:3;;;;;:::i;:::-;;;;13132:201;;;;12765:575;12643:697:::0;;:::o;14778:247::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;14881:14:::1;6294:1:::0;14881:2:::1;:14;:::i;:::-;14869:26;::::0;:9;:26:::1;:::i;:::-;14853:13;:42:::0;8756:7;;14928:13:::1;;:29;14906:111;;;::::0;-1:-1:-1;;;14906:111:0;;10982:2:1;14906:111:0::1;::::0;::::1;10964:21:1::0;;;11001:18;;;10994:30;11060:34;11040:18;;;11033:62;11112:18;;14906:111:0::1;10780:356:1::0;14906:111:0::1;14778:247:::0;:::o;11955:186::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12028:37:0;::::1;;::::0;;;:28:::1;:37;::::0;;;;;;;;:44;;-1:-1:-1;;12028:44:0::1;12068:4;12028:44:::0;;::::1;::::0;;;12088:45;;8131:51:1;;;8198:18;;;8191:50;12088:45:0::1;::::0;8104:18:1;12088:45:0::1;7963:284:1::0;17150:90:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;8756:7;;17203:13:::1;:29:::0;17150:90::o;16161:480::-;16265:10;16330:3;16315:11;:18;;16293:113;;;;-1:-1:-1;;;16293:113:0;;11343:2:1;16293:113:0;;;11325:21:1;11382:2;11362:18;;;11355:30;11421:34;11401:18;;;11394:62;-1:-1:-1;;;11472:18:1;;;11465:43;11525:19;;16293:113:0;11141:409:1;16293:113:0;16439:45;;-1:-1:-1;;;16439:45:0;;16478:4;16439:45;;;176:51:1;16417:19:0;;-1:-1:-1;;;;;16439:30:0;;;;;149:18:1;;16439:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16417:67;;16495:20;16548:6;;16533:11;16519;:25;;;;:::i;:::-;16518:36;;;;:::i;:::-;16603:15;;16573:60;;-1:-1:-1;;;16573:60:0;;-1:-1:-1;;;;;16603:15:0;;;16573:60;;;12148:51:1;12215:18;;;12208:34;;;16495:59:0;;-1:-1:-1;16573:29:0;;;;;12121:18:1;;16573:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16565:68;16161:480;-1:-1:-1;;;;;16161:480:0:o;10892:369::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;10978:17:::1;;10971:3;:24;;10963:71;;;::::0;-1:-1:-1;;;10963:71:0;;12737:2:1;10963:71:0::1;::::0;::::1;12719:21:1::0;12776:2;12756:18;;;12749:30;12815:34;12795:18;;;12788:62;-1:-1:-1;;;12866:18:1;;;12859:32;12908:19;;10963:71:0::1;12535:398:1::0;10963:71:0::1;11075:17;;11067:4;:25;;11045:110;;;::::0;-1:-1:-1;;;11045:110:0;;13140:2:1;11045:110:0::1;::::0;::::1;13122:21:1::0;13179:2;13159:18;;;13152:30;13218:34;13198:18;;;13191:62;-1:-1:-1;;;13269:18:1;;;13262:33;13312:19;;11045:110:0::1;12938:399:1::0;11045:110:0::1;11168:6;:12:::0;;;11191:7:::1;:14:::0;;;11223:30:::1;::::0;;13516:25:1;;;13572:2;13557:18;;13550:34;;;11223:30:0::1;::::0;13489:18:1;11223:30:0::1;;;;;;;;10892:369:::0;;:::o;5283:94::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;5348:21:::1;5366:1;5348:9;:21::i;:::-;5283:94::o:0;16649:169::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;16713:11:::1;::::0;-1:-1:-1;;;16713:11:0;::::1;;;16712:12;16704:48;;;::::0;-1:-1:-1;;;16704:48:0;;13797:2:1;16704:48:0::1;::::0;::::1;13779:21:1::0;13836:2;13816:18;;;13809:30;13875:25;13855:18;;;13848:53;13918:18;;16704:48:0::1;13595:347:1::0;16704:48:0::1;16763:11;:18:::0;;-1:-1:-1;;;;16792:18:0;-1:-1:-1;;;16792:18:0;;;16649:169::o;10179:307::-;4445:10;10299:4;10393:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10393:34:0;;;;;;;;;;10299:4;;10321:135;;10371:7;;10393:52;;10430:15;;10393:52;:::i;8904:199::-;9009:4;9031:42;4445:10;9055:9;9066:6;9031:9;:42::i;11269:320::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;11395:6:::1;::::0;11375:16:::1;11387:4:::0;11375:9;:16:::1;:::i;:::-;:26;11353:114;;;::::0;-1:-1:-1;;;11353:114:0;;14149:2:1;11353:114:0::1;::::0;::::1;14131:21:1::0;14188:2;14168:18;;;14161:30;14227:34;14207:18;;;14200:62;-1:-1:-1;;;14278:18:1;;;14271:36;14324:19;;11353:114:0::1;13947:402:1::0;11353:114:0::1;11478:12;:24:::0;;;11513:7:::1;:14:::0;;;11545:36:::1;::::0;;13516:25:1;;;13572:2;13557:18;;13550:34;;;11545:36:0::1;::::0;13489:18:1;11545:36:0::1;13342:248:1::0;11776:171:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11845:28:0;::::1;11876:5;11845:28:::0;;;:19:::1;:28;::::0;;;;;;;:36;;-1:-1:-1;;11845:36:0::1;::::0;;11899:40;;8131:51:1;;;8198:18;;;8191:50;;;;11899:40:0::1;::::0;8104:18:1;11899:40:0::1;7963:284:1::0;12345:290:0;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12420:23:0;::::1;12412:61;;;::::0;-1:-1:-1;;;12412:61:0;;14556:2:1;12412:61:0::1;::::0;::::1;14538:21:1::0;14595:2;14575:18;;;14568:30;14634:27;14614:18;;;14607:55;14679:18;;12412:61:0::1;14354:349:1::0;12412:61:0::1;12504:15;::::0;;-1:-1:-1;;;;;12504:15:0;;::::1;12523:5;12484:36:::0;;;:19:::1;:36;::::0;;;;;:44;;-1:-1:-1;;12484:44:0;;::::1;::::0;;;12541:36;;-1:-1:-1;;;;;;12541:36:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;12590:30;;;;;:37;;;;::::1;-1:-1:-1::0;12590:37:0::1;::::0;;12345:290::o;5385:229::-;5106:7;5133:6;-1:-1:-1;;;;;5133:6:0;4445:10;5195:23;5187:68;;;;-1:-1:-1;;;5187:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5488:22:0;::::1;5466:110;;;::::0;-1:-1:-1;;;5466:110:0;;14910:2:1;5466:110:0::1;::::0;::::1;14892:21:1::0;14949:2;14929:18;;;14922:30;14988:34;14968:18;;;14961:62;-1:-1:-1;;;15039:18:1;;;15032:36;15085:19;;5466:110:0::1;14708:402:1::0;5466:110:0::1;5587:19;5597:8;5587:9;:19::i;10531:353::-:0;-1:-1:-1;;;;;10678:22:0;;;;;;:50;;-1:-1:-1;;;;;;10704:24:0;;;;10678:50;10656:113;;;;-1:-1:-1;;;10656:113:0;;15317:2:1;10656:113:0;;;15299:21:1;15356:2;15336:18;;;15329:30;-1:-1:-1;;;15375:18:1;;;15368:43;15428:18;;10656:113:0;15115:337:1;10656:113:0;-1:-1:-1;;;;;10780:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;10838:38;;1585:25:1;;;10838:38:0;;1558:18:1;10838:38:0;;;;;;;10531:353;;;:::o;13478:1292::-;-1:-1:-1;;;;;13600:18:0;;13592:68;;;;-1:-1:-1;;;13592:68:0;;15659:2:1;13592:68:0;;;15641:21:1;15698:2;15678:18;;;15671:30;15737:34;15717:18;;;15710:62;-1:-1:-1;;;15788:18:1;;;15781:35;15833:19;;13592:68:0;15457:401:1;13592:68:0;-1:-1:-1;;;;;13679:16:0;;13671:64;;;;-1:-1:-1;;;13671:64:0;;16065:2:1;13671:64:0;;;16047:21:1;16104:2;16084:18;;;16077:30;16143:34;16123:18;;;16116:62;-1:-1:-1;;;16194:18:1;;;16187:33;16237:19;;13671:64:0;15863:399:1;13671:64:0;13763:1;13754:6;:10;13746:64;;;;-1:-1:-1;;;13746:64:0;;16469:2:1;13746:64:0;;;16451:21:1;16508:2;16488:18;;;16481:30;16547:34;16527:18;;;16520:62;-1:-1:-1;;;16598:18:1;;;16591:39;16647:19;;13746:64:0;16267:405:1;13746:64:0;13843:11;;-1:-1:-1;;;13843:11:0;;;;;:40;;-1:-1:-1;;;;;;13858:25:0;;;;;;:19;:25;;;;;;;;13843:40;:67;;;-1:-1:-1;;;;;;13887:23:0;;;;;;:19;:23;;;;;;;;13843:67;13821:128;;;;-1:-1:-1;;;13821:128:0;;16879:2:1;13821:128:0;;;16861:21:1;16918:2;16898:18;;;16891:30;-1:-1:-1;;;16937:18:1;;;16930:41;16988:18;;13821:128:0;16677:335:1;13821:128:0;13965:11;;-1:-1:-1;;;13965:11:0;;;;13964:12;;:32;;-1:-1:-1;13980:16:0;;-1:-1:-1;;;13980:16:0;;;;13964:32;13960:104;;;14020:32;14035:4;14041:2;14045:6;14020:14;:32::i;:::-;13478:1292;;;:::o;13960:104::-;-1:-1:-1;;;;;14079:32:0;;;;;;:28;:32;;;;;;;;14074:233;;-1:-1:-1;;;;;8872:16:0;;14128:18;8872:16;;;:7;:16;;;;;;14228:13;;14204:19;14217:6;8872:16;14204:19;:::i;:::-;14203:38;;14177:118;;;;-1:-1:-1;;;14177:118:0;;17219:2:1;14177:118:0;;;17201:21:1;17258:2;17238:18;;;17231:30;-1:-1:-1;;;17277:18:1;;;17270:48;17335:18;;14177:118:0;17017:342:1;14177:118:0;14113:194;14074:233;-1:-1:-1;;;;;14320:25:0;;;;;;:19;:25;;;;;;;;:48;;;;-1:-1:-1;14355:13:0;;-1:-1:-1;;;;;14349:19:0;;;14355:13;;14349:19;;14320:48;14317:88;;;-1:-1:-1;;;;;14372:13:0;;;;;;:7;:13;;;;;:23;;14389:6;;14372:13;:23;;14389:6;;14372:23;:::i;:::-;;;;-1:-1:-1;;;;;13478:1292:0:o;14317:88::-;-1:-1:-1;;;;;14420:34:0;;;;;;:28;:34;;;;;;;;14419:35;:94;;;;-1:-1:-1;14500:13:0;;14490:4;8845:7;8872:16;;;:7;:16;;;;;;14472:41;;14419:94;:122;;;;-1:-1:-1;14530:11:0;;-1:-1:-1;;;14530:11:0;;;;14419:122;:162;;;;;14568:13;;14558:6;:23;;14419:162;:196;;;;-1:-1:-1;14599:16:0;;-1:-1:-1;;;14599:16:0;;;;14598:17;14419:196;:232;;;;-1:-1:-1;14638:13:0;;-1:-1:-1;;;;;14632:19:0;;;14638:13;;14632:19;14419:232;14415:305;;;14678:30;14701:6;14678:22;:30::i;:::-;14730:32;14745:4;14751:2;14755:6;14730:14;:32::i;5622:173::-;5678:16;5697:6;;-1:-1:-1;;;;;5714:17:0;;;-1:-1:-1;;;;;;5714:17:0;;;;;;5747:40;;5697:6;;;;;;;5747:40;;5678:16;5747:40;5667:128;5622:173;:::o;17248:837::-;17390:13;;-1:-1:-1;;;;;17390:13:0;;;17382:21;;;;;;17430:19;;;17368:10;17382:21;;17480:15;;;17489:6;17480:15;17461:34;;17506:12;17521:11;:83;;;;-1:-1:-1;;;;;;17551:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;17580:23:0;;;;;;:19;:23;;;;;;;;17551:52;17549:55;17521:83;17506:98;;17617:11;17632:7;17631:8;:107;;17646:5;:92;;17732:6;;17721:7;;17711:17;;:7;:17;:::i;:::-;17710:28;;;;:::i;:::-;17631:107;;17646:92;17688:6;;17678;;17668:16;;:7;:16;:::i;17631:107::-;17642:1;17631:107;17617:121;-1:-1:-1;17749:23:0;17775:13;17617:121;17775:7;:13;:::i;:::-;-1:-1:-1;;;;;17817:13:0;;;;;;:7;:13;;;;;;17749:39;;-1:-1:-1;17817:23:0;;17833:7;;17817:23;:::i;:::-;-1:-1:-1;;;;;17801:13:0;;;;;;;:7;:13;;;;;;:39;;;;17865:11;;;;;;;:29;;17879:15;;17865:29;:::i;:::-;-1:-1:-1;;;;;17851:11:0;;;;;;:7;:11;;;;;;:43;;;;17946:4;17930:22;;;;:28;;17955:3;;17930:28;:::i;:::-;17921:4;17905:22;;;;:7;:22;;;;;;;;;:53;;;;17974:35;1585:25:1;;;-1:-1:-1;;;;;17974:35:0;;;;;;;;;;1558:18:1;17974:35:0;;;;;;;-1:-1:-1;;;;;;;18024:16:0;;;18020:57;;18062:15;18052:7;;:25;;;;:::i;:::-;18042:7;:35;18020:57;17357:728;;;;;;17248:837;;;:::o;15148:523::-;7443:16;:23;;-1:-1:-1;;;;7443:23:0;-1:-1:-1;;;7443:23:0;;;15231:7:::1;::::0;15242:3:::1;15231:14:::0;15227:437:::1;;15285:4;8845:7:::0;8872:16;;;:7;:16;;;;;;15262:67:::1;::::0;15285:4;6207:42:::1;::::0;15262:14:::1;:67::i;:::-;15227:437;;;15411:4;15362:28;8872:16:::0;;;:7;:16;;;;;;;15500:82:::1;15517:64;15521:6:::0;15529:51:::1;8872:16:::0;15565:14:::1;6294:1:::0;15565:2:::1;:14;:::i;:::-;15555:24;::::0;:7:::1;:24;:::i;:::-;15529:3;:51::i;15517:64::-;15500:16;:82::i;:::-;15613:15;::::0;15599:53:::1;::::0;-1:-1:-1;;;;;15613:15:0::1;15630:21;15599:13;:53::i;:::-;15347:317;;15227:437;-1:-1:-1::0;7489:16:0;:24;;-1:-1:-1;;;;7489:24:0;;;15148:523::o;15033:107::-;15090:7;15122:1;15118;:5;15117:15;;15131:1;15117:15;;;15127:1;15117:15;15110:22;15033:107;-1:-1:-1;;;15033:107:0:o;15679:474::-;15769:16;;;15783:1;15769:16;;;;;;;;15745:21;;15769:16;;;;;;;;;;-1:-1:-1;15769:16:0;15745:40;;15814:4;15796;15801:1;15796:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15796:23:0;;;:7;;;;;;;;;;:23;;;;15840:16;;:23;;;-1:-1:-1;;;15840:23:0;;;;:16;;;;;:21;;:23;;;;;15796:7;;15840:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15830:4;15835:1;15830:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15830:33:0;;;:7;;;;;;;;;:33;15906:16;;15874:63;;15891:4;;15906:16;15925:11;15874:8;:63::i;:::-;15948:16;;:197;;-1:-1:-1;;;15948:197:0;;-1:-1:-1;;;;;15948:16:0;;;;:67;;:197;;16030:11;;15948:16;;16072:4;;16099;;16119:15;;15948:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15734:419;15679:474;:::o;13348:122::-;13430:32;;-1:-1:-1;;;;;13430:24:0;;;:32;;;;;13455:6;;13430:32;;;;13455:6;13430:24;:32;;;;;;;;;;;;;;;;;;;238:548:1;350:4;379:2;408;397:9;390:21;440:6;434:13;483:6;478:2;467:9;463:18;456:34;508:1;518:140;532:6;529:1;526:13;518:140;;;627:14;;;623:23;;617:30;593:17;;;612:2;589:26;582:66;547:10;;518:140;;;522:3;707:1;702:2;693:6;682:9;678:22;674:31;667:42;777:2;770;766:7;761:2;753:6;749:15;745:29;734:9;730:45;726:54;718:62;;;;238:548;;;;:::o;791:131::-;-1:-1:-1;;;;;866:31:1;;856:42;;846:70;;912:1;909;902:12;927:315;995:6;1003;1056:2;1044:9;1035:7;1031:23;1027:32;1024:52;;;1072:1;1069;1062:12;1024:52;1111:9;1098:23;1130:31;1155:5;1130:31;:::i;:::-;1180:5;1232:2;1217:18;;;;1204:32;;-1:-1:-1;;;927:315:1:o;1621:247::-;1680:6;1733:2;1721:9;1712:7;1708:23;1704:32;1701:52;;;1749:1;1746;1739:12;1701:52;1788:9;1775:23;1807:31;1832:5;1807:31;:::i;1873:456::-;1950:6;1958;1966;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;:::-;2143:5;-1:-1:-1;2200:2:1;2185:18;;2172:32;2213:33;2172:32;2213:33;:::i;:::-;1873:456;;2265:7;;-1:-1:-1;;;2319:2:1;2304:18;;;;2291:32;;1873:456::o;2731:127::-;2792:10;2787:3;2783:20;2780:1;2773:31;2823:4;2820:1;2813:15;2847:4;2844:1;2837:15;2863:275;2934:2;2928:9;2999:2;2980:13;;-1:-1:-1;;2976:27:1;2964:40;;3034:18;3019:34;;3055:22;;;3016:62;3013:88;;;3081:18;;:::i;:::-;3117:2;3110:22;2863:275;;-1:-1:-1;2863:275:1:o;3143:183::-;3203:4;3236:18;3228:6;3225:30;3222:56;;;3258:18;;:::i;:::-;-1:-1:-1;3303:1:1;3299:14;3315:4;3295:25;;3143:183::o;3331:662::-;3385:5;3438:3;3431:4;3423:6;3419:17;3415:27;3405:55;;3456:1;3453;3446:12;3405:55;3492:6;3479:20;3518:4;3542:60;3558:43;3598:2;3558:43;:::i;:::-;3542:60;:::i;:::-;3636:15;;;3722:1;3718:10;;;;3706:23;;3702:32;;;3667:12;;;;3746:15;;;3743:35;;;3774:1;3771;3764:12;3743:35;3810:2;3802:6;3798:15;3822:142;3838:6;3833:3;3830:15;3822:142;;;3904:17;;3892:30;;3942:12;;;;3855;;3822:142;;;-1:-1:-1;3982:5:1;3331:662;-1:-1:-1;;;;;;3331:662:1:o;3998:1215::-;4116:6;4124;4177:2;4165:9;4156:7;4152:23;4148:32;4145:52;;;4193:1;4190;4183:12;4145:52;4233:9;4220:23;4262:18;4303:2;4295:6;4292:14;4289:34;;;4319:1;4316;4309:12;4289:34;4357:6;4346:9;4342:22;4332:32;;4402:7;4395:4;4391:2;4387:13;4383:27;4373:55;;4424:1;4421;4414:12;4373:55;4460:2;4447:16;4482:4;4506:60;4522:43;4562:2;4522:43;:::i;4506:60::-;4600:15;;;4682:1;4678:10;;;;4670:19;;4666:28;;;4631:12;;;;4706:19;;;4703:39;;;4738:1;4735;4728:12;4703:39;4762:11;;;;4782:217;4798:6;4793:3;4790:15;4782:217;;;4878:3;4865:17;4895:31;4920:5;4895:31;:::i;:::-;4939:18;;4815:12;;;;4977;;;;4782:217;;;5018:5;-1:-1:-1;;5061:18:1;;5048:32;;-1:-1:-1;;5092:16:1;;;5089:36;;;5121:1;5118;5111:12;5089:36;;5144:63;5199:7;5188:8;5177:9;5173:24;5144:63;:::i;:::-;5134:73;;;3998:1215;;;;;:::o;5218:180::-;5277:6;5330:2;5318:9;5309:7;5305:23;5301:32;5298:52;;;5346:1;5343;5336:12;5298:52;-1:-1:-1;5369:23:1;;5218:180;-1:-1:-1;5218:180:1:o;5637:248::-;5705:6;5713;5766:2;5754:9;5745:7;5741:23;5737:32;5734:52;;;5782:1;5779;5772:12;5734:52;-1:-1:-1;;5805:23:1;;;5875:2;5860:18;;;5847:32;;-1:-1:-1;5637:248:1:o;5890:388::-;5958:6;5966;6019:2;6007:9;5998:7;5994:23;5990:32;5987:52;;;6035:1;6032;6025:12;5987:52;6074:9;6061:23;6093:31;6118:5;6093:31;:::i;:::-;6143:5;-1:-1:-1;6200:2:1;6185:18;;6172:32;6213:33;6172:32;6213:33;:::i;:::-;6265:7;6255:17;;;5890:388;;;;;:::o;6283:127::-;6344:10;6339:3;6335:20;6332:1;6325:31;6375:4;6372:1;6365:15;6399:4;6396:1;6389:15;6415:128;6482:9;;;6503:11;;;6500:37;;;6517:18;;:::i;6548:125::-;6613:9;;;6634:10;;;6631:36;;;6647:18;;:::i;6678:356::-;6880:2;6862:21;;;6899:18;;;6892:30;6958:34;6953:2;6938:18;;6931:62;7025:2;7010:18;;6678:356::o;8603:127::-;8664:10;8659:3;8655:20;8652:1;8645:31;8695:4;8692:1;8685:15;8719:4;8716:1;8709:15;8735:135;8774:3;8795:17;;;8792:43;;8815:18;;:::i;:::-;-1:-1:-1;8862:1:1;8851:13;;8735:135::o;8875:422::-;8964:1;9007:5;8964:1;9021:270;9042:7;9032:8;9029:21;9021:270;;;9101:4;9097:1;9093:6;9089:17;9083:4;9080:27;9077:53;;;9110:18;;:::i;:::-;9160:7;9150:8;9146:22;9143:55;;;9180:16;;;;9143:55;9259:22;;;;9219:15;;;;9021:270;;;9025:3;8875:422;;;;;:::o;9302:806::-;9351:5;9381:8;9371:80;;-1:-1:-1;9422:1:1;9436:5;;9371:80;9470:4;9460:76;;-1:-1:-1;9507:1:1;9521:5;;9460:76;9552:4;9570:1;9565:59;;;;9638:1;9633:130;;;;9545:218;;9565:59;9595:1;9586:10;;9609:5;;;9633:130;9670:3;9660:8;9657:17;9654:43;;;9677:18;;:::i;:::-;-1:-1:-1;;9733:1:1;9719:16;;9748:5;;9545:218;;9847:2;9837:8;9834:16;9828:3;9822:4;9819:13;9815:36;9809:2;9799:8;9796:16;9791:2;9785:4;9782:12;9778:35;9775:77;9772:159;;;-1:-1:-1;9884:19:1;;;9916:5;;9772:159;9963:34;9988:8;9982:4;9963:34;:::i;:::-;10033:6;10029:1;10025:6;10021:19;10012:7;10009:32;10006:58;;;10044:18;;:::i;:::-;10082:20;;9302:806;-1:-1:-1;;;9302:806:1:o;10113:140::-;10171:5;10200:47;10241:4;10231:8;10227:19;10221:4;10200:47;:::i;10258:168::-;10331:9;;;10362;;10379:15;;;10373:22;;10359:37;10349:71;;10400:18;;:::i;11555:184::-;11625:6;11678:2;11666:9;11657:7;11653:23;11649:32;11646:52;;;11694:1;11691;11684:12;11646:52;-1:-1:-1;11717:16:1;;11555:184;-1:-1:-1;11555:184:1:o;11744:217::-;11784:1;11810;11800:132;;11854:10;11849:3;11845:20;11842:1;11835:31;11889:4;11886:1;11879:15;11917:4;11914:1;11907:15;11800:132;-1:-1:-1;11946:9:1;;11744:217::o;12253:277::-;12320:6;12373:2;12361:9;12352:7;12348:23;12344:32;12341:52;;;12389:1;12386;12379:12;12341:52;12421:9;12415:16;12474:5;12467:13;12460:21;12453:5;12450:32;12440:60;;12496:1;12493;12486:12;17364:251;17434:6;17487:2;17475:9;17466:7;17462:23;17458:32;17455:52;;;17503:1;17500;17493:12;17455:52;17535:9;17529:16;17554:31;17579:5;17554:31;:::i;17620:980::-;17882:4;17930:3;17919:9;17915:19;17961:6;17950:9;17943:25;17987:2;18025:6;18020:2;18009:9;18005:18;17998:34;18068:3;18063:2;18052:9;18048:18;18041:31;18092:6;18127;18121:13;18158:6;18150;18143:22;18196:3;18185:9;18181:19;18174:26;;18235:2;18227:6;18223:15;18209:29;;18256:1;18266:195;18280:6;18277:1;18274:13;18266:195;;;18345:13;;-1:-1:-1;;;;;18341:39:1;18329:52;;18436:15;;;;18401:12;;;;18377:1;18295:9;18266:195;;;-1:-1:-1;;;;;;;18517:32:1;;;;18512:2;18497:18;;18490:60;-1:-1:-1;;;18581:3:1;18566:19;18559:35;18478:3;17620:980;-1:-1:-1;;;17620:980:1:o
Swarm Source
ipfs://53d63b0c4ea62187158ad71087ef10125ad64fa41c75414f060d20117abb7b77
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.