Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 TRN
Holders
304
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
80,000,000 TRNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Tereon
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-09 */ /* Redefining Online Privacy with AI-Powered Solutions Website: https://www.tereon.io/ X: https://x.com/TereonEcosystem Telegram: https://t.me/tereonecosystem */ // SPDX-License-Identifier: MIT pragma solidity 0.8.23; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface 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); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } } contract Tereon 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; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; uint256 private constant _initialBuyTax =20; uint256 private constant _initialSellTax=30; uint256 private constant _reduceBuyTaxAt=5; uint256 private constant _reduceSellTaxAt=30; uint256 private constant _preventSwapBefore=25; uint256 private _finalBuyTax=5; uint256 private _finalSellTax=5; uint256 private _buyCount=0; uint256 private sellCount= 0; uint256 private lastSellBlock= 0; string private constant _name = unicode"Tereon"; string private constant _symbol = unicode"TRN"; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 10000000000 * 10**_decimals; uint256 public _maxTxAmount = 100000001 * 10 **_decimals; uint256 public _maxWalletSize = 100000001 * 10 **_decimals; uint256 public constant _maxTaxSwap = 90000001 * 10 **_decimals; uint256 public constant _taxSwapThreshold = 0 * 10 **_decimals; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event TradingEnabled(bool _tradingOpen,bool _swapEnabled); event MaxAmount(uint256 _value); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address taxWallet) { _taxWallet = payable(taxWallet); _balances[_msgSender()] = _tTotal; excludeFromFee(owner(), true); excludeFromFee(address(this), true); excludeFromFee(_taxWallet, 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)/100; } else if (from == uniswapV2Pair && to!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax)/100; } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore ) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount<2, "Only 2 sells per block!"); uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)?_maxTaxSwap:contractTokenBalance; swapTokensForEth((amount > getMinValue)?getMinValue:amount); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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 excludeFromFee(address account, bool excluded) public onlyOwner { _isExcludedFromFee[account] = excluded; } 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(uint).max); } function enableTrading () external onlyOwner { require(!tradingOpen,"trading already open"); swapEnabled = true; tradingOpen = true; emit TradingEnabled (tradingOpen,swapEnabled); } function removeTxLimit () external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxAmount (_tTotal); } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance > 0){ swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if(ethBalance > 0){ sendETHToFee(ethBalance); } } }
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":"_value","type":"uint256"}],"name":"MaxAmount","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":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_initialize","outputs":[],"stateMutability":"nonpayable","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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
6080604052600560075560056008555f6009555f600a555f600b556009600a6200002a9190620005e5565b6305f5e1016200003b919062000635565b600c556009600a6200004e9190620005e5565b6305f5e1016200005f919062000635565b600d555f600e60016101000a81548160ff0219169083151502179055505f600e60026101000a81548160ff021916908315150217905550348015620000a2575f80fd5b506040516200398f3803806200398f8339818101604052810190620000c89190620006e4565b5f620000d96200032e60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001c59190620005e5565b6402540be400620001d7919062000635565b60015f620001ea6200032e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002496200023b6200033560201b60201c565b60016200035c60201b60201c565b6200025c3060016200035c60201b60201c565b6200029060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200035c60201b60201c565b620002a06200032e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620002fe9190620005e5565b6402540be40062000310919062000635565b6040516200031f919062000725565b60405180910390a350620007be565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200036c6200032e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620003fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f2906200079e565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004dd57808604811115620004b557620004b462000453565b5b6001851615620004c55780820291505b8081029050620004d58562000480565b945062000495565b94509492505050565b5f82620004f75760019050620005c9565b8162000506575f9050620005c9565b81600181146200051f57600281146200052a5762000560565b6001915050620005c9565b60ff8411156200053f576200053e62000453565b5b8360020a91508482111562000559576200055862000453565b5b50620005c9565b5060208310610133831016604e8410600b84101617156200059a5782820a90508381111562000594576200059362000453565b5b620005c9565b620005a984848460016200048c565b92509050818404811115620005c357620005c262000453565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005f182620005d0565b9150620005fe83620005d9565b92506200062d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004e6565b905092915050565b5f6200064182620005d0565b91506200064e83620005d0565b92508282026200065e81620005d0565b9150828204841483151762000678576200067762000453565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006ae8262000683565b9050919050565b620006c081620006a2565b8114620006cb575f80fd5b50565b5f81519050620006de81620006b5565b92915050565b5f60208284031215620006fc57620006fb6200067f565b5b5f6200070b84828501620006ce565b91505092915050565b6200071f81620005d0565b82525050565b5f6020820190506200073a5f83018462000714565b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200078660208362000740565b9150620007938262000750565b602082019050919050565b5f6020820190508181035f830152620007b78162000778565b9050919050565b6131c380620007cc5f395ff3fe608060405260043610610122575f3560e01c80637d1db4a51161009f57806395d89b411161006357806395d89b4114610375578063a9059cbb1461039f578063bf474bed146103db578063dd62ed3e14610405578063df8408fe1461044157610129565b80637d1db4a5146102cb57806380ae4ebc146102f55780638a8c523c1461030b5780638da5cb5b146103215780638f9a55c01461034b57610129565b8063313ce567116100e6578063313ce567146102235780634619d69f1461024d57806351bc3c851461026357806370a0823114610279578063715018a6146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b50610141610469565b60405161014e9190612320565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906123d1565b6104a6565b60405161018a9190612429565b60405180910390f35b34801561019e575f80fd5b506101a76104c3565b6040516101b49190612451565b60405180910390f35b3480156101c8575f80fd5b506101d16104e3565b6040516101de9190612451565b60405180910390f35b3480156101f2575f80fd5b5061020d6004803603810190610208919061246a565b610507565b60405161021a9190612429565b60405180910390f35b34801561022e575f80fd5b506102376105db565b60405161024491906124d5565b60405180910390f35b348015610258575f80fd5b506102616105e3565b005b34801561026e575f80fd5b50610277610715565b005b348015610284575f80fd5b5061029f600480360381019061029a91906124ee565b6107ac565b6040516102ac9190612451565b60405180910390f35b3480156102c0575f80fd5b506102c96107f2565b005b3480156102d6575f80fd5b506102df610940565b6040516102ec9190612451565b60405180910390f35b348015610300575f80fd5b50610309610946565b005b348015610316575f80fd5b5061031f610e8c565b005b34801561032c575f80fd5b50610335610ffc565b6040516103429190612528565b60405180910390f35b348015610356575f80fd5b5061035f611023565b60405161036c9190612451565b60405180910390f35b348015610380575f80fd5b50610389611029565b6040516103969190612320565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c091906123d1565b611066565b6040516103d29190612429565b60405180910390f35b3480156103e6575f80fd5b506103ef611083565b6040516103fc9190612451565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190612541565b61109f565b6040516104389190612451565b60405180910390f35b34801561044c575f80fd5b50610467600480360381019061046291906125a9565b611121565b005b60606040518060400160405280600681526020017f546572656f6e0000000000000000000000000000000000000000000000000000815250905090565b5f6104b96104b261120d565b8484611214565b6001905092915050565b6009600a6104d19190612743565b63055d4a816104e0919061278d565b81565b5f6009600a6104f29190612743565b6402540be400610502919061278d565b905090565b5f6105138484846113a2565b6105d08461051f61120d565b6105cb856040518060600160405280602881526020016131666028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61058261120d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9a9092919063ffffffff16565b611214565b600190509392505050565b5f6009905090565b6105eb61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e90612818565b60405180910390fd5b6009600a6106859190612743565b6402540be400610695919061278d565b600c819055506009600a6106a99190612743565b6402540be4006106b9919061278d565b600d819055507f09cd51dbb3863eb5590065f7de41ae4950c3ede201a9f214669deadb855d39556009600a6106ee9190612743565b6402540be4006106fe919061278d565b60405161070b9190612451565b60405180910390a1565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075561120d565b73ffffffffffffffffffffffffffffffffffffffff1614610774575f80fd5b5f61077e306107ac565b90505f8111156107925761079181611dfc565b5b5f4790505f8111156107a8576107a781612067565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107fa61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612818565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b61094e61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612818565b60405180910390fd5b600e5f9054906101000a900460ff1615610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090612880565b60405180910390fd5b5f610a88610a716064610a6360146009600a610a459190612743565b6402540be400610a55919061278d565b6120cf90919063ffffffff16565b61214690919063ffffffff16565b610a7a306107ac565b61218f90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b273060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b129190612743565b6402540be400610b22919061278d565b611214565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb591906128b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5f91906128b2565b6040518363ffffffff1660e01b8152600401610c7c9291906128dd565b6020604051808303815f875af1158015610c98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbc91906128b2565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f80610d4561120d565b426040518863ffffffff1660e01b8152600401610d6796959493929190612946565b60606040518083038185885af1158015610d83573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610da891906129b9565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e48929190612a09565b6020604051808303815f875af1158015610e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e889190612a44565b5050565b610e9461120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612818565b60405180910390fd5b600e5f9054906101000a900460ff1615610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6690612ab9565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051610ff2929190612ad7565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600381526020017f54524e0000000000000000000000000000000000000000000000000000000000815250905090565b5f61107961107261120d565b84846113a2565b6001905092915050565b6009600a6110919190612743565b5f61109c919061278d565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61112961120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90612818565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561127c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612b48565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113959190612451565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144090612bb0565b60405180910390fd5b5f811161148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612c3e565b60405180910390fd5b5f611494610ffc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561150257506114d2610ffc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611aea57600e5f9054906101000a900460ff166115f55760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806115b5575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90612ca6565b60405180910390fd5b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561169e575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116f1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117ab57600c5482111561173b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173290612d0e565b60405180910390fd5b600d5482611748856107ac565b6117529190612d2c565b1115611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612da9565b60405180910390fd5b60095f8154809291906117a590612dc7565b91905055505b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561183357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611872576064611861601e6009541161184e57601e611852565b6008545b846120cf90919063ffffffff16565b61186b9190612e3b565b9050611936565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118fa57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611935576064611928600560095411611915576014611919565b6007545b846120cf90919063ffffffff16565b6119329190612e3b565b90505b5b5f611940306107ac565b9050600e60019054906101000a900460ff161580156119ab575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119c35750600e60029054906101000a900460ff165b80156119e657506009600a6119d89190612743565b5f6119e3919061278d565b81115b80156119f457506019600954115b15611ae857600b54431115611a0b575f600a819055505b6002600a5410611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790612eb5565b60405180910390fd5b5f6009600a611a5f9190612743565b63055d4a81611a6e919061278d565b8211611a7a5781611a98565b6009600a611a889190612743565b63055d4a81611a97919061278d565b5b9050611ab1818511611aaa5784611aac565b815b611dfc565b5f4790505f811115611ac757611ac647612067565b5b600a5f815480929190611ad990612dc7565b919050555043600b8190555050505b505b5f811115611be957611b428160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121d890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be09190612451565b60405180910390a35b611c398260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cdc611c90828461218f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121d890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d7f848661218f90919063ffffffff16565b604051611d8c9190612451565b60405180910390a350505050565b5f838311158290611de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd89190612320565b60405180910390fd5b505f8385611def9190612ed3565b9050809150509392505050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3357611e32612f06565b5b604051908082528060200260200182016040528015611e615781602001602082028036833780820191505090505b50905030815f81518110611e7857611e77612f33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4091906128b2565b81600181518110611f5457611f53612f33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fba3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611214565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161201c959493929190613017565b5f604051808303815f87803b158015612033575f80fd5b505af1158015612045573d5f803e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120cb573d5f803e3d5ffd5b5050565b5f8083036120df575f9050612140565b5f82846120ec919061278d565b90508284826120fb9190612e3b565b1461213b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612132906130df565b60405180910390fd5b809150505b92915050565b5f61218783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612235565b905092915050565b5f6121d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9a565b905092915050565b5f8082846121e69190612d2c565b90508381101561222b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222290613147565b60405180910390fd5b8091505092915050565b5f808311829061227b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122729190612320565b60405180910390fd5b505f83856122899190612e3b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122cd5780820151818401526020810190506122b2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122f282612296565b6122fc81856122a0565b935061230c8185602086016122b0565b612315816122d8565b840191505092915050565b5f6020820190508181035f83015261233881846122e8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236d82612344565b9050919050565b61237d81612363565b8114612387575f80fd5b50565b5f8135905061239881612374565b92915050565b5f819050919050565b6123b08161239e565b81146123ba575f80fd5b50565b5f813590506123cb816123a7565b92915050565b5f80604083850312156123e7576123e6612340565b5b5f6123f48582860161238a565b9250506020612405858286016123bd565b9150509250929050565b5f8115159050919050565b6124238161240f565b82525050565b5f60208201905061243c5f83018461241a565b92915050565b61244b8161239e565b82525050565b5f6020820190506124645f830184612442565b92915050565b5f805f6060848603121561248157612480612340565b5b5f61248e8682870161238a565b935050602061249f8682870161238a565b92505060406124b0868287016123bd565b9150509250925092565b5f60ff82169050919050565b6124cf816124ba565b82525050565b5f6020820190506124e85f8301846124c6565b92915050565b5f6020828403121561250357612502612340565b5b5f6125108482850161238a565b91505092915050565b61252281612363565b82525050565b5f60208201905061253b5f830184612519565b92915050565b5f806040838503121561255757612556612340565b5b5f6125648582860161238a565b92505060206125758582860161238a565b9150509250929050565b6125888161240f565b8114612592575f80fd5b50565b5f813590506125a38161257f565b92915050565b5f80604083850312156125bf576125be612340565b5b5f6125cc8582860161238a565b92505060206125dd85828601612595565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266957808604811115612645576126446125e7565b5b60018516156126545780820291505b808102905061266285612614565b9450612629565b94509492505050565b5f82612681576001905061273c565b8161268e575f905061273c565b81600181146126a457600281146126ae576126dd565b600191505061273c565b60ff8411156126c0576126bf6125e7565b5b8360020a9150848211156126d7576126d66125e7565b5b5061273c565b5060208310610133831016604e8410600b84101617156127125782820a90508381111561270d5761270c6125e7565b5b61273c565b61271f8484846001612620565b92509050818404811115612736576127356125e7565b5b81810290505b9392505050565b5f61274d8261239e565b9150612758836124ba565b92506127857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612672565b905092915050565b5f6127978261239e565b91506127a28361239e565b92508282026127b08161239e565b915082820484148315176127c7576127c66125e7565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128026020836122a0565b915061280d826127ce565b602082019050919050565b5f6020820190508181035f83015261282f816127f6565b9050919050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f61286a6013836122a0565b915061287582612836565b602082019050919050565b5f6020820190508181035f8301526128978161285e565b9050919050565b5f815190506128ac81612374565b92915050565b5f602082840312156128c7576128c6612340565b5b5f6128d48482850161289e565b91505092915050565b5f6040820190506128f05f830185612519565b6128fd6020830184612519565b9392505050565b5f819050919050565b5f819050919050565b5f61293061292b61292684612904565b61290d565b61239e565b9050919050565b61294081612916565b82525050565b5f60c0820190506129595f830189612519565b6129666020830188612442565b6129736040830187612937565b6129806060830186612937565b61298d6080830185612519565b61299a60a0830184612442565b979650505050505050565b5f815190506129b3816123a7565b92915050565b5f805f606084860312156129d0576129cf612340565b5b5f6129dd868287016129a5565b93505060206129ee868287016129a5565b92505060406129ff868287016129a5565b9150509250925092565b5f604082019050612a1c5f830185612519565b612a296020830184612442565b9392505050565b5f81519050612a3e8161257f565b92915050565b5f60208284031215612a5957612a58612340565b5b5f612a6684828501612a30565b91505092915050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612aa36014836122a0565b9150612aae82612a6f565b602082019050919050565b5f6020820190508181035f830152612ad081612a97565b9050919050565b5f604082019050612aea5f83018561241a565b612af7602083018461241a565b9392505050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612b32601f836122a0565b9150612b3d82612afe565b602082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612b9a6020836122a0565b9150612ba582612b66565b602082019050919050565b5f6020820190508181035f830152612bc781612b8e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c286029836122a0565b9150612c3382612bce565b604082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f612c906014836122a0565b9150612c9b82612c5c565b602082019050919050565b5f6020820190508181035f830152612cbd81612c84565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cf86019836122a0565b9150612d0382612cc4565b602082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b5f612d368261239e565b9150612d418361239e565b9250828201905080821115612d5957612d586125e7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d93601a836122a0565b9150612d9e82612d5f565b602082019050919050565b5f6020820190508181035f830152612dc081612d87565b9050919050565b5f612dd18261239e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e0357612e026125e7565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e458261239e565b9150612e508361239e565b925082612e6057612e5f612e0e565b5b828204905092915050565b7f4f6e6c7920322073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612e9f6017836122a0565b9150612eaa82612e6b565b602082019050919050565b5f6020820190508181035f830152612ecc81612e93565b9050919050565b5f612edd8261239e565b9150612ee88361239e565b9250828203905081811115612f0057612eff6125e7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f9281612363565b82525050565b5f612fa38383612f89565b60208301905092915050565b5f602082019050919050565b5f612fc582612f60565b612fcf8185612f6a565b9350612fda83612f7a565b805f5b8381101561300a578151612ff18882612f98565b9750612ffc83612faf565b925050600181019050612fdd565b5085935050505092915050565b5f60a08201905061302a5f830188612442565b6130376020830187612937565b81810360408301526130498186612fbb565b90506130586060830185612519565b6130656080830184612442565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130c96021836122a0565b91506130d48261306f565b604082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613131601b836122a0565b915061313c826130fd565b602082019050919050565b5f6020820190508181035f83015261315e81613125565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200185519dbf4b53c4f697e032b0c76acb134978cc5eee83316eb01c6810b477a964736f6c634300081700330000000000000000000000004e93bc7bc411c48174876dae9531966c3b24830b
Deployed Bytecode
0x608060405260043610610122575f3560e01c80637d1db4a51161009f57806395d89b411161006357806395d89b4114610375578063a9059cbb1461039f578063bf474bed146103db578063dd62ed3e14610405578063df8408fe1461044157610129565b80637d1db4a5146102cb57806380ae4ebc146102f55780638a8c523c1461030b5780638da5cb5b146103215780638f9a55c01461034b57610129565b8063313ce567116100e6578063313ce567146102235780634619d69f1461024d57806351bc3c851461026357806370a0823114610279578063715018a6146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b50610141610469565b60405161014e9190612320565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906123d1565b6104a6565b60405161018a9190612429565b60405180910390f35b34801561019e575f80fd5b506101a76104c3565b6040516101b49190612451565b60405180910390f35b3480156101c8575f80fd5b506101d16104e3565b6040516101de9190612451565b60405180910390f35b3480156101f2575f80fd5b5061020d6004803603810190610208919061246a565b610507565b60405161021a9190612429565b60405180910390f35b34801561022e575f80fd5b506102376105db565b60405161024491906124d5565b60405180910390f35b348015610258575f80fd5b506102616105e3565b005b34801561026e575f80fd5b50610277610715565b005b348015610284575f80fd5b5061029f600480360381019061029a91906124ee565b6107ac565b6040516102ac9190612451565b60405180910390f35b3480156102c0575f80fd5b506102c96107f2565b005b3480156102d6575f80fd5b506102df610940565b6040516102ec9190612451565b60405180910390f35b348015610300575f80fd5b50610309610946565b005b348015610316575f80fd5b5061031f610e8c565b005b34801561032c575f80fd5b50610335610ffc565b6040516103429190612528565b60405180910390f35b348015610356575f80fd5b5061035f611023565b60405161036c9190612451565b60405180910390f35b348015610380575f80fd5b50610389611029565b6040516103969190612320565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c091906123d1565b611066565b6040516103d29190612429565b60405180910390f35b3480156103e6575f80fd5b506103ef611083565b6040516103fc9190612451565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190612541565b61109f565b6040516104389190612451565b60405180910390f35b34801561044c575f80fd5b50610467600480360381019061046291906125a9565b611121565b005b60606040518060400160405280600681526020017f546572656f6e0000000000000000000000000000000000000000000000000000815250905090565b5f6104b96104b261120d565b8484611214565b6001905092915050565b6009600a6104d19190612743565b63055d4a816104e0919061278d565b81565b5f6009600a6104f29190612743565b6402540be400610502919061278d565b905090565b5f6105138484846113a2565b6105d08461051f61120d565b6105cb856040518060600160405280602881526020016131666028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61058261120d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9a9092919063ffffffff16565b611214565b600190509392505050565b5f6009905090565b6105eb61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e90612818565b60405180910390fd5b6009600a6106859190612743565b6402540be400610695919061278d565b600c819055506009600a6106a99190612743565b6402540be4006106b9919061278d565b600d819055507f09cd51dbb3863eb5590065f7de41ae4950c3ede201a9f214669deadb855d39556009600a6106ee9190612743565b6402540be4006106fe919061278d565b60405161070b9190612451565b60405180910390a1565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075561120d565b73ffffffffffffffffffffffffffffffffffffffff1614610774575f80fd5b5f61077e306107ac565b90505f8111156107925761079181611dfc565b5b5f4790505f8111156107a8576107a781612067565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107fa61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612818565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c5481565b61094e61120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612818565b60405180910390fd5b600e5f9054906101000a900460ff1615610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090612880565b60405180910390fd5b5f610a88610a716064610a6360146009600a610a459190612743565b6402540be400610a55919061278d565b6120cf90919063ffffffff16565b61214690919063ffffffff16565b610a7a306107ac565b61218f90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b273060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b129190612743565b6402540be400610b22919061278d565b611214565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb591906128b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5f91906128b2565b6040518363ffffffff1660e01b8152600401610c7c9291906128dd565b6020604051808303815f875af1158015610c98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbc91906128b2565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f80610d4561120d565b426040518863ffffffff1660e01b8152600401610d6796959493929190612946565b60606040518083038185885af1158015610d83573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610da891906129b9565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e48929190612a09565b6020604051808303815f875af1158015610e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e889190612a44565b5050565b610e9461120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612818565b60405180910390fd5b600e5f9054906101000a900460ff1615610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6690612ab9565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507fbebe56ab705eea639814ee9785dc503450401ba31e74ac2141f833342388ef35600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051610ff2929190612ad7565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600381526020017f54524e0000000000000000000000000000000000000000000000000000000000815250905090565b5f61107961107261120d565b84846113a2565b6001905092915050565b6009600a6110919190612743565b5f61109c919061278d565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61112961120d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90612818565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561127c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612b48565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113959190612451565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144090612bb0565b60405180910390fd5b5f811161148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290612c3e565b60405180910390fd5b5f611494610ffc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561150257506114d2610ffc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611aea57600e5f9054906101000a900460ff166115f55760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806115b5575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90612ca6565b60405180910390fd5b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561169e575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116f1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117ab57600c5482111561173b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173290612d0e565b60405180910390fd5b600d5482611748856107ac565b6117529190612d2c565b1115611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612da9565b60405180910390fd5b60095f8154809291906117a590612dc7565b91905055505b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561183357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611872576064611861601e6009541161184e57601e611852565b6008545b846120cf90919063ffffffff16565b61186b9190612e3b565b9050611936565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118fa57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611935576064611928600560095411611915576014611919565b6007545b846120cf90919063ffffffff16565b6119329190612e3b565b90505b5b5f611940306107ac565b9050600e60019054906101000a900460ff161580156119ab575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119c35750600e60029054906101000a900460ff165b80156119e657506009600a6119d89190612743565b5f6119e3919061278d565b81115b80156119f457506019600954115b15611ae857600b54431115611a0b575f600a819055505b6002600a5410611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790612eb5565b60405180910390fd5b5f6009600a611a5f9190612743565b63055d4a81611a6e919061278d565b8211611a7a5781611a98565b6009600a611a889190612743565b63055d4a81611a97919061278d565b5b9050611ab1818511611aaa5784611aac565b815b611dfc565b5f4790505f811115611ac757611ac647612067565b5b600a5f815480929190611ad990612dc7565b919050555043600b8190555050505b505b5f811115611be957611b428160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121d890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be09190612451565b60405180910390a35b611c398260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cdc611c90828461218f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121d890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d7f848661218f90919063ffffffff16565b604051611d8c9190612451565b60405180910390a350505050565b5f838311158290611de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd89190612320565b60405180910390fd5b505f8385611def9190612ed3565b9050809150509392505050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3357611e32612f06565b5b604051908082528060200260200182016040528015611e615781602001602082028036833780820191505090505b50905030815f81518110611e7857611e77612f33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4091906128b2565b81600181518110611f5457611f53612f33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fba3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611214565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161201c959493929190613017565b5f604051808303815f87803b158015612033575f80fd5b505af1158015612045573d5f803e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120cb573d5f803e3d5ffd5b5050565b5f8083036120df575f9050612140565b5f82846120ec919061278d565b90508284826120fb9190612e3b565b1461213b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612132906130df565b60405180910390fd5b809150505b92915050565b5f61218783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612235565b905092915050565b5f6121d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9a565b905092915050565b5f8082846121e69190612d2c565b90508381101561222b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222290613147565b60405180910390fd5b8091505092915050565b5f808311829061227b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122729190612320565b60405180910390fd5b505f83856122899190612e3b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122cd5780820151818401526020810190506122b2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122f282612296565b6122fc81856122a0565b935061230c8185602086016122b0565b612315816122d8565b840191505092915050565b5f6020820190508181035f83015261233881846122e8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236d82612344565b9050919050565b61237d81612363565b8114612387575f80fd5b50565b5f8135905061239881612374565b92915050565b5f819050919050565b6123b08161239e565b81146123ba575f80fd5b50565b5f813590506123cb816123a7565b92915050565b5f80604083850312156123e7576123e6612340565b5b5f6123f48582860161238a565b9250506020612405858286016123bd565b9150509250929050565b5f8115159050919050565b6124238161240f565b82525050565b5f60208201905061243c5f83018461241a565b92915050565b61244b8161239e565b82525050565b5f6020820190506124645f830184612442565b92915050565b5f805f6060848603121561248157612480612340565b5b5f61248e8682870161238a565b935050602061249f8682870161238a565b92505060406124b0868287016123bd565b9150509250925092565b5f60ff82169050919050565b6124cf816124ba565b82525050565b5f6020820190506124e85f8301846124c6565b92915050565b5f6020828403121561250357612502612340565b5b5f6125108482850161238a565b91505092915050565b61252281612363565b82525050565b5f60208201905061253b5f830184612519565b92915050565b5f806040838503121561255757612556612340565b5b5f6125648582860161238a565b92505060206125758582860161238a565b9150509250929050565b6125888161240f565b8114612592575f80fd5b50565b5f813590506125a38161257f565b92915050565b5f80604083850312156125bf576125be612340565b5b5f6125cc8582860161238a565b92505060206125dd85828601612595565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266957808604811115612645576126446125e7565b5b60018516156126545780820291505b808102905061266285612614565b9450612629565b94509492505050565b5f82612681576001905061273c565b8161268e575f905061273c565b81600181146126a457600281146126ae576126dd565b600191505061273c565b60ff8411156126c0576126bf6125e7565b5b8360020a9150848211156126d7576126d66125e7565b5b5061273c565b5060208310610133831016604e8410600b84101617156127125782820a90508381111561270d5761270c6125e7565b5b61273c565b61271f8484846001612620565b92509050818404811115612736576127356125e7565b5b81810290505b9392505050565b5f61274d8261239e565b9150612758836124ba565b92506127857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612672565b905092915050565b5f6127978261239e565b91506127a28361239e565b92508282026127b08161239e565b915082820484148315176127c7576127c66125e7565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128026020836122a0565b915061280d826127ce565b602082019050919050565b5f6020820190508181035f83015261282f816127f6565b9050919050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f61286a6013836122a0565b915061287582612836565b602082019050919050565b5f6020820190508181035f8301526128978161285e565b9050919050565b5f815190506128ac81612374565b92915050565b5f602082840312156128c7576128c6612340565b5b5f6128d48482850161289e565b91505092915050565b5f6040820190506128f05f830185612519565b6128fd6020830184612519565b9392505050565b5f819050919050565b5f819050919050565b5f61293061292b61292684612904565b61290d565b61239e565b9050919050565b61294081612916565b82525050565b5f60c0820190506129595f830189612519565b6129666020830188612442565b6129736040830187612937565b6129806060830186612937565b61298d6080830185612519565b61299a60a0830184612442565b979650505050505050565b5f815190506129b3816123a7565b92915050565b5f805f606084860312156129d0576129cf612340565b5b5f6129dd868287016129a5565b93505060206129ee868287016129a5565b92505060406129ff868287016129a5565b9150509250925092565b5f604082019050612a1c5f830185612519565b612a296020830184612442565b9392505050565b5f81519050612a3e8161257f565b92915050565b5f60208284031215612a5957612a58612340565b5b5f612a6684828501612a30565b91505092915050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612aa36014836122a0565b9150612aae82612a6f565b602082019050919050565b5f6020820190508181035f830152612ad081612a97565b9050919050565b5f604082019050612aea5f83018561241a565b612af7602083018461241a565b9392505050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612b32601f836122a0565b9150612b3d82612afe565b602082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612b9a6020836122a0565b9150612ba582612b66565b602082019050919050565b5f6020820190508181035f830152612bc781612b8e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c286029836122a0565b9150612c3382612bce565b604082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f612c906014836122a0565b9150612c9b82612c5c565b602082019050919050565b5f6020820190508181035f830152612cbd81612c84565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cf86019836122a0565b9150612d0382612cc4565b602082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b5f612d368261239e565b9150612d418361239e565b9250828201905080821115612d5957612d586125e7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d93601a836122a0565b9150612d9e82612d5f565b602082019050919050565b5f6020820190508181035f830152612dc081612d87565b9050919050565b5f612dd18261239e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e0357612e026125e7565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e458261239e565b9150612e508361239e565b925082612e6057612e5f612e0e565b5b828204905092915050565b7f4f6e6c7920322073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612e9f6017836122a0565b9150612eaa82612e6b565b602082019050919050565b5f6020820190508181035f830152612ecc81612e93565b9050919050565b5f612edd8261239e565b9150612ee88361239e565b9250828203905081811115612f0057612eff6125e7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f9281612363565b82525050565b5f612fa38383612f89565b60208301905092915050565b5f602082019050919050565b5f612fc582612f60565b612fcf8185612f6a565b9350612fda83612f7a565b805f5b8381101561300a578151612ff18882612f98565b9750612ffc83612faf565b925050600181019050612fdd565b5085935050505092915050565b5f60a08201905061302a5f830188612442565b6130376020830187612937565b81810360408301526130498186612fbb565b90506130586060830185612519565b6130656080830184612442565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130c96021836122a0565b91506130d48261306f565b604082019050919050565b5f6020820190508181035f8301526130f6816130bd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613131601b836122a0565b915061313c826130fd565b602082019050919050565b5f6020820190508181035f83015261315e81613125565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200185519dbf4b53c4f697e032b0c76acb134978cc5eee83316eb01c6810b477a964736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004e93bc7bc411c48174876dae9531966c3b24830b
-----Decoded View---------------
Arg [0] : taxWallet (address): 0x4e93bC7Bc411c48174876dae9531966c3B24830B
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004e93bc7bc411c48174876dae9531966c3b24830b
Deployed Bytecode Sourcemap
3655:8553:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6463:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4847:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5907:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6632:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5816:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11644:156;;;;;;;;;;;;;:::i;:::-;;11845:360;;;;;;;;;;;;;:::i;:::-;;6010:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3500:148;;;;;;;;;;;;;:::i;:::-;;4719:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10559:847;;;;;;;;;;;;;:::i;:::-;;11414:222;;;;;;;;;;;;;:::i;:::-;;3286:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4782:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5721:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6137:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4917:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6312:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9830:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5630:83;5667:13;5700:5;;;;;;;;;;;;;;;;;5693:12;;5630:83;:::o;6463:161::-;6538:4;6555:39;6564:12;:10;:12::i;:::-;6578:7;6587:6;6555:8;:39::i;:::-;6612:4;6605:11;;6463:161;;;;:::o;4847:63::-;4640:1;4896:2;:14;;;;:::i;:::-;4885:8;:25;;;;:::i;:::-;4847:63;:::o;5907:95::-;5960:7;4640:1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;5980:14;;5907:95;:::o;6632:313::-;6730:4;6747:36;6757:6;6765:9;6776:6;6747:9;:36::i;:::-;6794:121;6803:6;6811:12;:10;:12::i;:::-;6825:89;6863:6;6825:89;;;;;;;;;;;;;;;;;:11;:19;6837:6;6825:19;;;;;;;;;;;;;;;:33;6845:12;:10;:12::i;:::-;6825:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6794:8;:121::i;:::-;6933:4;6926:11;;6632:313;;;;;:::o;5816:83::-;5857:5;4640:1;5875:16;;5816:83;:::o;11644:156::-;3423:12;:10;:12::i;:::-;3413:22;;:6;;;;;;;;;;:22;;;3405:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4640:1:::1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;11700:12;:22;;;;4640:1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;11733:14;:24;;;;11773:19;4640:1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;11773:19;;;;;;:::i;:::-;;;;;;;;11644:156::o:0;11845:360::-;11911:10;;;;;;;;;;;11895:26;;:12;:10;:12::i;:::-;:26;;;11887:35;;;;;;11933:20;11956:24;11974:4;11956:9;:24::i;:::-;11933:47;;12009:1;11994:12;:16;11991:75;;;12024:30;12041:12;12024:16;:30::i;:::-;11991:75;12078:18;12099:21;12078:42;;12147:1;12134:10;:14;12131:67;;;12162:24;12175:10;12162:12;:24::i;:::-;12131:67;11876:329;;11845:360::o;6010:119::-;6076:7;6103:9;:18;6113:7;6103:18;;;;;;;;;;;;;;;;6096:25;;6010:119;;;:::o;3500:148::-;3423:12;:10;:12::i;:::-;3413:22;;:6;;;;;;;;;;:22;;;3405:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3607:1:::1;3570:40;;3591:6;::::0;::::1;;;;;;;;3570:40;;;;;;;;;;;;3638:1;3621:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3500:148::o:0;4719:56::-;;;;:::o;10559:847::-;3423:12;:10;:12::i;:::-;3413:22;;:6;;;;;;;;;;:22;;;3405:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10622:11:::1;;;;;;;;;;;10621:12;10613:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;10667:19;10689:66;10718:36;10750:3;10718:27;4099:2;4640:1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;10718:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;10689:24;10707:4;10689:9;:24::i;:::-;:28;;:66;;;;:::i;:::-;10667:88;;10803:42;10766:15;;:80;;;;;;;;;;;;;;;;;;10857:58;10874:4;10889:15;;;;;;;;;;;4640:1;4697:2;:13;;;;:::i;:::-;4683:11;:27;;;;:::i;:::-;10857:8;:58::i;:::-;10974:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10942:83;;;11034:4;11055:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10942:146;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10926:13;;:162;;;;;;;;;;;;;;;;;;11099:15;;;;;;;;;;;:31;;;11138:21;11184:4;11204:11;11230:1;11246::::0;11262:12:::1;:10;:12::i;:::-;11289:15;11099:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11333:13;;;;;;;;;;;11326:29;;;11364:15;;;;;;;;;;;11382:14;11326:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10602:804;10559:847::o:0;11414:222::-;3423:12;:10;:12::i;:::-;3413:22;;:6;;;;;;;;;;:22;;;3405:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11479:11:::1;;;;;;;;;;;11478:12;11470:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11539:4;11525:11;;:18;;;;;;;;;;;;;;;;;;11568:4;11554:11;;:18;;;;;;;;;;;;;;;;;;11588:40;11604:11;;;;;;;;;;;11616;;;;;;;;;;;11588:40;;;;;;;:::i;:::-;;;;;;;;11414:222::o:0;3286:79::-;3324:7;3351:6;;;;;;;;;;;3344:13;;3286:79;:::o;4782:58::-;;;;:::o;5721:87::-;5760:13;5793:7;;;;;;;;;;;;;;;;;5786:14;;5721:87;:::o;6137:167::-;6215:4;6232:42;6242:12;:10;:12::i;:::-;6256:9;6267:6;6232:9;:42::i;:::-;6292:4;6285:11;;6137:167;;;;:::o;4917:62::-;4640:1;4965:2;:14;;;;:::i;:::-;4961:1;:18;;;;:::i;:::-;4917:62;:::o;6312:143::-;6393:7;6420:11;:18;6432:5;6420:18;;;;;;;;;;;;;;;:27;6439:7;6420:27;;;;;;;;;;;;;;;;6413:34;;6312:143;;;;:::o;9830:130::-;3423:12;:10;:12::i;:::-;3413:22;;:6;;;;;;;;;;:22;;;3405:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9944:8:::1;9914:18;:27;9933:7;9914:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;9830:130:::0;;:::o;2863:98::-;2916:7;2943:10;2936:17;;2863:98;:::o;6953:276::-;7063:1;7046:19;;:5;:19;;;;:44;;;;;7088:1;7069:21;;:7;:21;;;;7046:44;7038:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;7167:6;7137:11;:18;7149:5;7137:18;;;;;;;;;;;;;;;:27;7156:7;7137:27;;;;;;;;;;;;;;;:36;;;;7205:7;7189:32;;7198:5;7189:32;;;7214:6;7189:32;;;;;;:::i;:::-;;;;;;;;6953:276;;;:::o;7237:2585::-;7341:1;7325:18;;:4;:18;;;;:38;;;;;7361:1;7347:16;;:2;:16;;;;7325:38;7317:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;7428:1;7419:6;:10;7411:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7488:17;7532:7;:5;:7::i;:::-;7524:15;;:4;:15;;;;:32;;;;;7549:7;:5;:7::i;:::-;7543:13;;:2;:13;;;;7524:32;7520:1946;;;7580:11;;;;;;;;;;;7576:195;;7641:18;:22;7660:2;7641:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7667:18;:24;7686:4;7667:24;;;;;;;;;;;;;;;;;;;;;;;;;7641:50;7611:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;7576:195;7799:13;;;;;;;;;;;7791:21;;:4;:21;;;:55;;;;;7830:15;;;;;;;;;;;7816:30;;:2;:30;;;;7791:55;:83;;;;;7852:18;:22;7871:2;7852:22;;;;;;;;;;;;;;;;;;;;;;;;;7850:24;7791:83;7787:313;;;7914:12;;7904:6;:22;;7896:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8009:14;;7999:6;7983:13;7993:2;7983:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7975:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8073:9;;:11;;;;;;;;;:::i;:::-;;;;;;7787:313;8138:13;;;;;;;;;;;8132:19;;:2;:19;;;:43;;;;;8170:4;8155:20;;:4;:20;;;;8132:43;8128:361;;;8279:3;8208:70;4249:2;8220:9;;:26;8219:58;;4149:2;8219:58;;;8248:13;;8219:58;8208:6;:10;;:70;;;;:::i;:::-;:74;;;;:::i;:::-;8196:86;;8128:361;;;8334:13;;;;;;;;;;;8326:21;;:4;:21;;;:43;;;;;8364:4;8351:18;;:2;:18;;;;8326:43;8322:167;;;8470:3;8402:67;4199:1;8414:9;;:25;8413:55;;4099:2;8413:55;;;8441:12;;8413:55;8402:6;:10;;:67;;;;:::i;:::-;:71;;;;:::i;:::-;8390:83;;8322:167;8128:361;8505:28;8536:24;8554:4;8536:9;:24::i;:::-;8505:55;;8598:6;;;;;;;;;;;8597:7;:48;;;;;8632:13;;;;;;;;;;;8626:19;;:2;:19;;;8597:48;:81;;;;;8667:11;;;;;;;;;;;8597:81;:143;;;;;4640:1;4965:2;:14;;;;:::i;:::-;4961:1;:18;;;;:::i;:::-;8700:20;:40;8597:143;:195;;;;;4302:2;8762:9;;:30;8597:195;8575:880;;;8846:13;;8831:12;:28;8827:90;;;8896:1;8884:9;:13;;;;8827:90;8953:1;8943:9;;:11;8935:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9001:19;4640:1;4896:2;:14;;;;:::i;:::-;4885:8;:25;;;;:::i;:::-;9024:20;:34;9023:69;;9072:20;9023:69;;;4640:1;4896:2;:14;;;;:::i;:::-;4885:8;:25;;;;:::i;:::-;9023:69;9001:91;;9111:59;9138:11;9129:6;:20;9128:41;;9163:6;9128:41;;;9151:11;9128:41;9111:16;:59::i;:::-;9189:26;9218:21;9189:50;;9282:1;9261:18;:22;9258:105;;;9308:35;9321:21;9308:12;:35::i;:::-;9258:105;9381:9;;:11;;;;;;;;;:::i;:::-;;;;;;9427:12;9411:13;:28;;;;8808:647;;8575:880;7558:1908;7520:1946;9491:1;9481:9;:11;9478:161;;;9531:39;9560:9;9531;:24;9549:4;9531:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9506:9;:24;9524:4;9506:24;;;;;;;;;;;;;;;:64;;;;9611:4;9588:39;;9597:4;9588:39;;;9617:9;9588:39;;;;;;:::i;:::-;;;;;;;;9478:161;9665:27;9685:6;9665:9;:15;9675:4;9665:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9649:9;:15;9659:4;9649:15;;;;;;;;;;;;;;;:43;;;;9717:40;9735:21;9746:9;9735:6;:10;;:21;;;;:::i;:::-;9717:9;:13;9727:2;9717:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9703:9;:13;9713:2;9703:13;;;;;;;;;;;;;;;:54;;;;9788:2;9773:41;;9782:4;9773:41;;;9792:21;9803:9;9792:6;:10;;:21;;;;:::i;:::-;9773:41;;;;;;:::i;:::-;;;;;;;;7306:2516;7237:2585;;;:::o;603:190::-;689:7;722:1;717;:6;;725:12;709:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;749:9;765:1;761;:5;;;;:::i;:::-;749:17;;784:1;777:8;;;603:190;;;;;:::o;10068:483::-;5239:4;5230:6;;:13;;;;;;;;;;;;;;;;;;10146:21:::1;10184:1;10170:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10146:40;;10215:4;10197;10202:1;10197:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10241:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10231:4;10236:1;10231:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10274:62;10291:4;10306:15;;;;;;;;;;;10324:11;10274:8;:62::i;:::-;10347:15;;;;;;;;;;;:66;;;10428:11;10454:1;10470:4;10497;10517:15;10347:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10135:416;5275:5:::0;5266:6;;:14;;;;;;;;;;;;;;;;;;10068:483;:::o;9968:92::-;10025:10;;;;;;;;;;;:19;;:27;10045:6;10025:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9968:92;:::o;801:246::-;859:7;888:1;883;:6;879:47;;913:1;906:8;;;;879:47;936:9;952:1;948;:5;;;;:::i;:::-;936:17;;981:1;976;972;:5;;;;:::i;:::-;:10;964:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1038:1;1031:8;;;801:246;;;;;:::o;1055:132::-;1113:7;1140:39;1144:1;1147;1140:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1133:46;;1055:132;;;;:::o;459:136::-;517:7;544:43;548:1;551;544:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;537:50;;459:136;;;;:::o;272:179::-;330:7;350:9;366:1;362;:5;;;;:::i;:::-;350:17;;391:1;386;:6;;378:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;442:1;435:8;;;272:179;;;;:::o;1195:189::-;1281:7;1313:1;1309;:5;1316:12;1301:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1340:9;1356:1;1352;:5;;;;:::i;:::-;1340:17;;1375:1;1368:8;;;1195:189;;;;;:::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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:116::-;6090:21;6105:5;6090:21;:::i;:::-;6083:5;6080:32;6070:60;;6126:1;6123;6116:12;6070:60;6020:116;:::o;6142:133::-;6185:5;6223:6;6210:20;6201:29;;6239:30;6263:5;6239:30;:::i;:::-;6142:133;;;;:::o;6281:468::-;6346:6;6354;6403:2;6391:9;6382:7;6378:23;6374:32;6371:119;;;6409:79;;:::i;:::-;6371:119;6529:1;6554:53;6599:7;6590:6;6579:9;6575:22;6554:53;:::i;:::-;6544:63;;6500:117;6656:2;6682:50;6724:7;6715:6;6704:9;6700:22;6682:50;:::i;:::-;6672:60;;6627:115;6281:468;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:102;6983:8;7030:5;7027:1;7023:13;7002:34;;6941:102;;;:::o;7049:848::-;7110:5;7117:4;7141:6;7132:15;;7165:5;7156:14;;7179:712;7200:1;7190:8;7187:15;7179:712;;;7295:4;7290:3;7286:14;7280:4;7277:24;7274:50;;;7304:18;;:::i;:::-;7274:50;7354:1;7344:8;7340:16;7337:451;;;7769:4;7762:5;7758:16;7749:25;;7337:451;7819:4;7813;7809:15;7801:23;;7849:32;7872:8;7849:32;:::i;:::-;7837:44;;7179:712;;;7049:848;;;;;;;:::o;7903:1073::-;7957:5;8148:8;8138:40;;8169:1;8160:10;;8171:5;;8138:40;8197:4;8187:36;;8214:1;8205:10;;8216:5;;8187:36;8283:4;8331:1;8326:27;;;;8367:1;8362:191;;;;8276:277;;8326:27;8344:1;8335:10;;8346:5;;;8362:191;8407:3;8397:8;8394:17;8391:43;;;8414:18;;:::i;:::-;8391:43;8463:8;8460:1;8456:16;8447:25;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;;8276:277;;8662:2;8652:8;8649:16;8643:3;8637:4;8634:13;8630:36;8612:2;8602:8;8599:16;8594:2;8588:4;8585:12;8581:35;8565:111;8562:246;;;8718:8;8712:4;8708:19;8699:28;;8753:3;8746:5;8743:14;8740:40;;;8760:18;;:::i;:::-;8740:40;8793:5;;8562:246;8833:42;8871:3;8861:8;8855:4;8852:1;8833:42;:::i;:::-;8818:57;;;;8907:4;8902:3;8898:14;8891:5;8888:25;8885:51;;;8916:18;;:::i;:::-;8885:51;8965:4;8958:5;8954:16;8945:25;;7903:1073;;;;;;:::o;8982:281::-;9040:5;9064:23;9082:4;9064:23;:::i;:::-;9056:31;;9108:25;9124:8;9108:25;:::i;:::-;9096:37;;9152:104;9189:66;9179:8;9173:4;9152:104;:::i;:::-;9143:113;;8982:281;;;;:::o;9269:410::-;9309:7;9332:20;9350:1;9332:20;:::i;:::-;9327:25;;9366:20;9384:1;9366:20;:::i;:::-;9361:25;;9421:1;9418;9414:9;9443:30;9461:11;9443:30;:::i;:::-;9432:41;;9622:1;9613:7;9609:15;9606:1;9603:22;9583:1;9576:9;9556:83;9533:139;;9652:18;;:::i;:::-;9533:139;9317:362;9269:410;;;;:::o;9685:182::-;9825:34;9821:1;9813:6;9809:14;9802:58;9685:182;:::o;9873:366::-;10015:3;10036:67;10100:2;10095:3;10036:67;:::i;:::-;10029:74;;10112:93;10201:3;10112:93;:::i;:::-;10230:2;10225:3;10221:12;10214:19;;9873:366;;;:::o;10245:419::-;10411:4;10449:2;10438:9;10434:18;10426:26;;10498:9;10492:4;10488:20;10484:1;10473:9;10469:17;10462:47;10526:131;10652:4;10526:131;:::i;:::-;10518:139;;10245:419;;;:::o;10670:169::-;10810:21;10806:1;10798:6;10794:14;10787:45;10670:169;:::o;10845:366::-;10987:3;11008:67;11072:2;11067:3;11008:67;:::i;:::-;11001:74;;11084:93;11173:3;11084:93;:::i;:::-;11202:2;11197:3;11193:12;11186:19;;10845:366;;;:::o;11217:419::-;11383:4;11421:2;11410:9;11406:18;11398:26;;11470:9;11464:4;11460:20;11456:1;11445:9;11441:17;11434:47;11498:131;11624:4;11498:131;:::i;:::-;11490:139;;11217:419;;;:::o;11642:143::-;11699:5;11730:6;11724:13;11715:22;;11746:33;11773:5;11746:33;:::i;:::-;11642:143;;;;:::o;11791:351::-;11861:6;11910:2;11898:9;11889:7;11885:23;11881:32;11878:119;;;11916:79;;:::i;:::-;11878:119;12036:1;12061:64;12117:7;12108:6;12097:9;12093:22;12061:64;:::i;:::-;12051:74;;12007:128;11791:351;;;;:::o;12148:332::-;12269:4;12307:2;12296:9;12292:18;12284:26;;12320:71;12388:1;12377:9;12373:17;12364:6;12320:71;:::i;:::-;12401:72;12469:2;12458:9;12454:18;12445:6;12401:72;:::i;:::-;12148:332;;;;;:::o;12486:85::-;12531:7;12560:5;12549:16;;12486:85;;;:::o;12577:60::-;12605:3;12626:5;12619:12;;12577:60;;;:::o;12643:158::-;12701:9;12734:61;12752:42;12761:32;12787:5;12761:32;:::i;:::-;12752:42;:::i;:::-;12734:61;:::i;:::-;12721:74;;12643:158;;;:::o;12807:147::-;12902:45;12941:5;12902:45;:::i;:::-;12897:3;12890:58;12807:147;;:::o;12960:807::-;13209:4;13247:3;13236:9;13232:19;13224:27;;13261:71;13329:1;13318:9;13314:17;13305:6;13261:71;:::i;:::-;13342:72;13410:2;13399:9;13395:18;13386:6;13342:72;:::i;:::-;13424:80;13500:2;13489:9;13485:18;13476:6;13424:80;:::i;:::-;13514;13590:2;13579:9;13575:18;13566:6;13514:80;:::i;:::-;13604:73;13672:3;13661:9;13657:19;13648:6;13604:73;:::i;:::-;13687;13755:3;13744:9;13740:19;13731:6;13687:73;:::i;:::-;12960:807;;;;;;;;;:::o;13773:143::-;13830:5;13861:6;13855:13;13846:22;;13877:33;13904:5;13877:33;:::i;:::-;13773:143;;;;:::o;13922:663::-;14010:6;14018;14026;14075:2;14063:9;14054:7;14050:23;14046:32;14043:119;;;14081:79;;:::i;:::-;14043:119;14201:1;14226:64;14282:7;14273:6;14262:9;14258:22;14226:64;:::i;:::-;14216:74;;14172:128;14339:2;14365:64;14421:7;14412:6;14401:9;14397:22;14365:64;:::i;:::-;14355:74;;14310:129;14478:2;14504:64;14560:7;14551:6;14540:9;14536:22;14504:64;:::i;:::-;14494:74;;14449:129;13922:663;;;;;:::o;14591:332::-;14712:4;14750:2;14739:9;14735:18;14727:26;;14763:71;14831:1;14820:9;14816:17;14807:6;14763:71;:::i;:::-;14844:72;14912:2;14901:9;14897:18;14888:6;14844:72;:::i;:::-;14591:332;;;;;:::o;14929:137::-;14983:5;15014:6;15008:13;14999:22;;15030:30;15054:5;15030:30;:::i;:::-;14929:137;;;;:::o;15072:345::-;15139:6;15188:2;15176:9;15167:7;15163:23;15159:32;15156:119;;;15194:79;;:::i;:::-;15156:119;15314:1;15339:61;15392:7;15383:6;15372:9;15368:22;15339:61;:::i;:::-;15329:71;;15285:125;15072:345;;;;:::o;15423:170::-;15563:22;15559:1;15551:6;15547:14;15540:46;15423:170;:::o;15599:366::-;15741:3;15762:67;15826:2;15821:3;15762:67;:::i;:::-;15755:74;;15838:93;15927:3;15838:93;:::i;:::-;15956:2;15951:3;15947:12;15940:19;;15599:366;;;:::o;15971:419::-;16137:4;16175:2;16164:9;16160:18;16152:26;;16224:9;16218:4;16214:20;16210:1;16199:9;16195:17;16188:47;16252:131;16378:4;16252:131;:::i;:::-;16244:139;;15971:419;;;:::o;16396:308::-;16505:4;16543:2;16532:9;16528:18;16520:26;;16556:65;16618:1;16607:9;16603:17;16594:6;16556:65;:::i;:::-;16631:66;16693:2;16682:9;16678:18;16669:6;16631:66;:::i;:::-;16396:308;;;;;:::o;16710:181::-;16850:33;16846:1;16838:6;16834:14;16827:57;16710:181;:::o;16897:366::-;17039:3;17060:67;17124:2;17119:3;17060:67;:::i;:::-;17053:74;;17136:93;17225:3;17136:93;:::i;:::-;17254:2;17249:3;17245:12;17238:19;;16897:366;;;:::o;17269:419::-;17435:4;17473:2;17462:9;17458:18;17450:26;;17522:9;17516:4;17512:20;17508:1;17497:9;17493:17;17486:47;17550:131;17676:4;17550:131;:::i;:::-;17542:139;;17269:419;;;:::o;17694:182::-;17834:34;17830:1;17822:6;17818:14;17811:58;17694:182;:::o;17882:366::-;18024:3;18045:67;18109:2;18104:3;18045:67;:::i;:::-;18038:74;;18121:93;18210:3;18121:93;:::i;:::-;18239:2;18234:3;18230:12;18223:19;;17882:366;;;:::o;18254:419::-;18420:4;18458:2;18447:9;18443:18;18435:26;;18507:9;18501:4;18497:20;18493:1;18482:9;18478:17;18471:47;18535:131;18661:4;18535:131;:::i;:::-;18527:139;;18254:419;;;:::o;18679:228::-;18819:34;18815:1;18807:6;18803:14;18796:58;18888:11;18883:2;18875:6;18871:15;18864:36;18679:228;:::o;18913:366::-;19055:3;19076:67;19140:2;19135:3;19076:67;:::i;:::-;19069:74;;19152:93;19241:3;19152:93;:::i;:::-;19270:2;19265:3;19261:12;19254:19;;18913:366;;;:::o;19285:419::-;19451:4;19489:2;19478:9;19474:18;19466:26;;19538:9;19532:4;19528:20;19524:1;19513:9;19509:17;19502:47;19566:131;19692:4;19566:131;:::i;:::-;19558:139;;19285:419;;;:::o;19710:170::-;19850:22;19846:1;19838:6;19834:14;19827:46;19710:170;:::o;19886:366::-;20028:3;20049:67;20113:2;20108:3;20049:67;:::i;:::-;20042:74;;20125:93;20214:3;20125:93;:::i;:::-;20243:2;20238:3;20234:12;20227:19;;19886:366;;;:::o;20258:419::-;20424:4;20462:2;20451:9;20447:18;20439:26;;20511:9;20505:4;20501:20;20497:1;20486:9;20482:17;20475:47;20539:131;20665:4;20539:131;:::i;:::-;20531:139;;20258:419;;;:::o;20683:175::-;20823:27;20819:1;20811:6;20807:14;20800:51;20683:175;:::o;20864:366::-;21006:3;21027:67;21091:2;21086:3;21027:67;:::i;:::-;21020:74;;21103:93;21192:3;21103:93;:::i;:::-;21221:2;21216:3;21212:12;21205:19;;20864:366;;;:::o;21236:419::-;21402:4;21440:2;21429:9;21425:18;21417:26;;21489:9;21483:4;21479:20;21475:1;21464:9;21460:17;21453:47;21517:131;21643:4;21517:131;:::i;:::-;21509:139;;21236:419;;;:::o;21661:191::-;21701:3;21720:20;21738:1;21720:20;:::i;:::-;21715:25;;21754:20;21772:1;21754:20;:::i;:::-;21749:25;;21797:1;21794;21790:9;21783:16;;21818:3;21815:1;21812:10;21809:36;;;21825:18;;:::i;:::-;21809:36;21661:191;;;;:::o;21858:176::-;21998:28;21994:1;21986:6;21982:14;21975:52;21858:176;:::o;22040:366::-;22182:3;22203:67;22267:2;22262:3;22203:67;:::i;:::-;22196:74;;22279:93;22368:3;22279:93;:::i;:::-;22397:2;22392:3;22388:12;22381:19;;22040:366;;;:::o;22412:419::-;22578:4;22616:2;22605:9;22601:18;22593:26;;22665:9;22659:4;22655:20;22651:1;22640:9;22636:17;22629:47;22693:131;22819:4;22693:131;:::i;:::-;22685:139;;22412:419;;;:::o;22837:233::-;22876:3;22899:24;22917:5;22899:24;:::i;:::-;22890:33;;22945:66;22938:5;22935:77;22932:103;;23015:18;;:::i;:::-;22932:103;23062:1;23055:5;23051:13;23044:20;;22837:233;;;:::o;23076:180::-;23124:77;23121:1;23114:88;23221:4;23218:1;23211:15;23245:4;23242:1;23235:15;23262:185;23302:1;23319:20;23337:1;23319:20;:::i;:::-;23314:25;;23353:20;23371:1;23353:20;:::i;:::-;23348:25;;23392:1;23382:35;;23397:18;;:::i;:::-;23382:35;23439:1;23436;23432:9;23427:14;;23262:185;;;;:::o;23453:173::-;23593:25;23589:1;23581:6;23577:14;23570:49;23453:173;:::o;23632:366::-;23774:3;23795:67;23859:2;23854:3;23795:67;:::i;:::-;23788:74;;23871:93;23960:3;23871:93;:::i;:::-;23989:2;23984:3;23980:12;23973:19;;23632:366;;;:::o;24004:419::-;24170:4;24208:2;24197:9;24193:18;24185:26;;24257:9;24251:4;24247:20;24243:1;24232:9;24228:17;24221:47;24285:131;24411:4;24285:131;:::i;:::-;24277:139;;24004:419;;;:::o;24429:194::-;24469:4;24489:20;24507:1;24489:20;:::i;:::-;24484:25;;24523:20;24541:1;24523:20;:::i;:::-;24518:25;;24567:1;24564;24560:9;24552:17;;24591:1;24585:4;24582:11;24579:37;;;24596:18;;:::i;:::-;24579:37;24429:194;;;;:::o;24629:180::-;24677:77;24674:1;24667:88;24774:4;24771:1;24764:15;24798:4;24795:1;24788:15;24815:180;24863:77;24860:1;24853:88;24960:4;24957:1;24950:15;24984:4;24981:1;24974:15;25001:114;25068:6;25102:5;25096:12;25086:22;;25001:114;;;:::o;25121:184::-;25220:11;25254:6;25249:3;25242:19;25294:4;25289:3;25285:14;25270:29;;25121:184;;;;:::o;25311:132::-;25378:4;25401:3;25393:11;;25431:4;25426:3;25422:14;25414:22;;25311:132;;;:::o;25449:108::-;25526:24;25544:5;25526:24;:::i;:::-;25521:3;25514:37;25449:108;;:::o;25563:179::-;25632:10;25653:46;25695:3;25687:6;25653:46;:::i;:::-;25731:4;25726:3;25722:14;25708:28;;25563:179;;;;:::o;25748:113::-;25818:4;25850;25845:3;25841:14;25833:22;;25748:113;;;:::o;25897:732::-;26016:3;26045:54;26093:5;26045:54;:::i;:::-;26115:86;26194:6;26189:3;26115:86;:::i;:::-;26108:93;;26225:56;26275:5;26225:56;:::i;:::-;26304:7;26335:1;26320:284;26345:6;26342:1;26339:13;26320:284;;;26421:6;26415:13;26448:63;26507:3;26492:13;26448:63;:::i;:::-;26441:70;;26534:60;26587:6;26534:60;:::i;:::-;26524:70;;26380:224;26367:1;26364;26360:9;26355:14;;26320:284;;;26324:14;26620:3;26613:10;;26021:608;;;25897:732;;;;:::o;26635:831::-;26898:4;26936:3;26925:9;26921:19;26913:27;;26950:71;27018:1;27007:9;27003:17;26994:6;26950:71;:::i;:::-;27031:80;27107:2;27096:9;27092:18;27083:6;27031:80;:::i;:::-;27158:9;27152:4;27148:20;27143:2;27132:9;27128:18;27121:48;27186:108;27289:4;27280:6;27186:108;:::i;:::-;27178:116;;27304:72;27372:2;27361:9;27357:18;27348:6;27304:72;:::i;:::-;27386:73;27454:3;27443:9;27439:19;27430:6;27386:73;:::i;:::-;26635:831;;;;;;;;:::o;27472:220::-;27612:34;27608:1;27600:6;27596:14;27589:58;27681:3;27676:2;27668:6;27664:15;27657:28;27472:220;:::o;27698:366::-;27840:3;27861:67;27925:2;27920:3;27861:67;:::i;:::-;27854:74;;27937:93;28026:3;27937:93;:::i;:::-;28055:2;28050:3;28046:12;28039:19;;27698:366;;;:::o;28070:419::-;28236:4;28274:2;28263:9;28259:18;28251:26;;28323:9;28317:4;28313:20;28309:1;28298:9;28294:17;28287:47;28351:131;28477:4;28351:131;:::i;:::-;28343:139;;28070:419;;;:::o;28495:177::-;28635:29;28631:1;28623:6;28619:14;28612:53;28495:177;:::o;28678:366::-;28820:3;28841:67;28905:2;28900:3;28841:67;:::i;:::-;28834:74;;28917:93;29006:3;28917:93;:::i;:::-;29035:2;29030:3;29026:12;29019:19;;28678:366;;;:::o;29050:419::-;29216:4;29254:2;29243:9;29239:18;29231:26;;29303:9;29297:4;29293:20;29289:1;29278:9;29274:17;29267:47;29331:131;29457:4;29331:131;:::i;:::-;29323:139;;29050:419;;;:::o
Swarm Source
ipfs://0185519dbf4b53c4f697e032b0c76acb134978cc5eee83316eb01c6810b477a9
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.