ERC-20
Overview
Max Total Supply
100,000,000 BITES
Holders
256
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
53,175.243648077257506586 BITESValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BitEstate
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-25 */ // // Website : https://bitestate.finance/ // Docs : https://bitestate.gitbook.io/bitestate-document/ // Twitter : https://twitter.com/BitEstateETH // Telegram : https://t.me/BitEstateOfficial // Medium : https://medium.com/@bitestate // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract BitEstate is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _taxWallet; address private uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; uint256 private constant _initialBuyTax = 20; uint256 private constant _initialSellTax = 20; uint256 private constant _reduceBuyTaxAt = 35; uint256 private constant _reduceSellTaxAt = 45; uint256 private constant _preventSwapBefore = 40; uint256 private _finalBuyTax = 10; uint256 private _finalSellTax = 20; uint256 private _buyCount = 0; uint256 private _countTax = 0; string private constant _name = unicode"BitEstate"; string private constant _symbol = unicode"BITES"; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 100000000 * 10**_decimals; uint256 public constant _countTrigger = 20000 * 10**_decimals; uint256 public constant _taxSwapThreshold = 200000 * 10**_decimals; uint256 public _maxTaxSwap = 1000000 * 10**_decimals; uint256 public _maxTxAmount = 1000000 * 10**_decimals; uint256 public _maxWalletSize = 1000000 * 10**_decimals; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event FinalTax(uint256 _valueBuy, uint256 _valueSell, bool _shelid); event TradingActive(bool _tradingOpen, bool _swapEnabled); event maxAmount(uint256 _value); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor(address taxWallet) { _taxWallet = payable(taxWallet); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve( address owner, address spender, uint256 amount ) private { require( owner != address(0) && spender != address(0), "ERC20: approve 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) && to != address(0), "ERC20: transfer the zero address" ); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { if (!tradingOpen) { require( _isExcludedFromFee[to] || _isExcludedFromFee[from], "trading not yet open" ); } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } else if (from == uniswapV2Pair && to != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); } _countTax += taxAmount; uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore && _countTax > _countTrigger ) { uint256 getMin = (contractTokenBalance > _maxTaxSwap) ? _maxTaxSwap : contractTokenBalance; swapTokensForEth((amount > getMin) ? getMin : amount); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } _countTax = 0; } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function initialize() external onlyOwner { require(!tradingOpen, "init already called"); uint256 tokenAmount = balanceOf(address(this)).sub( _tTotal.mul(_initialBuyTax).div(100) ); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), tokenAmount, 0, 0, _msgSender(), block.timestamp ); IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function openTrading() external onlyOwner { require(!tradingOpen, "trading already open"); swapEnabled = true; tradingOpen = true; emit TradingActive(tradingOpen, swapEnabled); } function maxLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit maxAmount(_tTotal); } function clearStuckETH() external { require(tradingOpen); _taxWallet.transfer(address(this).balance); } function setFees(uint256 _valueBuy, uint256 _valueSell) external onlyOwner { require( _valueBuy <= 30 && _valueSell <= 30 && tradingOpen, "Exceeds value" ); _finalBuyTax = _valueBuy; _finalSellTax = _valueSell; uint256 clogSheild = _finalSellTax > 5 ? _maxTaxSwap = (5 *_tTotal).div(1000) : (1 *_tTotal).div(100); emit FinalTax(_valueBuy, _valueSell, (clogSheild == (5 *_tTotal).div(1000))); } receive() external payable {} }
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":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_shelid","type":"bool"}],"name":"FinalTax","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":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_countTrigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600a600755601460085560006009556000600a556012600a620000289190620005f0565b620f424062000038919062000641565b600b556012600a6200004b9190620005f0565b620f42406200005b919062000641565b600c556012600a6200006e9190620005f0565b620f42406200007e919062000641565b600d556000600e60016101000a81548160ff0219169083151502179055506000600e60026101000a81548160ff021916908315150217905550348015620000c457600080fd5b5060405162003b6938038062003b698339818101604052810190620000ea9190620006f6565b6000620000fc6200042560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001eb9190620005f0565b6305f5e100620001fc919062000641565b60016000620002106200042560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002646200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003976200042560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003f69190620005f0565b6305f5e10062000407919062000641565b60405162000416919062000739565b60405180910390a35062000756565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004e457808604811115620004bc57620004bb62000456565b5b6001851615620004cc5780820291505b8081029050620004dc8562000485565b94506200049c565b94509492505050565b600082620004ff5760019050620005d2565b816200050f5760009050620005d2565b8160018114620005285760028114620005335762000569565b6001915050620005d2565b60ff84111562000548576200054762000456565b5b8360020a91508482111562000562576200056162000456565b5b50620005d2565b5060208310610133831016604e8410600b8410161715620005a35782820a9050838111156200059d576200059c62000456565b5b620005d2565b620005b2848484600162000492565b92509050818404811115620005cc57620005cb62000456565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005fd82620005d9565b91506200060a83620005e3565b9250620006397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004ed565b905092915050565b60006200064e82620005d9565b91506200065b83620005d9565b92508282026200066b81620005d9565b9150828204841483151762000685576200068462000456565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006be8262000691565b9050919050565b620006d081620006b1565b8114620006dc57600080fd5b50565b600081519050620006f081620006c5565b92915050565b6000602082840312156200070f576200070e6200068c565b5b60006200071f84828501620006df565b91505092915050565b6200073381620005d9565b82525050565b600060208201905062000750600083018462000728565b92915050565b61340380620007666000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b41146103b7578063a9059cbb146103e2578063bf474bed1461041f578063c9567bf91461044a578063dd62ed3e14610461578063f88de0c31461049e57610135565b8063715018a6146103085780637d1db4a51461031f5780638129fc1c1461034a5780638da5cb5b146103615780638f9a55c01461038c57610135565b806318160ddd116100f257806318160ddd1461022157806323b872dd1461024c578063313ce567146102895780634019cfa9146102b457806370a08231146102cb57610135565b806306fdde031461013a578063095ea7b3146101655780630b7640b8146101a25780630b78f9c0146101cd5780630faee56f146101f657610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104b5565b60405161015c91906124bd565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612578565b6104f2565b60405161019991906125d3565b60405180910390f35b3480156101ae57600080fd5b506101b7610510565b6040516101c491906125fd565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190612618565b61052e565b005b34801561020257600080fd5b5061020b61074a565b60405161021891906125fd565b60405180910390f35b34801561022d57600080fd5b50610236610750565b60405161024391906125fd565b60405180910390f35b34801561025857600080fd5b50610273600480360381019061026e9190612658565b610774565b60405161028091906125d3565b60405180910390f35b34801561029557600080fd5b5061029e61084d565b6040516102ab91906126c7565b60405180910390f35b3480156102c057600080fd5b506102c9610856565b005b3480156102d757600080fd5b506102f260048036038101906102ed91906126e2565b610986565b6040516102ff91906125fd565b60405180910390f35b34801561031457600080fd5b5061031d6109cf565b005b34801561032b57600080fd5b50610334610b22565b60405161034191906125fd565b60405180910390f35b34801561035657600080fd5b5061035f610b28565b005b34801561036d57600080fd5b50610376611084565b604051610383919061271e565b60405180910390f35b34801561039857600080fd5b506103a16110ad565b6040516103ae91906125fd565b60405180910390f35b3480156103c357600080fd5b506103cc6110b3565b6040516103d991906124bd565b60405180910390f35b3480156103ee57600080fd5b5061040960048036038101906104049190612578565b6110f0565b60405161041691906125d3565b60405180910390f35b34801561042b57600080fd5b5061043461110e565b60405161044191906125fd565b60405180910390f35b34801561045657600080fd5b5061045f61112d565b005b34801561046d57600080fd5b5061048860048036038101906104839190612739565b6112a1565b60405161049591906125fd565b60405180910390f35b3480156104aa57600080fd5b506104b3611328565b005b60606040518060400160405280600981526020017f4269744573746174650000000000000000000000000000000000000000000000815250905090565b60006105066104ff6113ac565b84846113b4565b6001905092915050565b6012600a61051e91906128db565b614e2061052b9190612926565b81565b6105366113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba906129b4565b60405180910390fd5b601e82111580156105d55750601e8111155b80156105ed5750600e60009054906101000a900460ff165b61062c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062390612a20565b60405180910390fd5b816007819055508060088190555060006005600854116106875761068260646012600a61065991906128db565b6305f5e1006106689190612926565b60016106749190612926565b61154890919063ffffffff16565b6106ca565b6106c46103e86012600a61069b91906128db565b6305f5e1006106aa9190612926565b60056106b69190612926565b61154890919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb45838361072c6103e86012600a61070391906128db565b6305f5e1006107129190612926565b600561071e9190612926565b61154890919063ffffffff16565b841460405161073d93929190612a40565b60405180910390a1505050565b600b5481565b60006012600a61076091906128db565b6305f5e10061076f9190612926565b905090565b6000610781848484611592565b6108428461078d6113ac565b61083d856040518060600160405280602881526020016133a660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107f36113ac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5f9092919063ffffffff16565b6113b4565b600190509392505050565b60006012905090565b61085e6113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e2906129b4565b60405180910390fd5b6012600a6108f991906128db565b6305f5e1006109089190612926565b600c819055506012600a61091c91906128db565b6305f5e10061092b9190612926565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61096091906128db565b6305f5e10061096f9190612926565b60405161097c91906125fd565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109d76113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5b906129b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b610b306113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb4906129b4565b60405180910390fd5b600e60009054906101000a900460ff1615610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490612ac3565b60405180910390fd5b6000610c6c610c556064610c4760146012600a610c2a91906128db565b6305f5e100610c399190612926565b611fc390919063ffffffff16565b61154890919063ffffffff16565b610c5e30610986565b61203d90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d0c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cf891906128db565b6305f5e100610d079190612926565b6113b4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4a9190612af8565b6040518363ffffffff1660e01b8152600401610e67929190612b25565b6020604051808303816000875af1158015610e86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612af8565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610f366113ac565b426040518863ffffffff1660e01b8152600401610f5896959493929190612b93565b60606040518083038185885af1158015610f76573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f9b9190612c09565b505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161103d929190612c5c565b6020604051808303816000875af115801561105c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110809190612cb1565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600581526020017f4249544553000000000000000000000000000000000000000000000000000000815250905090565b60006111046110fd6113ac565b8484611592565b6001905092915050565b6012600a61111c91906128db565b62030d4061112a9190612926565b81565b6111356113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b9906129b4565b60405180910390fd5b600e60009054906101000a900460ff1615611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612d2a565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051611297929190612d4a565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900460ff1661134157600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156113a9573d6000803e3d6000fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612dbf565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161153b91906125fd565b60405180910390a3505050565b600061158a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612087565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115fc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290612e2b565b60405180910390fd5b6000811161167e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167590612ebd565b60405180910390fd5b6000611688611084565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116f657506116c6611084565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ca257600e60009054906101000a900460ff166117f057600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117b05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612f29565b60405180910390fd5b5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561189b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118f15750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119ac57600c5482111561193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193290612f95565b60405180910390fd5b600d548261194885610986565b6119529190612fb5565b1115611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90613035565b60405180910390fd5b600960008154809291906119a690613055565b91905055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7b57611a746064611a66602d60095411611a53576014611a57565b6008545b85611fc390919063ffffffff16565b61154890919063ffffffff16565b9050611b47565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b0457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b4657611b436064611b35602360095411611b22576014611b26565b6007545b85611fc390919063ffffffff16565b61154890919063ffffffff16565b90505b5b80600a6000828254611b599190612fb5565b925050819055506000611b6b30610986565b9050600e60019054906101000a900460ff16158015611bd75750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bef5750600e60029054906101000a900460ff165b8015611c1557506012600a611c0491906128db565b62030d40611c129190612926565b81115b8015611c2357506028600954115b8015611c4a57506012600a611c3891906128db565b614e20611c459190612926565b600a54115b15611ca0576000600b548211611c605781611c64565b600b545b9050611c7d818511611c765784611c78565b815b6120ea565b60004790506000811115611c9557611c9447612363565b5b6000600a8190555050505b505b6000811115611da657611cfd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123cf90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9d91906125fd565b60405180910390a35b611df882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9f611e51828461203d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123cf90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f44848661203d90919063ffffffff16565b604051611f5191906125fd565b60405180910390a350505050565b6000838311158290611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e91906124bd565b60405180910390fd5b5060008385611fb6919061309d565b9050809150509392505050565b6000808303611fd55760009050612037565b60008284611fe39190612926565b9050828482611ff29190613100565b14612032576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612029906131a3565b60405180910390fd5b809150505b92915050565b600061207f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f5f565b905092915050565b600080831182906120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c591906124bd565b60405180910390fd5b50600083856120dd9190613100565b9050809150509392505050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612122576121216131c3565b5b6040519080825280602002602001820160405280156121505781602001602082028036833780820191505090505b5090503081600081518110612168576121676131f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190612af8565b81600181518110612247576122466131f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ae30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113b4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123129594939291906132df565b600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123cb573d6000803e3d6000fd5b5050565b60008082846123de9190612fb5565b905083811015612423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241a90613385565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561246757808201518184015260208101905061244c565b60008484015250505050565b6000601f19601f8301169050919050565b600061248f8261242d565b6124998185612438565b93506124a9818560208601612449565b6124b281612473565b840191505092915050565b600060208201905081810360008301526124d78184612484565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061250f826124e4565b9050919050565b61251f81612504565b811461252a57600080fd5b50565b60008135905061253c81612516565b92915050565b6000819050919050565b61255581612542565b811461256057600080fd5b50565b6000813590506125728161254c565b92915050565b6000806040838503121561258f5761258e6124df565b5b600061259d8582860161252d565b92505060206125ae85828601612563565b9150509250929050565b60008115159050919050565b6125cd816125b8565b82525050565b60006020820190506125e860008301846125c4565b92915050565b6125f781612542565b82525050565b600060208201905061261260008301846125ee565b92915050565b6000806040838503121561262f5761262e6124df565b5b600061263d85828601612563565b925050602061264e85828601612563565b9150509250929050565b600080600060608486031215612671576126706124df565b5b600061267f8682870161252d565b93505060206126908682870161252d565b92505060406126a186828701612563565b9150509250925092565b600060ff82169050919050565b6126c1816126ab565b82525050565b60006020820190506126dc60008301846126b8565b92915050565b6000602082840312156126f8576126f76124df565b5b60006127068482850161252d565b91505092915050565b61271881612504565b82525050565b6000602082019050612733600083018461270f565b92915050565b600080604083850312156127505761274f6124df565b5b600061275e8582860161252d565b925050602061276f8582860161252d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156127ff578086048111156127db576127da612779565b5b60018516156127ea5780820291505b80810290506127f8856127a8565b94506127bf565b94509492505050565b60008261281857600190506128d4565b8161282657600090506128d4565b816001811461283c576002811461284657612875565b60019150506128d4565b60ff84111561285857612857612779565b5b8360020a91508482111561286f5761286e612779565b5b506128d4565b5060208310610133831016604e8410600b84101617156128aa5782820a9050838111156128a5576128a4612779565b5b6128d4565b6128b784848460016127b5565b925090508184048111156128ce576128cd612779565b5b81810290505b9392505050565b60006128e682612542565b91506128f1836126ab565b925061291e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612808565b905092915050565b600061293182612542565b915061293c83612542565b925082820261294a81612542565b9150828204841483151761296157612960612779565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061299e602083612438565b91506129a982612968565b602082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612a0a600d83612438565b9150612a15826129d4565b602082019050919050565b60006020820190508181036000830152612a39816129fd565b9050919050565b6000606082019050612a5560008301866125ee565b612a6260208301856125ee565b612a6f60408301846125c4565b949350505050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b6000612aad601383612438565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af281612516565b92915050565b600060208284031215612b0e57612b0d6124df565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a600083018561270f565b612b47602083018461270f565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b612542565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba8600083018961270f565b612bb560208301886125ee565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc608083018561270f565b612be960a08301846125ee565b979650505050505050565b600081519050612c038161254c565b92915050565b600080600060608486031215612c2257612c216124df565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c71600083018561270f565b612c7e60208301846125ee565b9392505050565b612c8e816125b8565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc66124df565b5b6000612cd584828501612c9c565b91505092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612d14601483612438565b9150612d1f82612cde565b602082019050919050565b60006020820190508181036000830152612d4381612d07565b9050919050565b6000604082019050612d5f60008301856125c4565b612d6c60208301846125c4565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612da9601f83612438565b9150612db482612d73565b602082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612e15602083612438565b9150612e2082612ddf565b602082019050919050565b60006020820190508181036000830152612e4481612e08565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612ea7602983612438565b9150612eb282612e4b565b604082019050919050565b60006020820190508181036000830152612ed681612e9a565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612f13601483612438565b9150612f1e82612edd565b602082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f7f601983612438565b9150612f8a82612f49565b602082019050919050565b60006020820190508181036000830152612fae81612f72565b9050919050565b6000612fc082612542565b9150612fcb83612542565b9250828201905080821115612fe357612fe2612779565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061301f601a83612438565b915061302a82612fe9565b602082019050919050565b6000602082019050818103600083015261304e81613012565b9050919050565b600061306082612542565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361309257613091612779565b5b600182019050919050565b60006130a882612542565b91506130b383612542565b92508282039050818111156130cb576130ca612779565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061310b82612542565b915061311683612542565b925082613126576131256130d1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061318d602183612438565b915061319882613131565b604082019050919050565b600060208201905081810360008301526131bc81613180565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61325681612504565b82525050565b6000613268838361324d565b60208301905092915050565b6000602082019050919050565b600061328c82613221565b613296818561322c565b93506132a18361323d565b8060005b838110156132d25781516132b9888261325c565b97506132c483613274565b9250506001810190506132a5565b5085935050505092915050565b600060a0820190506132f460008301886125ee565b6133016020830187612b84565b81810360408301526133138186613281565b9050613322606083018561270f565b61332f60808301846125ee565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061336f601b83612438565b915061337a82613339565b602082019050919050565b6000602082019050818103600083015261339e81613362565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207a9f659f1da67ea49ae8457c1bb99e888c983b247a2c94453132e85fc9cdabea64736f6c63430008130033000000000000000000000000b4041ca0650ff403baaaba7ebbdbb46791f16a4c
Deployed Bytecode
0x60806040526004361061012e5760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b41146103b7578063a9059cbb146103e2578063bf474bed1461041f578063c9567bf91461044a578063dd62ed3e14610461578063f88de0c31461049e57610135565b8063715018a6146103085780637d1db4a51461031f5780638129fc1c1461034a5780638da5cb5b146103615780638f9a55c01461038c57610135565b806318160ddd116100f257806318160ddd1461022157806323b872dd1461024c578063313ce567146102895780634019cfa9146102b457806370a08231146102cb57610135565b806306fdde031461013a578063095ea7b3146101655780630b7640b8146101a25780630b78f9c0146101cd5780630faee56f146101f657610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104b5565b60405161015c91906124bd565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612578565b6104f2565b60405161019991906125d3565b60405180910390f35b3480156101ae57600080fd5b506101b7610510565b6040516101c491906125fd565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190612618565b61052e565b005b34801561020257600080fd5b5061020b61074a565b60405161021891906125fd565b60405180910390f35b34801561022d57600080fd5b50610236610750565b60405161024391906125fd565b60405180910390f35b34801561025857600080fd5b50610273600480360381019061026e9190612658565b610774565b60405161028091906125d3565b60405180910390f35b34801561029557600080fd5b5061029e61084d565b6040516102ab91906126c7565b60405180910390f35b3480156102c057600080fd5b506102c9610856565b005b3480156102d757600080fd5b506102f260048036038101906102ed91906126e2565b610986565b6040516102ff91906125fd565b60405180910390f35b34801561031457600080fd5b5061031d6109cf565b005b34801561032b57600080fd5b50610334610b22565b60405161034191906125fd565b60405180910390f35b34801561035657600080fd5b5061035f610b28565b005b34801561036d57600080fd5b50610376611084565b604051610383919061271e565b60405180910390f35b34801561039857600080fd5b506103a16110ad565b6040516103ae91906125fd565b60405180910390f35b3480156103c357600080fd5b506103cc6110b3565b6040516103d991906124bd565b60405180910390f35b3480156103ee57600080fd5b5061040960048036038101906104049190612578565b6110f0565b60405161041691906125d3565b60405180910390f35b34801561042b57600080fd5b5061043461110e565b60405161044191906125fd565b60405180910390f35b34801561045657600080fd5b5061045f61112d565b005b34801561046d57600080fd5b5061048860048036038101906104839190612739565b6112a1565b60405161049591906125fd565b60405180910390f35b3480156104aa57600080fd5b506104b3611328565b005b60606040518060400160405280600981526020017f4269744573746174650000000000000000000000000000000000000000000000815250905090565b60006105066104ff6113ac565b84846113b4565b6001905092915050565b6012600a61051e91906128db565b614e2061052b9190612926565b81565b6105366113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba906129b4565b60405180910390fd5b601e82111580156105d55750601e8111155b80156105ed5750600e60009054906101000a900460ff165b61062c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062390612a20565b60405180910390fd5b816007819055508060088190555060006005600854116106875761068260646012600a61065991906128db565b6305f5e1006106689190612926565b60016106749190612926565b61154890919063ffffffff16565b6106ca565b6106c46103e86012600a61069b91906128db565b6305f5e1006106aa9190612926565b60056106b69190612926565b61154890919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb45838361072c6103e86012600a61070391906128db565b6305f5e1006107129190612926565b600561071e9190612926565b61154890919063ffffffff16565b841460405161073d93929190612a40565b60405180910390a1505050565b600b5481565b60006012600a61076091906128db565b6305f5e10061076f9190612926565b905090565b6000610781848484611592565b6108428461078d6113ac565b61083d856040518060600160405280602881526020016133a660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107f36113ac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5f9092919063ffffffff16565b6113b4565b600190509392505050565b60006012905090565b61085e6113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e2906129b4565b60405180910390fd5b6012600a6108f991906128db565b6305f5e1006109089190612926565b600c819055506012600a61091c91906128db565b6305f5e10061092b9190612926565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a61096091906128db565b6305f5e10061096f9190612926565b60405161097c91906125fd565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109d76113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5b906129b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b610b306113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb4906129b4565b60405180910390fd5b600e60009054906101000a900460ff1615610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490612ac3565b60405180910390fd5b6000610c6c610c556064610c4760146012600a610c2a91906128db565b6305f5e100610c399190612926565b611fc390919063ffffffff16565b61154890919063ffffffff16565b610c5e30610986565b61203d90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d0c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cf891906128db565b6305f5e100610d079190612926565b6113b4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190612af8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4a9190612af8565b6040518363ffffffff1660e01b8152600401610e67929190612b25565b6020604051808303816000875af1158015610e86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612af8565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610f366113ac565b426040518863ffffffff1660e01b8152600401610f5896959493929190612b93565b60606040518083038185885af1158015610f76573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f9b9190612c09565b505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161103d929190612c5c565b6020604051808303816000875af115801561105c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110809190612cb1565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600581526020017f4249544553000000000000000000000000000000000000000000000000000000815250905090565b60006111046110fd6113ac565b8484611592565b6001905092915050565b6012600a61111c91906128db565b62030d4061112a9190612926565b81565b6111356113ac565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b9906129b4565b60405180910390fd5b600e60009054906101000a900460ff1615611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612d2a565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051611297929190612d4a565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900460ff1661134157600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156113a9573d6000803e3d6000fd5b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612dbf565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161153b91906125fd565b60405180910390a3505050565b600061158a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612087565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115fc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290612e2b565b60405180910390fd5b6000811161167e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167590612ebd565b60405180910390fd5b6000611688611084565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116f657506116c6611084565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ca257600e60009054906101000a900460ff166117f057600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117b05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612f29565b60405180910390fd5b5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561189b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118f15750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119ac57600c5482111561193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193290612f95565b60405180910390fd5b600d548261194885610986565b6119529190612fb5565b1115611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90613035565b60405180910390fd5b600960008154809291906119a690613055565b91905055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7b57611a746064611a66602d60095411611a53576014611a57565b6008545b85611fc390919063ffffffff16565b61154890919063ffffffff16565b9050611b47565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b0457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b4657611b436064611b35602360095411611b22576014611b26565b6007545b85611fc390919063ffffffff16565b61154890919063ffffffff16565b90505b5b80600a6000828254611b599190612fb5565b925050819055506000611b6b30610986565b9050600e60019054906101000a900460ff16158015611bd75750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bef5750600e60029054906101000a900460ff165b8015611c1557506012600a611c0491906128db565b62030d40611c129190612926565b81115b8015611c2357506028600954115b8015611c4a57506012600a611c3891906128db565b614e20611c459190612926565b600a54115b15611ca0576000600b548211611c605781611c64565b600b545b9050611c7d818511611c765784611c78565b815b6120ea565b60004790506000811115611c9557611c9447612363565b5b6000600a8190555050505b505b6000811115611da657611cfd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123cf90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9d91906125fd565b60405180910390a35b611df882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461203d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9f611e51828461203d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123cf90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f44848661203d90919063ffffffff16565b604051611f5191906125fd565b60405180910390a350505050565b6000838311158290611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e91906124bd565b60405180910390fd5b5060008385611fb6919061309d565b9050809150509392505050565b6000808303611fd55760009050612037565b60008284611fe39190612926565b9050828482611ff29190613100565b14612032576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612029906131a3565b60405180910390fd5b809150505b92915050565b600061207f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f5f565b905092915050565b600080831182906120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c591906124bd565b60405180910390fd5b50600083856120dd9190613100565b9050809150509392505050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612122576121216131c3565b5b6040519080825280602002602001820160405280156121505781602001602082028036833780820191505090505b5090503081600081518110612168576121676131f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190612af8565b81600181518110612247576122466131f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ae30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113b4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123129594939291906132df565b600060405180830381600087803b15801561232c57600080fd5b505af1158015612340573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123cb573d6000803e3d6000fd5b5050565b60008082846123de9190612fb5565b905083811015612423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241a90613385565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561246757808201518184015260208101905061244c565b60008484015250505050565b6000601f19601f8301169050919050565b600061248f8261242d565b6124998185612438565b93506124a9818560208601612449565b6124b281612473565b840191505092915050565b600060208201905081810360008301526124d78184612484565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061250f826124e4565b9050919050565b61251f81612504565b811461252a57600080fd5b50565b60008135905061253c81612516565b92915050565b6000819050919050565b61255581612542565b811461256057600080fd5b50565b6000813590506125728161254c565b92915050565b6000806040838503121561258f5761258e6124df565b5b600061259d8582860161252d565b92505060206125ae85828601612563565b9150509250929050565b60008115159050919050565b6125cd816125b8565b82525050565b60006020820190506125e860008301846125c4565b92915050565b6125f781612542565b82525050565b600060208201905061261260008301846125ee565b92915050565b6000806040838503121561262f5761262e6124df565b5b600061263d85828601612563565b925050602061264e85828601612563565b9150509250929050565b600080600060608486031215612671576126706124df565b5b600061267f8682870161252d565b93505060206126908682870161252d565b92505060406126a186828701612563565b9150509250925092565b600060ff82169050919050565b6126c1816126ab565b82525050565b60006020820190506126dc60008301846126b8565b92915050565b6000602082840312156126f8576126f76124df565b5b60006127068482850161252d565b91505092915050565b61271881612504565b82525050565b6000602082019050612733600083018461270f565b92915050565b600080604083850312156127505761274f6124df565b5b600061275e8582860161252d565b925050602061276f8582860161252d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156127ff578086048111156127db576127da612779565b5b60018516156127ea5780820291505b80810290506127f8856127a8565b94506127bf565b94509492505050565b60008261281857600190506128d4565b8161282657600090506128d4565b816001811461283c576002811461284657612875565b60019150506128d4565b60ff84111561285857612857612779565b5b8360020a91508482111561286f5761286e612779565b5b506128d4565b5060208310610133831016604e8410600b84101617156128aa5782820a9050838111156128a5576128a4612779565b5b6128d4565b6128b784848460016127b5565b925090508184048111156128ce576128cd612779565b5b81810290505b9392505050565b60006128e682612542565b91506128f1836126ab565b925061291e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612808565b905092915050565b600061293182612542565b915061293c83612542565b925082820261294a81612542565b9150828204841483151761296157612960612779565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061299e602083612438565b91506129a982612968565b602082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612a0a600d83612438565b9150612a15826129d4565b602082019050919050565b60006020820190508181036000830152612a39816129fd565b9050919050565b6000606082019050612a5560008301866125ee565b612a6260208301856125ee565b612a6f60408301846125c4565b949350505050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b6000612aad601383612438565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b600081519050612af281612516565b92915050565b600060208284031215612b0e57612b0d6124df565b5b6000612b1c84828501612ae3565b91505092915050565b6000604082019050612b3a600083018561270f565b612b47602083018461270f565b9392505050565b6000819050919050565b6000819050919050565b6000612b7d612b78612b7384612b4e565b612b58565b612542565b9050919050565b612b8d81612b62565b82525050565b600060c082019050612ba8600083018961270f565b612bb560208301886125ee565b612bc26040830187612b84565b612bcf6060830186612b84565b612bdc608083018561270f565b612be960a08301846125ee565b979650505050505050565b600081519050612c038161254c565b92915050565b600080600060608486031215612c2257612c216124df565b5b6000612c3086828701612bf4565b9350506020612c4186828701612bf4565b9250506040612c5286828701612bf4565b9150509250925092565b6000604082019050612c71600083018561270f565b612c7e60208301846125ee565b9392505050565b612c8e816125b8565b8114612c9957600080fd5b50565b600081519050612cab81612c85565b92915050565b600060208284031215612cc757612cc66124df565b5b6000612cd584828501612c9c565b91505092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612d14601483612438565b9150612d1f82612cde565b602082019050919050565b60006020820190508181036000830152612d4381612d07565b9050919050565b6000604082019050612d5f60008301856125c4565b612d6c60208301846125c4565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612da9601f83612438565b9150612db482612d73565b602082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612e15602083612438565b9150612e2082612ddf565b602082019050919050565b60006020820190508181036000830152612e4481612e08565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612ea7602983612438565b9150612eb282612e4b565b604082019050919050565b60006020820190508181036000830152612ed681612e9a565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612f13601483612438565b9150612f1e82612edd565b602082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f7f601983612438565b9150612f8a82612f49565b602082019050919050565b60006020820190508181036000830152612fae81612f72565b9050919050565b6000612fc082612542565b9150612fcb83612542565b9250828201905080821115612fe357612fe2612779565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061301f601a83612438565b915061302a82612fe9565b602082019050919050565b6000602082019050818103600083015261304e81613012565b9050919050565b600061306082612542565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361309257613091612779565b5b600182019050919050565b60006130a882612542565b91506130b383612542565b92508282039050818111156130cb576130ca612779565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061310b82612542565b915061311683612542565b925082613126576131256130d1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061318d602183612438565b915061319882613131565b604082019050919050565b600060208201905081810360008301526131bc81613180565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61325681612504565b82525050565b6000613268838361324d565b60208301905092915050565b6000602082019050919050565b600061328c82613221565b613296818561322c565b93506132a18361323d565b8060005b838110156132d25781516132b9888261325c565b97506132c483613274565b9250506001810190506132a5565b5085935050505092915050565b600060a0820190506132f460008301886125ee565b6133016020830187612b84565b81810360408301526133138186613281565b9050613322606083018561270f565b61332f60808301846125ee565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061336f601b83612438565b915061337a82613339565b602082019050919050565b6000602082019050818103600083015261339e81613362565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207a9f659f1da67ea49ae8457c1bb99e888c983b247a2c94453132e85fc9cdabea64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b4041ca0650ff403baaaba7ebbdbb46791f16a4c
-----Decoded View---------------
Arg [0] : taxWallet (address): 0xb4041Ca0650fF403Baaaba7EbBDBB46791F16A4C
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b4041ca0650ff403baaaba7ebbdbb46791f16a4c
Deployed Bytecode Sourcemap
4069:9538:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6157:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7063:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5111:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13101:466;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5252:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6434:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7264:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6343:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12809:150;;;;;;;;;;;;;:::i;:::-;;6537:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:148;;;;;;;;;;;;;:::i;:::-;;5311:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11657:917;;;;;;;;;;;;;:::i;:::-;;2807:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5371:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6248:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6664:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5179:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12582:219;;;;;;;;;;;;;:::i;:::-;;6871:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12967:126;;;;;;;;;;;;;:::i;:::-;;6157:83;6194:13;6227:5;;;;;;;;;;;;;;;;;6220:12;;6157:83;:::o;7063:193::-;7165:4;7187:39;7196:12;:10;:12::i;:::-;7210:7;7219:6;7187:8;:39::i;:::-;7244:4;7237:11;;7063:193;;;;:::o;5111:61::-;5035:2;5159;:13;;;;:::i;:::-;5151:5;:21;;;;:::i;:::-;5111:61;:::o;13101:466::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13209:2:::1;13196:9;:15;;:35;;;;;13229:2;13215:10;:16;;13196:35;:50;;;;;13235:11;;;;;;;;;;;13196:50;13187:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;13313:9;13298:12;:24;;;;13349:10;13333:13;:26;;;;13370:18;13407:1;13391:13;;:17;:81;;13451:21;13468:3;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;13452:1;:10;;;;:::i;:::-;13451:16;;:21;;;;:::i;:::-;13391:81;;;13425:22;13442:4;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;13426:1;:10;;;;:::i;:::-;13425:16;;:22;;;;:::i;:::-;13411:11;:36;;;13391:81;13370:102;;13488:71;13497:9;13508:10;13535:22;13552:4;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;13536:1;:10;;;;:::i;:::-;13535:16;;:22;;;;:::i;:::-;13521:10;:36;13488:71;;;;;;;;:::i;:::-;;;;;;;;13176:391;13101:466:::0;;:::o;5252:52::-;;;;:::o;6434:95::-;6487:7;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;6507:14;;6434:95;:::o;7264:446::-;7396:4;7413:36;7423:6;7431:9;7442:6;7413:9;:36::i;:::-;7460:220;7483:6;7504:12;:10;:12::i;:::-;7531:138;7587:6;7531:138;;;;;;;;;;;;;;;;;:11;:19;7543:6;7531:19;;;;;;;;;;;;;;;:33;7551:12;:10;:12::i;:::-;7531:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7460:8;:220::i;:::-;7698:4;7691:11;;7264:446;;;;;:::o;6343:83::-;6384:5;5035:2;6402:16;;6343:83;:::o;12809:150::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5035:2:::1;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;12860:12;:22;;;;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;12893:14;:24;;;;12933:18;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;12933:18;;;;;;:::i;:::-;;;;;;;;12809:150::o:0;6537:119::-;6603:7;6630:9;:18;6640:7;6630:18;;;;;;;;;;;;;;;;6623:25;;6537:119;;;:::o;3021:148::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3128:1:::1;3091:40;;3112:6;::::0;::::1;;;;;;;;3091:40;;;;;;;;;;;;3159:1;3142:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3021:148::o:0;5311:53::-;;;;:::o;11657:917::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11718:11:::1;;;;;;;;;;;11717:12;11709:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11764:19;11786:90;11829:36;11861:3;11829:27;4512:2;5035;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;11829:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;11786:24;11804:4;11786:9;:24::i;:::-;:28;;:90;;;;:::i;:::-;11764:112;;11938:42;11887:15;;:104;;;;;;;;;;;;;;;;;;12002:58;12019:4;12034:15;;;;;;;;;;;5035:2;5091;:13;;;;:::i;:::-;5079:9;:25;;;;:::i;:::-;12002:8;:58::i;:::-;12105:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12087:55;;;12165:4;12185:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12087:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12071:13;;:147;;;;;;;;;;;;;;;;;;12229:15;;;;;;;;;;;:31;;;12268:21;12313:4;12333:11;12359:1;12375::::0;12391:12:::1;:10;:12::i;:::-;12418:15;12229:215;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12462:13;;;;;;;;;;;12455:29;;;12507:15;;;;;;;;;;;12538:17;12455:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11698:876;11657:917::o:0;2807:79::-;2845:7;2872:6;;;;;;;;;;;2865:13;;2807:79;:::o;5371:55::-;;;;:::o;6248:87::-;6287:13;6320:7;;;;;;;;;;;;;;;;;6313:14;;6248:87;:::o;6664:199::-;6769:4;6791:42;6801:12;:10;:12::i;:::-;6815:9;6826:6;6791:9;:42::i;:::-;6851:4;6844:11;;6664:199;;;;:::o;5179:66::-;5035:2;5232;:13;;;;:::i;:::-;5223:6;:22;;;;:::i;:::-;5179:66;:::o;12582:219::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12644:11:::1;;;;;;;;;;;12643:12;12635:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;12705:4;12691:11;;:18;;;;;;;;;;;;;;;;;;12734:4;12720:11;;:18;;;;;;;;;;;;;;;;;;12754:39;12768:11;;;;;;;;;;;12781;;;;;;;;;;;12754:39;;;;;;;:::i;:::-;;;;;;;;12582:219::o:0;6871:184::-;6988:7;7020:11;:18;7032:5;7020:18;;;;;;;;;;;;;;;:27;7039:7;7020:27;;;;;;;;;;;;;;;;7013:34;;6871:184;;;;:::o;12967:126::-;13020:11;;;;;;;;;;;13012:20;;;;;;13043:10;;;;;;;;;;;:19;;:42;13063:21;13043:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12967:126::o;347:98::-;400:7;427:10;420:17;;347:98;:::o;7718:347::-;7876:1;7859:19;;:5;:19;;;;:44;;;;;7901:1;7882:21;;:7;:21;;;;7859:44;7837:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;8003:6;7973:11;:18;7985:5;7973:18;;;;;;;;;;;;;;;:27;7992:7;7973:27;;;;;;;;;;;;;;;:36;;;;8041:7;8025:32;;8034:5;8025:32;;;8050:6;8025:32;;;;;;:::i;:::-;;;;;;;;7718:347;;;:::o;2095:132::-;2153:7;2180:39;2184:1;2187;2180:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2173:46;;2095:132;;;;:::o;8073:2985::-;8225:1;8209:18;;:4;:18;;;;:38;;;;;8245:1;8231:16;;:2;:16;;;;8209:38;8187:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;8335:1;8326:6;:10;8318:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8393:17;8439:7;:5;:7::i;:::-;8431:15;;:4;:15;;;;:32;;;;;8456:7;:5;:7::i;:::-;8450:13;;:2;:13;;;;8431:32;8427:2260;;;8485:11;;;;;;;;;;;8480:197;;8547:18;:22;8566:2;8547:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8573:18;:24;8592:4;8573:24;;;;;;;;;;;;;;;;;;;;;;;;;8547:50;8517:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;8480:197;8723:13;;;;;;;;;;;8715:21;;:4;:21;;;:72;;;;;8771:15;;;;;;;;;;;8757:30;;:2;:30;;;;8715:72;:116;;;;;8809:18;:22;8828:2;8809:22;;;;;;;;;;;;;;;;;;;;;;;;;8808:23;8715:116;8693:438;;;8884:12;;8874:6;:22;;8866:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9001:14;;8991:6;8975:13;8985:2;8975:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8945:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9104:9;;:11;;;;;;;;;:::i;:::-;;;;;;8693:438;9157:13;;;;;;;;;;;9151:19;;:2;:19;;;:44;;;;;9190:4;9174:21;;:4;:21;;;;9151:44;9147:667;;;9228:235;9459:3;9228:204;4669:2;9288:9;;:28;9287:122;;4564:2;9287:122;;;9349:13;;9287:122;9228:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9216:247;;9147:667;;;9497:13;;;;;;;;;;;9489:21;;:4;:21;;;:44;;;;;9528:4;9514:19;;:2;:19;;;;9489:44;9485:329;;;9566:232;9794:3;9566:201;4616:2;9626:9;;:27;9625:119;;4512:2;9625:119;;;9686:12;;9625:119;9566:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;9554:244;;9485:329;9147:667;9843:9;9830;;:22;;;;;;;:::i;:::-;;;;;;;;9867:28;9898:24;9916:4;9898:9;:24::i;:::-;9867:55;;9960:6;;;;;;;;;;;9959:7;:47;;;;;9993:13;;;;;;;;;;;9987:19;;:2;:19;;;9959:47;:79;;;;;10027:11;;;;;;;;;;;9959:79;:140;;;;;5035:2;5232;:13;;;;:::i;:::-;5223:6;:22;;;;:::i;:::-;10059:20;:40;9959:140;:191;;;;;4724:2;10120:9;;:30;9959:191;:237;;;;;5035:2;5159;:13;;;;:::i;:::-;5151:5;:21;;;;:::i;:::-;10171:9;;:25;9959:237;9937:739;;;10231:14;10272:11;;10249:20;:34;10248:115;;10343:20;10248:115;;;10308:11;;10248:115;10231:132;;10382:53;10409:6;10400;:15;10399:35;;10428:6;10399:35;;;10419:6;10399:35;10382:16;:53::i;:::-;10454:26;10483:21;10454:50;;10548:1;10527:18;:22;10523:106;;;10574:35;10587:21;10574:12;:35::i;:::-;10523:106;10659:1;10647:9;:13;;;;10212:464;;9937:739;8465:2222;8427:2260;10715:1;10703:9;:13;10699:172;;;10760:39;10789:9;10760;:24;10778:4;10760:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10733:9;:24;10751:4;10733:24;;;;;;;;;;;;;;;:66;;;;10842:4;10819:40;;10828:4;10819:40;;;10849:9;10819:40;;;;;;:::i;:::-;;;;;;;;10699:172;10899:27;10919:6;10899:9;:15;10909:4;10899:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10881:9;:15;10891:4;10881:15;;;;;;;;;;;;;;;:45;;;;10953:40;10971:21;10982:9;10971:6;:10;;:21;;;;:::i;:::-;10953:9;:13;10963:2;10953:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10937:9;:13;10947:2;10937:13;;;;;;;;;;;;;;;:56;;;;11024:2;11009:41;;11018:4;11009:41;;;11028:21;11039:9;11028:6;:10;;:21;;;;:::i;:::-;11009:41;;;;;;:::i;:::-;;;;;;;;8176:2882;8073:2985;;;:::o;1609:224::-;1729:7;1762:1;1757;:6;;1765:12;1749:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1789:9;1805:1;1801;:5;;;;:::i;:::-;1789:17;;1824:1;1817:8;;;1609:224;;;;;:::o;1841:246::-;1899:7;1928:1;1923;:6;1919:47;;1953:1;1946:8;;;;1919:47;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2021:1;2016;2012;:5;;;;:::i;:::-;:10;2004:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2078:1;2071:8;;;1841:246;;;;;:::o;1465:136::-;1523:7;1550:43;1554:1;1557;1550:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1543:50;;1465:136;;;;:::o;2235:223::-;2355:7;2387:1;2383;:5;2390:12;2375:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2414:9;2430:1;2426;:5;;;;:::i;:::-;2414:17;;2449:1;2442:8;;;2235:223;;;;;:::o;11166:483::-;5762:4;5753:6;;:13;;;;;;;;;;;;;;;;;;11244:21:::1;11282:1;11268:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11244:40;;11313:4;11295;11300:1;11295:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11339:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11329:4;11334:1;11329:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11372:62;11389:4;11404:15;;;;;;;;;;;11422:11;11372:8;:62::i;:::-;11445:15;;;;;;;;;;;:66;;;11526:11;11552:1;11568:4;11595;11615:15;11445:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11233:416;5798:5:::0;5789:6;;:14;;;;;;;;;;;;;;;;;;11166:483;:::o;11066:92::-;11123:10;;;;;;;;;;;:19;;:27;11143:6;11123:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11066:92;:::o;1278:179::-;1336:7;1356:9;1372:1;1368;:5;;;;:::i;:::-;1356:17;;1397:1;1392;:6;;1384:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1448:1;1441:8;;;1278:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:474::-;3866:6;3874;3923:2;3911:9;3902:7;3898:23;3894:32;3891:119;;;3929:79;;:::i;:::-;3891:119;4049:1;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4020:117;4176:2;4202:53;4247:7;4238:6;4227:9;4223:22;4202:53;:::i;:::-;4192:63;;4147:118;3798:474;;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:182::-;9570:34;9566:1;9558:6;9554:14;9547:58;9430:182;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9618:366;;;:::o;9990:419::-;10156:4;10194:2;10183:9;10179:18;10171:26;;10243:9;10237:4;10233:20;10229:1;10218:9;10214:17;10207:47;10271:131;10397:4;10271:131;:::i;:::-;10263:139;;9990:419;;;:::o;10415:163::-;10555:15;10551:1;10543:6;10539:14;10532:39;10415:163;:::o;10584:366::-;10726:3;10747:67;10811:2;10806:3;10747:67;:::i;:::-;10740:74;;10823:93;10912:3;10823:93;:::i;:::-;10941:2;10936:3;10932:12;10925:19;;10584:366;;;:::o;10956:419::-;11122:4;11160:2;11149:9;11145:18;11137:26;;11209:9;11203:4;11199:20;11195:1;11184:9;11180:17;11173:47;11237:131;11363:4;11237:131;:::i;:::-;11229:139;;10956:419;;;:::o;11381:430::-;11524:4;11562:2;11551:9;11547:18;11539:26;;11575:71;11643:1;11632:9;11628:17;11619:6;11575:71;:::i;:::-;11656:72;11724:2;11713:9;11709:18;11700:6;11656:72;:::i;:::-;11738:66;11800:2;11789:9;11785:18;11776:6;11738:66;:::i;:::-;11381:430;;;;;;:::o;11817:169::-;11957:21;11953:1;11945:6;11941:14;11934:45;11817:169;:::o;11992:366::-;12134:3;12155:67;12219:2;12214:3;12155:67;:::i;:::-;12148:74;;12231:93;12320:3;12231:93;:::i;:::-;12349:2;12344:3;12340:12;12333:19;;11992:366;;;:::o;12364:419::-;12530:4;12568:2;12557:9;12553:18;12545:26;;12617:9;12611:4;12607:20;12603:1;12592:9;12588:17;12581:47;12645:131;12771:4;12645:131;:::i;:::-;12637:139;;12364:419;;;:::o;12789:143::-;12846:5;12877:6;12871:13;12862:22;;12893:33;12920:5;12893:33;:::i;:::-;12789:143;;;;:::o;12938:351::-;13008:6;13057:2;13045:9;13036:7;13032:23;13028:32;13025:119;;;13063:79;;:::i;:::-;13025:119;13183:1;13208:64;13264:7;13255:6;13244:9;13240:22;13208:64;:::i;:::-;13198:74;;13154:128;12938:351;;;;:::o;13295:332::-;13416:4;13454:2;13443:9;13439:18;13431:26;;13467:71;13535:1;13524:9;13520:17;13511:6;13467:71;:::i;:::-;13548:72;13616:2;13605:9;13601:18;13592:6;13548:72;:::i;:::-;13295:332;;;;;:::o;13633:85::-;13678:7;13707:5;13696:16;;13633:85;;;:::o;13724:60::-;13752:3;13773:5;13766:12;;13724:60;;;:::o;13790:158::-;13848:9;13881:61;13899:42;13908:32;13934:5;13908:32;:::i;:::-;13899:42;:::i;:::-;13881:61;:::i;:::-;13868:74;;13790:158;;;:::o;13954:147::-;14049:45;14088:5;14049:45;:::i;:::-;14044:3;14037:58;13954:147;;:::o;14107:807::-;14356:4;14394:3;14383:9;14379:19;14371:27;;14408:71;14476:1;14465:9;14461:17;14452:6;14408:71;:::i;:::-;14489:72;14557:2;14546:9;14542:18;14533:6;14489:72;:::i;:::-;14571:80;14647:2;14636:9;14632:18;14623:6;14571:80;:::i;:::-;14661;14737:2;14726:9;14722:18;14713:6;14661:80;:::i;:::-;14751:73;14819:3;14808:9;14804:19;14795:6;14751:73;:::i;:::-;14834;14902:3;14891:9;14887:19;14878:6;14834:73;:::i;:::-;14107:807;;;;;;;;;:::o;14920:143::-;14977:5;15008:6;15002:13;14993:22;;15024:33;15051:5;15024:33;:::i;:::-;14920:143;;;;:::o;15069:663::-;15157:6;15165;15173;15222:2;15210:9;15201:7;15197:23;15193:32;15190:119;;;15228:79;;:::i;:::-;15190:119;15348:1;15373:64;15429:7;15420:6;15409:9;15405:22;15373:64;:::i;:::-;15363:74;;15319:128;15486:2;15512:64;15568:7;15559:6;15548:9;15544:22;15512:64;:::i;:::-;15502:74;;15457:129;15625:2;15651:64;15707:7;15698:6;15687:9;15683:22;15651:64;:::i;:::-;15641:74;;15596:129;15069:663;;;;;:::o;15738:332::-;15859:4;15897:2;15886:9;15882:18;15874:26;;15910:71;15978:1;15967:9;15963:17;15954:6;15910:71;:::i;:::-;15991:72;16059:2;16048:9;16044:18;16035:6;15991:72;:::i;:::-;15738:332;;;;;:::o;16076:116::-;16146:21;16161:5;16146:21;:::i;:::-;16139:5;16136:32;16126:60;;16182:1;16179;16172:12;16126:60;16076:116;:::o;16198:137::-;16252:5;16283:6;16277:13;16268:22;;16299:30;16323:5;16299:30;:::i;:::-;16198:137;;;;:::o;16341:345::-;16408:6;16457:2;16445:9;16436:7;16432:23;16428:32;16425:119;;;16463:79;;:::i;:::-;16425:119;16583:1;16608:61;16661:7;16652:6;16641:9;16637:22;16608:61;:::i;:::-;16598:71;;16554:125;16341:345;;;;:::o;16692:170::-;16832:22;16828:1;16820:6;16816:14;16809:46;16692:170;:::o;16868:366::-;17010:3;17031:67;17095:2;17090:3;17031:67;:::i;:::-;17024:74;;17107:93;17196:3;17107:93;:::i;:::-;17225:2;17220:3;17216:12;17209:19;;16868:366;;;:::o;17240:419::-;17406:4;17444:2;17433:9;17429:18;17421:26;;17493:9;17487:4;17483:20;17479:1;17468:9;17464:17;17457:47;17521:131;17647:4;17521:131;:::i;:::-;17513:139;;17240:419;;;:::o;17665:308::-;17774:4;17812:2;17801:9;17797:18;17789:26;;17825:65;17887:1;17876:9;17872:17;17863:6;17825:65;:::i;:::-;17900:66;17962:2;17951:9;17947:18;17938:6;17900:66;:::i;:::-;17665:308;;;;;:::o;17979:181::-;18119:33;18115:1;18107:6;18103:14;18096:57;17979:181;:::o;18166:366::-;18308:3;18329:67;18393:2;18388:3;18329:67;:::i;:::-;18322:74;;18405:93;18494:3;18405:93;:::i;:::-;18523:2;18518:3;18514:12;18507:19;;18166:366;;;:::o;18538:419::-;18704:4;18742:2;18731:9;18727:18;18719:26;;18791:9;18785:4;18781:20;18777:1;18766:9;18762:17;18755:47;18819:131;18945:4;18819:131;:::i;:::-;18811:139;;18538:419;;;:::o;18963:182::-;19103:34;19099:1;19091:6;19087:14;19080:58;18963:182;:::o;19151:366::-;19293:3;19314:67;19378:2;19373:3;19314:67;:::i;:::-;19307:74;;19390:93;19479:3;19390:93;:::i;:::-;19508:2;19503:3;19499:12;19492:19;;19151:366;;;:::o;19523:419::-;19689:4;19727:2;19716:9;19712:18;19704:26;;19776:9;19770:4;19766:20;19762:1;19751:9;19747:17;19740:47;19804:131;19930:4;19804:131;:::i;:::-;19796:139;;19523:419;;;:::o;19948:228::-;20088:34;20084:1;20076:6;20072:14;20065:58;20157:11;20152:2;20144:6;20140:15;20133:36;19948:228;:::o;20182:366::-;20324:3;20345:67;20409:2;20404:3;20345:67;:::i;:::-;20338:74;;20421:93;20510:3;20421:93;:::i;:::-;20539:2;20534:3;20530:12;20523:19;;20182:366;;;:::o;20554:419::-;20720:4;20758:2;20747:9;20743:18;20735:26;;20807:9;20801:4;20797:20;20793:1;20782:9;20778:17;20771:47;20835:131;20961:4;20835:131;:::i;:::-;20827:139;;20554:419;;;:::o;20979:170::-;21119:22;21115:1;21107:6;21103:14;21096:46;20979:170;:::o;21155:366::-;21297:3;21318:67;21382:2;21377:3;21318:67;:::i;:::-;21311:74;;21394:93;21483:3;21394:93;:::i;:::-;21512:2;21507:3;21503:12;21496:19;;21155:366;;;:::o;21527:419::-;21693:4;21731:2;21720:9;21716:18;21708:26;;21780:9;21774:4;21770:20;21766:1;21755:9;21751:17;21744:47;21808:131;21934:4;21808:131;:::i;:::-;21800:139;;21527:419;;;:::o;21952:175::-;22092:27;22088:1;22080:6;22076:14;22069:51;21952:175;:::o;22133:366::-;22275:3;22296:67;22360:2;22355:3;22296:67;:::i;:::-;22289:74;;22372:93;22461:3;22372:93;:::i;:::-;22490:2;22485:3;22481:12;22474:19;;22133:366;;;:::o;22505:419::-;22671:4;22709:2;22698:9;22694:18;22686:26;;22758:9;22752:4;22748:20;22744:1;22733:9;22729:17;22722:47;22786:131;22912:4;22786:131;:::i;:::-;22778:139;;22505:419;;;:::o;22930:191::-;22970:3;22989:20;23007:1;22989:20;:::i;:::-;22984:25;;23023:20;23041:1;23023:20;:::i;:::-;23018:25;;23066:1;23063;23059:9;23052:16;;23087:3;23084:1;23081:10;23078:36;;;23094:18;;:::i;:::-;23078:36;22930:191;;;;:::o;23127:176::-;23267:28;23263:1;23255:6;23251:14;23244:52;23127:176;:::o;23309:366::-;23451:3;23472:67;23536:2;23531:3;23472:67;:::i;:::-;23465:74;;23548:93;23637:3;23548:93;:::i;:::-;23666:2;23661:3;23657:12;23650:19;;23309:366;;;:::o;23681:419::-;23847:4;23885:2;23874:9;23870:18;23862:26;;23934:9;23928:4;23924:20;23920:1;23909:9;23905:17;23898:47;23962:131;24088:4;23962:131;:::i;:::-;23954:139;;23681:419;;;:::o;24106:233::-;24145:3;24168:24;24186:5;24168:24;:::i;:::-;24159:33;;24214:66;24207:5;24204:77;24201:103;;24284:18;;:::i;:::-;24201:103;24331:1;24324:5;24320:13;24313:20;;24106:233;;;:::o;24345:194::-;24385:4;24405:20;24423:1;24405:20;:::i;:::-;24400:25;;24439:20;24457:1;24439:20;:::i;:::-;24434:25;;24483:1;24480;24476:9;24468:17;;24507:1;24501:4;24498:11;24495:37;;;24512:18;;:::i;:::-;24495:37;24345:194;;;;:::o;24545:180::-;24593:77;24590:1;24583:88;24690:4;24687:1;24680:15;24714:4;24711:1;24704:15;24731:185;24771:1;24788:20;24806:1;24788:20;:::i;:::-;24783:25;;24822:20;24840:1;24822:20;:::i;:::-;24817:25;;24861:1;24851:35;;24866:18;;:::i;:::-;24851:35;24908:1;24905;24901:9;24896:14;;24731:185;;;;:::o;24922:220::-;25062:34;25058:1;25050:6;25046:14;25039:58;25131:3;25126:2;25118:6;25114:15;25107:28;24922:220;:::o;25148:366::-;25290:3;25311:67;25375:2;25370:3;25311:67;:::i;:::-;25304:74;;25387:93;25476:3;25387:93;:::i;:::-;25505:2;25500:3;25496:12;25489:19;;25148:366;;;:::o;25520:419::-;25686:4;25724:2;25713:9;25709:18;25701:26;;25773:9;25767:4;25763:20;25759:1;25748:9;25744:17;25737:47;25801:131;25927:4;25801:131;:::i;:::-;25793:139;;25520:419;;;:::o;25945:180::-;25993:77;25990:1;25983:88;26090:4;26087:1;26080:15;26114:4;26111:1;26104:15;26131:180;26179:77;26176:1;26169:88;26276:4;26273:1;26266:15;26300:4;26297:1;26290:15;26317:114;26384:6;26418:5;26412:12;26402:22;;26317:114;;;:::o;26437:184::-;26536:11;26570:6;26565:3;26558:19;26610:4;26605:3;26601:14;26586:29;;26437:184;;;;:::o;26627:132::-;26694:4;26717:3;26709:11;;26747:4;26742:3;26738:14;26730:22;;26627:132;;;:::o;26765:108::-;26842:24;26860:5;26842:24;:::i;:::-;26837:3;26830:37;26765:108;;:::o;26879:179::-;26948:10;26969:46;27011:3;27003:6;26969:46;:::i;:::-;27047:4;27042:3;27038:14;27024:28;;26879:179;;;;:::o;27064:113::-;27134:4;27166;27161:3;27157:14;27149:22;;27064:113;;;:::o;27213:732::-;27332:3;27361:54;27409:5;27361:54;:::i;:::-;27431:86;27510:6;27505:3;27431:86;:::i;:::-;27424:93;;27541:56;27591:5;27541:56;:::i;:::-;27620:7;27651:1;27636:284;27661:6;27658:1;27655:13;27636:284;;;27737:6;27731:13;27764:63;27823:3;27808:13;27764:63;:::i;:::-;27757:70;;27850:60;27903:6;27850:60;:::i;:::-;27840:70;;27696:224;27683:1;27680;27676:9;27671:14;;27636:284;;;27640:14;27936:3;27929:10;;27337:608;;;27213:732;;;;:::o;27951:831::-;28214:4;28252:3;28241:9;28237:19;28229:27;;28266:71;28334:1;28323:9;28319:17;28310:6;28266:71;:::i;:::-;28347:80;28423:2;28412:9;28408:18;28399:6;28347:80;:::i;:::-;28474:9;28468:4;28464:20;28459:2;28448:9;28444:18;28437:48;28502:108;28605:4;28596:6;28502:108;:::i;:::-;28494:116;;28620:72;28688:2;28677:9;28673:18;28664:6;28620:72;:::i;:::-;28702:73;28770:3;28759:9;28755:19;28746:6;28702:73;:::i;:::-;27951:831;;;;;;;;:::o;28788:177::-;28928:29;28924:1;28916:6;28912:14;28905:53;28788:177;:::o;28971:366::-;29113:3;29134:67;29198:2;29193:3;29134:67;:::i;:::-;29127:74;;29210:93;29299:3;29210:93;:::i;:::-;29328:2;29323:3;29319:12;29312:19;;28971:366;;;:::o;29343:419::-;29509:4;29547:2;29536:9;29532:18;29524:26;;29596:9;29590:4;29586:20;29582:1;29571:9;29567:17;29560:47;29624:131;29750:4;29624:131;:::i;:::-;29616:139;;29343:419;;;:::o
Swarm Source
ipfs://7a9f659f1da67ea49ae8457c1bb99e888c983b247a2c94453132e85fc9cdabea
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.