ERC-20
Overview
Max Total Supply
420,000,000 LOAF
Holders
174
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.570362342154864315 LOAFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LoafTheBread
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-11 */ // SPDX-License-Identifier: MIT /* Telegram : https://t.me/loafportal Twitter : https://twitter.com/loafthebreadeth Website : https://loafthebread.xyz/ */ pragma solidity 0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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); } contract LoafTheBread 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; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; // Taxes uint256 private _buyTax = 15; uint256 private _sellTax = 20; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 420000000 * 10**_decimals; string private constant _name = unicode"Loaf The Bread"; string private constant _symbol = unicode"LOAF"; uint256 public _maxTxAmount = _tTotal * 3 / 1000; uint256 public _maxWalletSize = _tTotal * 30 / 10000; uint256 public _taxSwapThreshold= _tTotal * 10 / 10000; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address taxWallet) { _taxWallet = payable(taxWallet); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_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), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { taxAmount = amount.mul(_buyTax).div(100); require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount.mul(_sellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) { if(amount >= _taxSwapThreshold) { swapTokensForEth(_taxSwapThreshold); } else { swapTokensForEth(amount); } } } 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 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(_taxWallet), block.timestamp ); } function reduceBuyTax(uint256 tax) external onlyOwner { require(tax <= 45, "Tax should be less than or equal to 45"); _buyTax = tax; } function reduceSellTax(uint256 tax) external onlyOwner { require(tax <= 45, "Tax should be less than or equal to 45"); _sellTax = tax; } function setMaxTransaction(uint256 percent) external onlyOwner { _maxTxAmount = _tTotal * percent / 1000; } function setMaxWallet(uint256 percent) external onlyOwner { _maxWalletSize = _tTotal * percent / 1000; } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function disableTransferDelay() external onlyOwner { transferDelayEnabled=false; } function openTrading() external onlyOwner() { require(!tradingOpen,"Trading is already open"); 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),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"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":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"reduceBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"reduceSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxWallet","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
6080604052600160055f6101000a81548160ff021916908315150217905550600f60065560146007556103e860036012600a6200003d91906200063d565b631908b1006200004e91906200068d565b6200005a91906200068d565b62000066919062000704565b600855612710601e6012600a6200007e91906200063d565b631908b1006200008f91906200068d565b6200009b91906200068d565b620000a7919062000704565b600955612710600a6012600a620000bf91906200063d565b631908b100620000d091906200068d565b620000dc91906200068d565b620000e8919062000704565b600a555f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff0219169083151502179055503480156200012b575f80fd5b5060405162003b2038038062003b208339818101604052810190620001519190620007a0565b5f620001626200047d60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200024f91906200063d565b631908b1006200026091906200068d565b60015f620002736200047d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002c56200048460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003f06200047d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200044e91906200063d565b631908b1006200045f91906200068d565b6040516200046e9190620007e1565b60405180910390a350620007fc565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000535578086048111156200050d576200050c620004ab565b5b60018516156200051d5780820291505b80810290506200052d85620004d8565b9450620004ed565b94509492505050565b5f826200054f576001905062000621565b816200055e575f905062000621565b81600181146200057757600281146200058257620005b8565b600191505062000621565b60ff841115620005975762000596620004ab565b5b8360020a915084821115620005b157620005b0620004ab565b5b5062000621565b5060208310610133831016604e8410600b8410161715620005f25782820a905083811115620005ec57620005eb620004ab565b5b62000621565b620006018484846001620004e4565b925090508184048111156200061b576200061a620004ab565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006498262000628565b9150620006568362000631565b9250620006857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200053e565b905092915050565b5f620006998262000628565b9150620006a68362000628565b9250828202620006b68162000628565b91508282048414831517620006d057620006cf620004ab565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620007108262000628565b91506200071d8362000628565b92508262000730576200072f620006d7565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200076a826200073f565b9050919050565b6200077c816200075e565b811462000787575f80fd5b50565b5f815190506200079a8162000771565b92915050565b5f60208284031215620007b857620007b76200073b565b5b5f620007c7848285016200078a565b91505092915050565b620007db8162000628565b82525050565b5f602082019050620007f65f830184620007d0565b92915050565b613316806200080a5f395ff3fe608060405260043610610138575f3560e01c80638f9a55c0116100aa578063bfb3f31d1161006e578063bfb3f31d146103ff578063c876d0b914610427578063c9567bf914610451578063dd62ed3e14610467578063e884f260146104a3578063f28f5f66146104b95761013f565b80638f9a55c01461031d57806395d89b4114610347578063a9059cbb14610371578063ab5a1887146103ad578063bf474bed146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638da5cb5b146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b6040516101649190612396565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612447565b61051e565b6040516101a0919061249f565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca91906124c7565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f491906124e0565b61055e565b604051610206919061249f565b60405180910390f35b34801561021a575f80fd5b50610223610632565b604051610230919061254b565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a9190612564565b61063a565b005b34801561026c575f80fd5b506102876004803603810190610282919061258f565b61070c565b60405161029491906124c7565b60405180910390f35b3480156102a8575f80fd5b506102b1610752565b005b3480156102be575f80fd5b506102c76108a0565b005b3480156102d4575f80fd5b506102dd6109e8565b6040516102ea91906124c7565b60405180910390f35b3480156102fe575f80fd5b506103076109ee565b60405161031491906125c9565b60405180910390f35b348015610328575f80fd5b50610331610a15565b60405161033e91906124c7565b60405180910390f35b348015610352575f80fd5b5061035b610a1b565b6040516103689190612396565b60405180910390f35b34801561037c575f80fd5b5061039760048036038101906103929190612447565b610a58565b6040516103a4919061249f565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190612564565b610a75565b005b3480156103e0575f80fd5b506103e9610b47565b6040516103f691906124c7565b60405180910390f35b34801561040a575f80fd5b5061042560048036038101906104209190612564565b610b4d565b005b348015610432575f80fd5b5061043b610c2f565b604051610448919061249f565b60405180910390f35b34801561045c575f80fd5b50610465610c41565b005b348015610472575f80fd5b5061048d600480360381019061048891906125e2565b611163565b60405161049a91906124c7565b60405180910390f35b3480156104ae575f80fd5b506104b76111e5565b005b3480156104c4575f80fd5b506104df60048036038101906104da9190612564565b611294565b005b60606040518060400160405280600e81526020017f4c6f616620546865204272656164000000000000000000000000000000000000815250905090565b5f61053161052a611376565b848461137d565b6001905092915050565b5f6012600a61054a919061277c565b631908b10061055991906127c6565b905090565b5f61056a848484611540565b61062784610576611376565b610622856040518060600160405280602881526020016132b96028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d9611376565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e569092919063ffffffff16565b61137d565b600190509392505050565b5f6012905090565b610642611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c590612851565b60405180910390fd5b6103e8816012600a6106e0919061277c565b631908b1006106ef91906127c6565b6106f991906127c6565b610703919061289c565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075a611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dd90612851565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108a8611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612851565b60405180910390fd5b6012600a610942919061277c565b631908b10061095191906127c6565b6008819055506012600a610965919061277c565b631908b10061097491906127c6565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109c2919061277c565b631908b1006109d191906127c6565b6040516109de91906124c7565b60405180910390a1565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f4c4f414600000000000000000000000000000000000000000000000000000000815250905090565b5f610a6b610a64611376565b8484611540565b6001905092915050565b610a7d611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0090612851565b60405180910390fd5b6103e8816012600a610b1b919061277c565b631908b100610b2a91906127c6565b610b3491906127c6565b610b3e919061289c565b60088190555050565b600a5481565b610b55611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890612851565b60405180910390fd5b602d811115610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c9061293c565b60405180910390fd5b8060078190555050565b60055f9054906101000a900460ff1681565b610c49611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612851565b60405180910390fd5b600c60149054906101000a900460ff1615610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c906129a4565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dc130600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610dad919061277c565b631908b100610dbc91906127c6565b61137d565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4f91906129d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef991906129d6565b6040518363ffffffff1660e01b8152600401610f16929190612a01565b6020604051808303815f875af1158015610f32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5691906129d6565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fdd3061070c565b5f80610fe76109ee565b426040518863ffffffff1660e01b815260040161100996959493929190612a6a565b60606040518083038185885af1158015611025573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061104a9190612add565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110ea929190612b2d565b6020604051808303815f875af1158015611106573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112a9190612b7e565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111ed611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090612851565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b61129c611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612851565b60405180910390fd5b602d81111561136c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113639061293c565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290612c19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612ca7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161153391906124c7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a590612d35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612dc3565b60405180910390fd5b5f811161165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612e51565b60405180910390fd5b5f6116676109ee565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116d557506116a56109ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ba65760055f9054906101000a900460ff161561186057600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117985750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561185f574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061181c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181390612f05565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119095750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561195c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2957611989606461197b60065485611eb890919063ffffffff16565b611f2f90919063ffffffff16565b90506008548211156119d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c790612f6d565b60405180910390fd5b600954826119dd8561070c565b6119e79190612f8b565b1115611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f90613008565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ab157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ae157611ade6064611ad060075485611eb890919063ffffffff16565b611f2f90919063ffffffff16565b90505b5f611aeb3061070c565b9050600c60159054906101000a900460ff16158015611b565750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b6e5750600c60169054906101000a900460ff165b8015611b7b5750600a5481115b15611ba457600a548310611b9957611b94600a54611f78565b611ba3565b611ba283611f78565b5b5b505b5f811115611ca557611bfe8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9c91906124c7565b60405180910390a35b611cf58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d98611d4c828461226290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e3b848661226290919063ffffffff16565b604051611e4891906124c7565b60405180910390a350505050565b5f838311158290611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e949190612396565b60405180910390fd5b505f8385611eab9190613026565b9050809150509392505050565b5f808303611ec8575f9050611f29565b5f8284611ed591906127c6565b9050828482611ee4919061289c565b14611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b906130c9565b60405180910390fd5b809150505b92915050565b5f611f7083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122ab565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611faf57611fae6130e7565b5b604051908082528060200260200182016040528015611fdd5781602001602082028036833780820191505090505b50905030815f81518110611ff457611ff3613114565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612098573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120bc91906129d6565b816001815181106120d0576120cf613114565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061213630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461137d565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121ba9594939291906131f8565b5f604051808303815f87803b1580156121d1575f80fd5b505af11580156121e3573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846122139190612f8b565b905083811015612258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224f9061329a565b60405180910390fd5b8091505092915050565b5f6122a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e56565b905092915050565b5f80831182906122f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e89190612396565b60405180910390fd5b505f83856122ff919061289c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612343578082015181840152602081019050612328565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123688261230c565b6123728185612316565b9350612382818560208601612326565b61238b8161234e565b840191505092915050565b5f6020820190508181035f8301526123ae818461235e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123e3826123ba565b9050919050565b6123f3816123d9565b81146123fd575f80fd5b50565b5f8135905061240e816123ea565b92915050565b5f819050919050565b61242681612414565b8114612430575f80fd5b50565b5f813590506124418161241d565b92915050565b5f806040838503121561245d5761245c6123b6565b5b5f61246a85828601612400565b925050602061247b85828601612433565b9150509250929050565b5f8115159050919050565b61249981612485565b82525050565b5f6020820190506124b25f830184612490565b92915050565b6124c181612414565b82525050565b5f6020820190506124da5f8301846124b8565b92915050565b5f805f606084860312156124f7576124f66123b6565b5b5f61250486828701612400565b935050602061251586828701612400565b925050604061252686828701612433565b9150509250925092565b5f60ff82169050919050565b61254581612530565b82525050565b5f60208201905061255e5f83018461253c565b92915050565b5f60208284031215612579576125786123b6565b5b5f61258684828501612433565b91505092915050565b5f602082840312156125a4576125a36123b6565b5b5f6125b184828501612400565b91505092915050565b6125c3816123d9565b82525050565b5f6020820190506125dc5f8301846125ba565b92915050565b5f80604083850312156125f8576125f76123b6565b5b5f61260585828601612400565b925050602061261685828601612400565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126a25780860481111561267e5761267d612620565b5b600185161561268d5780820291505b808102905061269b8561264d565b9450612662565b94509492505050565b5f826126ba5760019050612775565b816126c7575f9050612775565b81600181146126dd57600281146126e757612716565b6001915050612775565b60ff8411156126f9576126f8612620565b5b8360020a9150848211156127105761270f612620565b5b50612775565b5060208310610133831016604e8410600b841016171561274b5782820a90508381111561274657612745612620565b5b612775565b6127588484846001612659565b9250905081840481111561276f5761276e612620565b5b81810290505b9392505050565b5f61278682612414565b915061279183612530565b92506127be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126ab565b905092915050565b5f6127d082612414565b91506127db83612414565b92508282026127e981612414565b91508282048414831517612800576127ff612620565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283b602083612316565b915061284682612807565b602082019050919050565b5f6020820190508181035f8301526128688161282f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128a682612414565b91506128b183612414565b9250826128c1576128c061286f565b5b828204905092915050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2034350000000000000000000000000000000000000000000000000000602082015250565b5f612926602683612316565b9150612931826128cc565b604082019050919050565b5f6020820190508181035f8301526129538161291a565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298e601783612316565b91506129998261295a565b602082019050919050565b5f6020820190508181035f8301526129bb81612982565b9050919050565b5f815190506129d0816123ea565b92915050565b5f602082840312156129eb576129ea6123b6565b5b5f6129f8848285016129c2565b91505092915050565b5f604082019050612a145f8301856125ba565b612a2160208301846125ba565b9392505050565b5f819050919050565b5f819050919050565b5f612a54612a4f612a4a84612a28565b612a31565b612414565b9050919050565b612a6481612a3a565b82525050565b5f60c082019050612a7d5f8301896125ba565b612a8a60208301886124b8565b612a976040830187612a5b565b612aa46060830186612a5b565b612ab160808301856125ba565b612abe60a08301846124b8565b979650505050505050565b5f81519050612ad78161241d565b92915050565b5f805f60608486031215612af457612af36123b6565b5b5f612b0186828701612ac9565b9350506020612b1286828701612ac9565b9250506040612b2386828701612ac9565b9150509250925092565b5f604082019050612b405f8301856125ba565b612b4d60208301846124b8565b9392505050565b612b5d81612485565b8114612b67575f80fd5b50565b5f81519050612b7881612b54565b92915050565b5f60208284031215612b9357612b926123b6565b5b5f612ba084828501612b6a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c03602483612316565b9150612c0e82612ba9565b604082019050919050565b5f6020820190508181035f830152612c3081612bf7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c91602283612316565b9150612c9c82612c37565b604082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1f602583612316565b9150612d2a82612cc5565b604082019050919050565b5f6020820190508181035f830152612d4c81612d13565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612dad602383612316565b9150612db882612d53565b604082019050919050565b5f6020820190508181035f830152612dda81612da1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3b602983612316565b9150612e4682612de1565b604082019050919050565b5f6020820190508181035f830152612e6881612e2f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612eef604983612316565b9150612efa82612e6f565b606082019050919050565b5f6020820190508181035f830152612f1c81612ee3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f57601983612316565b9150612f6282612f23565b602082019050919050565b5f6020820190508181035f830152612f8481612f4b565b9050919050565b5f612f9582612414565b9150612fa083612414565b9250828201905080821115612fb857612fb7612620565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ff2601a83612316565b9150612ffd82612fbe565b602082019050919050565b5f6020820190508181035f83015261301f81612fe6565b9050919050565b5f61303082612414565b915061303b83612414565b925082820390508181111561305357613052612620565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b3602183612316565b91506130be82613059565b604082019050919050565b5f6020820190508181035f8301526130e0816130a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613173816123d9565b82525050565b5f613184838361316a565b60208301905092915050565b5f602082019050919050565b5f6131a682613141565b6131b0818561314b565b93506131bb8361315b565b805f5b838110156131eb5781516131d28882613179565b97506131dd83613190565b9250506001810190506131be565b5085935050505092915050565b5f60a08201905061320b5f8301886124b8565b6132186020830187612a5b565b818103604083015261322a818661319c565b905061323960608301856125ba565b61324660808301846124b8565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613284601b83612316565b915061328f82613250565b602082019050919050565b5f6020820190508181035f8301526132b181613278565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206b629b5b647bc82d904de58dad7929d2480715946de60813777e42203b6041ff64736f6c63430008150033000000000000000000000000ea156042ee500460842fbeb28a9269ea1c98ce4f
Deployed Bytecode
0x608060405260043610610138575f3560e01c80638f9a55c0116100aa578063bfb3f31d1161006e578063bfb3f31d146103ff578063c876d0b914610427578063c9567bf914610451578063dd62ed3e14610467578063e884f260146104a3578063f28f5f66146104b95761013f565b80638f9a55c01461031d57806395d89b4114610347578063a9059cbb14610371578063ab5a1887146103ad578063bf474bed146103d55761013f565b80635d0044ca116100fc5780635d0044ca1461023957806370a0823114610261578063715018a61461029d578063751039fc146102b35780637d1db4a5146102c95780638da5cb5b146102f35761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104e1565b6040516101649190612396565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612447565b61051e565b6040516101a0919061249f565b60405180910390f35b3480156101b4575f80fd5b506101bd61053b565b6040516101ca91906124c7565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f491906124e0565b61055e565b604051610206919061249f565b60405180910390f35b34801561021a575f80fd5b50610223610632565b604051610230919061254b565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a9190612564565b61063a565b005b34801561026c575f80fd5b506102876004803603810190610282919061258f565b61070c565b60405161029491906124c7565b60405180910390f35b3480156102a8575f80fd5b506102b1610752565b005b3480156102be575f80fd5b506102c76108a0565b005b3480156102d4575f80fd5b506102dd6109e8565b6040516102ea91906124c7565b60405180910390f35b3480156102fe575f80fd5b506103076109ee565b60405161031491906125c9565b60405180910390f35b348015610328575f80fd5b50610331610a15565b60405161033e91906124c7565b60405180910390f35b348015610352575f80fd5b5061035b610a1b565b6040516103689190612396565b60405180910390f35b34801561037c575f80fd5b5061039760048036038101906103929190612447565b610a58565b6040516103a4919061249f565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190612564565b610a75565b005b3480156103e0575f80fd5b506103e9610b47565b6040516103f691906124c7565b60405180910390f35b34801561040a575f80fd5b5061042560048036038101906104209190612564565b610b4d565b005b348015610432575f80fd5b5061043b610c2f565b604051610448919061249f565b60405180910390f35b34801561045c575f80fd5b50610465610c41565b005b348015610472575f80fd5b5061048d600480360381019061048891906125e2565b611163565b60405161049a91906124c7565b60405180910390f35b3480156104ae575f80fd5b506104b76111e5565b005b3480156104c4575f80fd5b506104df60048036038101906104da9190612564565b611294565b005b60606040518060400160405280600e81526020017f4c6f616620546865204272656164000000000000000000000000000000000000815250905090565b5f61053161052a611376565b848461137d565b6001905092915050565b5f6012600a61054a919061277c565b631908b10061055991906127c6565b905090565b5f61056a848484611540565b61062784610576611376565b610622856040518060600160405280602881526020016132b96028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d9611376565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e569092919063ffffffff16565b61137d565b600190509392505050565b5f6012905090565b610642611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c590612851565b60405180910390fd5b6103e8816012600a6106e0919061277c565b631908b1006106ef91906127c6565b6106f991906127c6565b610703919061289c565b60098190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61075a611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dd90612851565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108a8611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612851565b60405180910390fd5b6012600a610942919061277c565b631908b10061095191906127c6565b6008819055506012600a610965919061277c565b631908b10061097491906127c6565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109c2919061277c565b631908b1006109d191906127c6565b6040516109de91906124c7565b60405180910390a1565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f4c4f414600000000000000000000000000000000000000000000000000000000815250905090565b5f610a6b610a64611376565b8484611540565b6001905092915050565b610a7d611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0090612851565b60405180910390fd5b6103e8816012600a610b1b919061277c565b631908b100610b2a91906127c6565b610b3491906127c6565b610b3e919061289c565b60088190555050565b600a5481565b610b55611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890612851565b60405180910390fd5b602d811115610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c9061293c565b60405180910390fd5b8060078190555050565b60055f9054906101000a900460ff1681565b610c49611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612851565b60405180910390fd5b600c60149054906101000a900460ff1615610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c906129a4565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dc130600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610dad919061277c565b631908b100610dbc91906127c6565b61137d565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4f91906129d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef991906129d6565b6040518363ffffffff1660e01b8152600401610f16929190612a01565b6020604051808303815f875af1158015610f32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5691906129d6565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fdd3061070c565b5f80610fe76109ee565b426040518863ffffffff1660e01b815260040161100996959493929190612a6a565b60606040518083038185885af1158015611025573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061104a9190612add565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110ea929190612b2d565b6020604051808303815f875af1158015611106573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112a9190612b7e565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111ed611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090612851565b60405180910390fd5b5f60055f6101000a81548160ff021916908315150217905550565b61129c611376565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612851565b60405180910390fd5b602d81111561136c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113639061293c565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290612c19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612ca7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161153391906124c7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a590612d35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612dc3565b60405180910390fd5b5f811161165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612e51565b60405180910390fd5b5f6116676109ee565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116d557506116a56109ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ba65760055f9054906101000a900460ff161561186057600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117985750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561185f574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061181c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181390612f05565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119095750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561195c575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2957611989606461197b60065485611eb890919063ffffffff16565b611f2f90919063ffffffff16565b90506008548211156119d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c790612f6d565b60405180910390fd5b600954826119dd8561070c565b6119e79190612f8b565b1115611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f90613008565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ab157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ae157611ade6064611ad060075485611eb890919063ffffffff16565b611f2f90919063ffffffff16565b90505b5f611aeb3061070c565b9050600c60159054906101000a900460ff16158015611b565750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b6e5750600c60169054906101000a900460ff165b8015611b7b5750600a5481115b15611ba457600a548310611b9957611b94600a54611f78565b611ba3565b611ba283611f78565b5b5b505b5f811115611ca557611bfe8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9c91906124c7565b60405180910390a35b611cf58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d98611d4c828461226290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e3b848661226290919063ffffffff16565b604051611e4891906124c7565b60405180910390a350505050565b5f838311158290611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e949190612396565b60405180910390fd5b505f8385611eab9190613026565b9050809150509392505050565b5f808303611ec8575f9050611f29565b5f8284611ed591906127c6565b9050828482611ee4919061289c565b14611f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1b906130c9565b60405180910390fd5b809150505b92915050565b5f611f7083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122ab565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611faf57611fae6130e7565b5b604051908082528060200260200182016040528015611fdd5781602001602082028036833780820191505090505b50905030815f81518110611ff457611ff3613114565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612098573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120bc91906129d6565b816001815181106120d0576120cf613114565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061213630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461137d565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016121ba9594939291906131f8565b5f604051808303815f87803b1580156121d1575f80fd5b505af11580156121e3573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846122139190612f8b565b905083811015612258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224f9061329a565b60405180910390fd5b8091505092915050565b5f6122a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e56565b905092915050565b5f80831182906122f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e89190612396565b60405180910390fd5b505f83856122ff919061289c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612343578082015181840152602081019050612328565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123688261230c565b6123728185612316565b9350612382818560208601612326565b61238b8161234e565b840191505092915050565b5f6020820190508181035f8301526123ae818461235e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123e3826123ba565b9050919050565b6123f3816123d9565b81146123fd575f80fd5b50565b5f8135905061240e816123ea565b92915050565b5f819050919050565b61242681612414565b8114612430575f80fd5b50565b5f813590506124418161241d565b92915050565b5f806040838503121561245d5761245c6123b6565b5b5f61246a85828601612400565b925050602061247b85828601612433565b9150509250929050565b5f8115159050919050565b61249981612485565b82525050565b5f6020820190506124b25f830184612490565b92915050565b6124c181612414565b82525050565b5f6020820190506124da5f8301846124b8565b92915050565b5f805f606084860312156124f7576124f66123b6565b5b5f61250486828701612400565b935050602061251586828701612400565b925050604061252686828701612433565b9150509250925092565b5f60ff82169050919050565b61254581612530565b82525050565b5f60208201905061255e5f83018461253c565b92915050565b5f60208284031215612579576125786123b6565b5b5f61258684828501612433565b91505092915050565b5f602082840312156125a4576125a36123b6565b5b5f6125b184828501612400565b91505092915050565b6125c3816123d9565b82525050565b5f6020820190506125dc5f8301846125ba565b92915050565b5f80604083850312156125f8576125f76123b6565b5b5f61260585828601612400565b925050602061261685828601612400565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126a25780860481111561267e5761267d612620565b5b600185161561268d5780820291505b808102905061269b8561264d565b9450612662565b94509492505050565b5f826126ba5760019050612775565b816126c7575f9050612775565b81600181146126dd57600281146126e757612716565b6001915050612775565b60ff8411156126f9576126f8612620565b5b8360020a9150848211156127105761270f612620565b5b50612775565b5060208310610133831016604e8410600b841016171561274b5782820a90508381111561274657612745612620565b5b612775565b6127588484846001612659565b9250905081840481111561276f5761276e612620565b5b81810290505b9392505050565b5f61278682612414565b915061279183612530565b92506127be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126ab565b905092915050565b5f6127d082612414565b91506127db83612414565b92508282026127e981612414565b91508282048414831517612800576127ff612620565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61283b602083612316565b915061284682612807565b602082019050919050565b5f6020820190508181035f8301526128688161282f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128a682612414565b91506128b183612414565b9250826128c1576128c061286f565b5b828204905092915050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2034350000000000000000000000000000000000000000000000000000602082015250565b5f612926602683612316565b9150612931826128cc565b604082019050919050565b5f6020820190508181035f8301526129538161291a565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298e601783612316565b91506129998261295a565b602082019050919050565b5f6020820190508181035f8301526129bb81612982565b9050919050565b5f815190506129d0816123ea565b92915050565b5f602082840312156129eb576129ea6123b6565b5b5f6129f8848285016129c2565b91505092915050565b5f604082019050612a145f8301856125ba565b612a2160208301846125ba565b9392505050565b5f819050919050565b5f819050919050565b5f612a54612a4f612a4a84612a28565b612a31565b612414565b9050919050565b612a6481612a3a565b82525050565b5f60c082019050612a7d5f8301896125ba565b612a8a60208301886124b8565b612a976040830187612a5b565b612aa46060830186612a5b565b612ab160808301856125ba565b612abe60a08301846124b8565b979650505050505050565b5f81519050612ad78161241d565b92915050565b5f805f60608486031215612af457612af36123b6565b5b5f612b0186828701612ac9565b9350506020612b1286828701612ac9565b9250506040612b2386828701612ac9565b9150509250925092565b5f604082019050612b405f8301856125ba565b612b4d60208301846124b8565b9392505050565b612b5d81612485565b8114612b67575f80fd5b50565b5f81519050612b7881612b54565b92915050565b5f60208284031215612b9357612b926123b6565b5b5f612ba084828501612b6a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c03602483612316565b9150612c0e82612ba9565b604082019050919050565b5f6020820190508181035f830152612c3081612bf7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c91602283612316565b9150612c9c82612c37565b604082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1f602583612316565b9150612d2a82612cc5565b604082019050919050565b5f6020820190508181035f830152612d4c81612d13565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612dad602383612316565b9150612db882612d53565b604082019050919050565b5f6020820190508181035f830152612dda81612da1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3b602983612316565b9150612e4682612de1565b604082019050919050565b5f6020820190508181035f830152612e6881612e2f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612eef604983612316565b9150612efa82612e6f565b606082019050919050565b5f6020820190508181035f830152612f1c81612ee3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f57601983612316565b9150612f6282612f23565b602082019050919050565b5f6020820190508181035f830152612f8481612f4b565b9050919050565b5f612f9582612414565b9150612fa083612414565b9250828201905080821115612fb857612fb7612620565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ff2601a83612316565b9150612ffd82612fbe565b602082019050919050565b5f6020820190508181035f83015261301f81612fe6565b9050919050565b5f61303082612414565b915061303b83612414565b925082820390508181111561305357613052612620565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b3602183612316565b91506130be82613059565b604082019050919050565b5f6020820190508181035f8301526130e0816130a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613173816123d9565b82525050565b5f613184838361316a565b60208301905092915050565b5f602082019050919050565b5f6131a682613141565b6131b0818561314b565b93506131bb8361315b565b805f5b838110156131eb5781516131d28882613179565b97506131dd83613190565b9250506001810190506131be565b5085935050505092915050565b5f60a08201905061320b5f8301886124b8565b6132186020830187612a5b565b818103604083015261322a818661319c565b905061323960608301856125ba565b61324660808301846124b8565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613284601b83612316565b915061328f82613250565b602082019050919050565b5f6020820190508181035f8301526132b181613278565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206b629b5b647bc82d904de58dad7929d2480715946de60813777e42203b6041ff64736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ea156042ee500460842fbeb28a9269ea1c98ce4f
-----Decoded View---------------
Arg [0] : taxWallet (address): 0xEA156042EE500460842Fbeb28A9269eA1c98Ce4f
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ea156042ee500460842fbeb28a9269ea1c98ce4f
Deployed Bytecode Sourcemap
3627:7513:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6084:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5524:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6254:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5432:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9963:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5628:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2704:148;;;;;;;;;;;;;:::i;:::-;;10090:196;;;;;;;;;;;;;:::i;:::-;;4384:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4439:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5336:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5756:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9833:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4498:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9665:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3979:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10400:699;;;;;;;;;;;;;:::i;:::-;;5932:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10295:96;;;;;;;;;;;;;:::i;:::-;;9499:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5244:83;5281:13;5314:5;;;;;;;;;;;;;;;;;5307:12;;5244:83;:::o;6084:161::-;6159:4;6176:39;6185:12;:10;:12::i;:::-;6199:7;6208:6;6176:8;:39::i;:::-;6233:4;6226:11;;6084:161;;;;:::o;5524:95::-;5577:7;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;5597:14;;5524:95;:::o;6254:313::-;6352:4;6369:36;6379:6;6387:9;6398:6;6369:9;:36::i;:::-;6416:121;6425:6;6433:12;:10;:12::i;:::-;6447:89;6485:6;6447:89;;;;;;;;;;;;;;;;;:11;:19;6459:6;6447:19;;;;;;;;;;;;;;;:33;6467:12;:10;:12::i;:::-;6447:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6416:8;:121::i;:::-;6555:4;6548:11;;6254:313;;;;;:::o;5432:83::-;5473:5;4192:2;5491:16;;5432:83;:::o;9963:118::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10069:4:::1;10059:7;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;10049:17;;;;:::i;:::-;:24;;;;:::i;:::-;10032:14;:41;;;;9963:118:::0;:::o;5628:119::-;5694:7;5721:9;:18;5731:7;5721:18;;;;;;;;;;;;;;;;5714:25;;5628:119;;;:::o;2704:148::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2811:1:::1;2774:40;;2795:6;::::0;::::1;;;;;;;;2774:40;;;;;;;;;;;;2842:1;2825:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2704:148::o:0;10090:196::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4192:2:::1;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;10143:12;:22;;;;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;10176:14;:22;;;;10230:5;10209:20;;:26;;;;;;;;;;;;;;;;;;10251:27;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;10251:27;;;;;;:::i;:::-;;;;;;;;10090:196::o:0;4384:48::-;;;;:::o;2488:79::-;2526:7;2553:6;;;;;;;;;;;2546:13;;2488:79;:::o;4439:52::-;;;;:::o;5336:87::-;5375:13;5408:7;;;;;;;;;;;;;;;;;5401:14;;5336:87;:::o;5756:167::-;5834:4;5851:42;5861:12;:10;:12::i;:::-;5875:9;5886:6;5851:9;:42::i;:::-;5911:4;5904:11;;5756:167;;;;:::o;9833:121::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9942:4:::1;9932:7;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;9922:17;;;;:::i;:::-;:24;;;;:::i;:::-;9907:12;:39;;;;9833:121:::0;:::o;4498:54::-;;;;:::o;9665:159::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9746:2:::1;9739:3;:9;;9731:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9813:3;9802:8;:14;;;;9665:159:::0;:::o;3979:39::-;;;;;;;;;;;;;:::o;10400:699::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10464:11:::1;;;;;;;;;;;10463:12;10455:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10564:42;10513:15;;:108;;;;;;;;;;;;;;;;;;10632:58;10649:4;10664:15;;;;;;;;;;;4192:2;4248;:13;;;;:::i;:::-;4236:9;:25;;;;:::i;:::-;10632:8;:58::i;:::-;10735:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10717:55;;;10781:4;10788:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10717:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10701:13;;:110;;;;;;;;;;;;;;;;;;10822:15;;;;;;;;;;;:31;;;10861:21;10892:4;10898:24;10916:4;10898:9;:24::i;:::-;10923:1;10925::::0;10927:7:::1;:5;:7::i;:::-;10935:15;10822:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10969:13;;;;;;;;;;;10962:29;;;11000:15;;;;;;;;;;;11018:14;10962:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11058:4;11044:11;;:18;;;;;;;;;;;;;;;;;;11087:4;11073:11;;:18;;;;;;;;;;;;;;;;;;10400:699::o:0;5932:143::-;6013:7;6040:11;:18;6052:5;6040:18;;;;;;;;;;;;;;;:27;6059:7;6040:27;;;;;;;;;;;;;;;;6033:34;;5932:143;;;;:::o;10295:96::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10378:5:::1;10357:20;;:26;;;;;;;;;;;;;;;;;;10295:96::o:0;9499:157::-;2626:12;:10;:12::i;:::-;2616:22;;:6;;;;;;;;;;:22;;;2608:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9579:2:::1;9572:3;:9;;9564:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9645:3;9635:7;:13;;;;9499:157:::0;:::o;232:98::-;285:7;312:10;305:17;;232:98;:::o;6576:335::-;6686:1;6669:19;;:5;:19;;;6661:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6767:1;6748:21;;:7;:21;;;6740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6849:6;6819:11;:18;6831:5;6819:18;;;;;;;;;;;;;;;:27;6838:7;6819:27;;;;;;;;;;;;;;;:36;;;;6887:7;6871:32;;6880:5;6871:32;;;6896:6;6871:32;;;;;;:::i;:::-;;;;;;;;6576:335;;;:::o;6920:2072::-;7024:1;7008:18;;:4;:18;;;7000:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7101:1;7087:16;;:2;:16;;;7079:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:1;7162:6;:10;7154:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7232:17;7279:7;:5;:7::i;:::-;7271:15;;:4;:15;;;;:32;;;;;7296:7;:5;:7::i;:::-;7290:13;;:2;:13;;;;7271:32;7267:1351;;;7324:20;;;;;;;;;;;7320:388;;;7383:15;;;;;;;;;;;7369:30;;:2;:30;;;;:62;;;;;7417:13;;;;;;;;;;;7403:28;;:2;:28;;;;7369:62;7365:328;;;7506:12;7464:28;:39;7493:9;7464:39;;;;;;;;;;;;;;;;:54;7456:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;7661:12;7619:28;:39;7648:9;7619:39;;;;;;;;;;;;;;;:54;;;;7365:328;7320:388;7737:13;;;;;;;;;;;7729:21;;:4;:21;;;:55;;;;;7768:15;;;;;;;;;;;7754:30;;:2;:30;;;;7729:55;:82;;;;;7789:18;:22;7808:2;7789:22;;;;;;;;;;;;;;;;;;;;;;;;;7788:23;7729:82;7725:340;;;7844:28;7868:3;7844:19;7855:7;;7844:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7832:40;;7909:12;;7899:6;:22;;7891:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8004:14;;7994:6;7978:13;7988:2;7978:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7970:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7725:340;8092:13;;;;;;;;;;;8086:19;;:2;:19;;;:44;;;;;8125:4;8109:21;;:4;:21;;;;8086:44;8082:126;;;8163:29;8188:3;8163:20;8174:8;;8163:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8151:41;;8082:126;8225:28;8256:24;8274:4;8256:9;:24::i;:::-;8225:55;;8300:6;;;;;;;;;;;8299:7;:30;;;;;8316:13;;;;;;;;;;;8310:19;;:2;:19;;;8299:30;:45;;;;;8333:11;;;;;;;;;;;8299:45;:89;;;;;8371:17;;8348:20;:40;8299:89;8295:312;;;8422:17;;8412:6;:27;8409:183;;8464:35;8481:17;;8464:16;:35::i;:::-;8409:183;;;8548:24;8565:6;8548:16;:24::i;:::-;8409:183;8295:312;7305:1313;7267:1351;8646:1;8634:9;:13;8631:171;;;8691:39;8720:9;8691;:24;8709:4;8691:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8664:9;:24;8682:4;8664:24;;;;;;;;;;;;;;;:66;;;;8773:4;8750:40;;8759:4;8750:40;;;8780:9;8750:40;;;;;;:::i;:::-;;;;;;;;8631:171;8833:27;8853:6;8833:9;:15;8843:4;8833:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8815:9;:15;8825:4;8815:15;;;;;;;;;;;;;;;:45;;;;8887:40;8905:21;8916:9;8905:6;:10;;:21;;;;:::i;:::-;8887:9;:13;8897:2;8887:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8871:9;:13;8881:2;8871:13;;;;;;;;;;;;;;;:56;;;;8958:2;8943:41;;8952:4;8943:41;;;8962:21;8973:9;8962:6;:10;;:21;;;;:::i;:::-;8943:41;;;;;;:::i;:::-;;;;;;;;6989:2003;6920:2072;;;:::o;1373:190::-;1459:7;1492:1;1487;:6;;1495:12;1479:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1519:9;1535:1;1531;:5;;;;:::i;:::-;1519:17;;1554:1;1547:8;;;1373:190;;;;;:::o;1572:246::-;1630:7;1659:1;1654;:6;1650:47;;1684:1;1677:8;;;;1650:47;1707:9;1723:1;1719;:5;;;;:::i;:::-;1707:17;;1752:1;1747;1743;:5;;;;:::i;:::-;:10;1735:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1809:1;1802:8;;;1572:246;;;;;:::o;1827:132::-;1885:7;1912:39;1916:1;1919;1912:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1905:46;;1827:132;;;;:::o;9001:489::-;4845:4;4836:6;;:13;;;;;;;;;;;;;;;;;;9079:21:::1;9117:1;9103:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9079:40;;9148:4;9130;9135:1;9130:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9174:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9164:4;9169:1;9164:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9207:62;9224:4;9239:15;;;;;;;;;;;9257:11;9207:8;:62::i;:::-;9280:15;;;;;;;;;;;:66;;;9361:11;9387:1;9403:4;9430:10;;;;;;;;;;;9456:15;9280:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9068:422;4881:5:::0;4872:6;;:14;;;;;;;;;;;;;;;;;;9001:489;:::o;1040:179::-;1098:7;1118:9;1134:1;1130;:5;;;;:::i;:::-;1118:17;;1159:1;1154;:6;;1146:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1210:1;1203:8;;;1040:179;;;;:::o;1228:136::-;1286:7;1313:43;1317:1;1320;1313:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1306:50;;1228:136;;;;:::o;1968:189::-;2054:7;2086:1;2082;:5;2089:12;2074:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2113:9;2129:1;2125;:5;;;;:::i;:::-;2113:17;;2148:1;2141:8;;;1968: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:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:102;6583:8;6630:5;6627:1;6623:13;6602:34;;6541:102;;;:::o;6649:848::-;6710:5;6717:4;6741:6;6732:15;;6765:5;6756:14;;6779:712;6800:1;6790:8;6787:15;6779:712;;;6895:4;6890:3;6886:14;6880:4;6877:24;6874:50;;;6904:18;;:::i;:::-;6874:50;6954:1;6944:8;6940:16;6937:451;;;7369:4;7362:5;7358:16;7349:25;;6937:451;7419:4;7413;7409:15;7401:23;;7449:32;7472:8;7449:32;:::i;:::-;7437:44;;6779:712;;;6649:848;;;;;;;:::o;7503:1073::-;7557:5;7748:8;7738:40;;7769:1;7760:10;;7771:5;;7738:40;7797:4;7787:36;;7814:1;7805:10;;7816:5;;7787:36;7883:4;7931:1;7926:27;;;;7967:1;7962:191;;;;7876:277;;7926:27;7944:1;7935:10;;7946:5;;;7962:191;8007:3;7997:8;7994:17;7991:43;;;8014:18;;:::i;:::-;7991:43;8063:8;8060:1;8056:16;8047:25;;8098:3;8091:5;8088:14;8085:40;;;8105:18;;:::i;:::-;8085:40;8138:5;;;7876:277;;8262:2;8252:8;8249:16;8243:3;8237:4;8234:13;8230:36;8212:2;8202:8;8199:16;8194:2;8188:4;8185:12;8181:35;8165:111;8162:246;;;8318:8;8312:4;8308:19;8299:28;;8353:3;8346:5;8343:14;8340:40;;;8360:18;;:::i;:::-;8340:40;8393:5;;8162:246;8433:42;8471:3;8461:8;8455:4;8452:1;8433:42;:::i;:::-;8418:57;;;;8507:4;8502:3;8498:14;8491:5;8488:25;8485:51;;;8516:18;;:::i;:::-;8485:51;8565:4;8558:5;8554:16;8545:25;;7503:1073;;;;;;:::o;8582:281::-;8640:5;8664:23;8682:4;8664:23;:::i;:::-;8656:31;;8708:25;8724:8;8708:25;:::i;:::-;8696:37;;8752:104;8789:66;8779:8;8773:4;8752:104;:::i;:::-;8743:113;;8582:281;;;;:::o;8869:410::-;8909:7;8932:20;8950:1;8932:20;:::i;:::-;8927:25;;8966:20;8984:1;8966:20;:::i;:::-;8961:25;;9021:1;9018;9014:9;9043:30;9061:11;9043:30;:::i;:::-;9032:41;;9222:1;9213:7;9209:15;9206:1;9203:22;9183:1;9176:9;9156:83;9133:139;;9252:18;;:::i;:::-;9133:139;8917:362;8869:410;;;;:::o;9285:182::-;9425:34;9421:1;9413:6;9409:14;9402:58;9285:182;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9473:366;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;9845:419;;;:::o;10270:180::-;10318:77;10315:1;10308:88;10415:4;10412:1;10405:15;10439:4;10436:1;10429:15;10456:185;10496:1;10513:20;10531:1;10513:20;:::i;:::-;10508:25;;10547:20;10565:1;10547:20;:::i;:::-;10542:25;;10586:1;10576:35;;10591:18;;:::i;:::-;10576:35;10633:1;10630;10626:9;10621:14;;10456:185;;;;:::o;10647:225::-;10787:34;10783:1;10775:6;10771:14;10764:58;10856:8;10851:2;10843:6;10839:15;10832:33;10647:225;:::o;10878:366::-;11020:3;11041:67;11105:2;11100:3;11041:67;:::i;:::-;11034:74;;11117:93;11206:3;11117:93;:::i;:::-;11235:2;11230:3;11226:12;11219:19;;10878:366;;;:::o;11250:419::-;11416:4;11454:2;11443:9;11439:18;11431:26;;11503:9;11497:4;11493:20;11489:1;11478:9;11474:17;11467:47;11531:131;11657:4;11531:131;:::i;:::-;11523:139;;11250:419;;;:::o;11675:173::-;11815:25;11811:1;11803:6;11799:14;11792:49;11675:173;:::o;11854:366::-;11996:3;12017:67;12081:2;12076:3;12017:67;:::i;:::-;12010:74;;12093:93;12182:3;12093:93;:::i;:::-;12211:2;12206:3;12202:12;12195:19;;11854:366;;;:::o;12226:419::-;12392:4;12430:2;12419:9;12415:18;12407:26;;12479:9;12473:4;12469:20;12465:1;12454:9;12450:17;12443:47;12507:131;12633:4;12507:131;:::i;:::-;12499:139;;12226:419;;;:::o;12651:143::-;12708:5;12739:6;12733:13;12724:22;;12755:33;12782:5;12755:33;:::i;:::-;12651:143;;;;:::o;12800:351::-;12870:6;12919:2;12907:9;12898:7;12894:23;12890:32;12887:119;;;12925:79;;:::i;:::-;12887:119;13045:1;13070:64;13126:7;13117:6;13106:9;13102:22;13070:64;:::i;:::-;13060:74;;13016:128;12800:351;;;;:::o;13157:332::-;13278:4;13316:2;13305:9;13301:18;13293:26;;13329:71;13397:1;13386:9;13382:17;13373:6;13329:71;:::i;:::-;13410:72;13478:2;13467:9;13463:18;13454:6;13410:72;:::i;:::-;13157:332;;;;;:::o;13495:85::-;13540:7;13569:5;13558:16;;13495:85;;;:::o;13586:60::-;13614:3;13635:5;13628:12;;13586:60;;;:::o;13652:158::-;13710:9;13743:61;13761:42;13770:32;13796:5;13770:32;:::i;:::-;13761:42;:::i;:::-;13743:61;:::i;:::-;13730:74;;13652:158;;;:::o;13816:147::-;13911:45;13950:5;13911:45;:::i;:::-;13906:3;13899:58;13816:147;;:::o;13969:807::-;14218:4;14256:3;14245:9;14241:19;14233:27;;14270:71;14338:1;14327:9;14323:17;14314:6;14270:71;:::i;:::-;14351:72;14419:2;14408:9;14404:18;14395:6;14351:72;:::i;:::-;14433:80;14509:2;14498:9;14494:18;14485:6;14433:80;:::i;:::-;14523;14599:2;14588:9;14584:18;14575:6;14523:80;:::i;:::-;14613:73;14681:3;14670:9;14666:19;14657:6;14613:73;:::i;:::-;14696;14764:3;14753:9;14749:19;14740:6;14696:73;:::i;:::-;13969:807;;;;;;;;;:::o;14782:143::-;14839:5;14870:6;14864:13;14855:22;;14886:33;14913:5;14886:33;:::i;:::-;14782:143;;;;:::o;14931:663::-;15019:6;15027;15035;15084:2;15072:9;15063:7;15059:23;15055:32;15052:119;;;15090:79;;:::i;:::-;15052:119;15210:1;15235:64;15291:7;15282:6;15271:9;15267:22;15235:64;:::i;:::-;15225:74;;15181:128;15348:2;15374:64;15430:7;15421:6;15410:9;15406:22;15374:64;:::i;:::-;15364:74;;15319:129;15487:2;15513:64;15569:7;15560:6;15549:9;15545:22;15513:64;:::i;:::-;15503:74;;15458:129;14931:663;;;;;:::o;15600:332::-;15721:4;15759:2;15748:9;15744:18;15736:26;;15772:71;15840:1;15829:9;15825:17;15816:6;15772:71;:::i;:::-;15853:72;15921:2;15910:9;15906:18;15897:6;15853:72;:::i;:::-;15600:332;;;;;:::o;15938:116::-;16008:21;16023:5;16008:21;:::i;:::-;16001:5;15998:32;15988:60;;16044:1;16041;16034:12;15988:60;15938:116;:::o;16060:137::-;16114:5;16145:6;16139:13;16130:22;;16161:30;16185:5;16161:30;:::i;:::-;16060:137;;;;:::o;16203:345::-;16270:6;16319:2;16307:9;16298:7;16294:23;16290:32;16287:119;;;16325:79;;:::i;:::-;16287:119;16445:1;16470:61;16523:7;16514:6;16503:9;16499:22;16470:61;:::i;:::-;16460:71;;16416:125;16203:345;;;;:::o;16554:223::-;16694:34;16690:1;16682:6;16678:14;16671:58;16763:6;16758:2;16750:6;16746:15;16739:31;16554:223;:::o;16783:366::-;16925:3;16946:67;17010:2;17005:3;16946:67;:::i;:::-;16939:74;;17022:93;17111:3;17022:93;:::i;:::-;17140:2;17135:3;17131:12;17124:19;;16783:366;;;:::o;17155:419::-;17321:4;17359:2;17348:9;17344:18;17336:26;;17408:9;17402:4;17398:20;17394:1;17383:9;17379:17;17372:47;17436:131;17562:4;17436:131;:::i;:::-;17428:139;;17155:419;;;:::o;17580:221::-;17720:34;17716:1;17708:6;17704:14;17697:58;17789:4;17784:2;17776:6;17772:15;17765:29;17580:221;:::o;17807:366::-;17949:3;17970:67;18034:2;18029:3;17970:67;:::i;:::-;17963:74;;18046:93;18135:3;18046:93;:::i;:::-;18164:2;18159:3;18155:12;18148:19;;17807:366;;;:::o;18179:419::-;18345:4;18383:2;18372:9;18368:18;18360:26;;18432:9;18426:4;18422:20;18418:1;18407:9;18403:17;18396:47;18460:131;18586:4;18460:131;:::i;:::-;18452:139;;18179:419;;;:::o;18604:224::-;18744:34;18740:1;18732:6;18728:14;18721:58;18813:7;18808:2;18800:6;18796:15;18789:32;18604:224;:::o;18834:366::-;18976:3;18997:67;19061:2;19056:3;18997:67;:::i;:::-;18990:74;;19073:93;19162:3;19073:93;:::i;:::-;19191:2;19186:3;19182:12;19175:19;;18834:366;;;:::o;19206:419::-;19372:4;19410:2;19399:9;19395:18;19387:26;;19459:9;19453:4;19449:20;19445:1;19434:9;19430:17;19423:47;19487:131;19613:4;19487:131;:::i;:::-;19479:139;;19206:419;;;:::o;19631:222::-;19771:34;19767:1;19759:6;19755:14;19748:58;19840:5;19835:2;19827:6;19823:15;19816:30;19631:222;:::o;19859:366::-;20001:3;20022:67;20086:2;20081:3;20022:67;:::i;:::-;20015:74;;20098:93;20187:3;20098:93;:::i;:::-;20216:2;20211:3;20207:12;20200:19;;19859:366;;;:::o;20231:419::-;20397:4;20435:2;20424:9;20420:18;20412:26;;20484:9;20478:4;20474:20;20470:1;20459:9;20455:17;20448:47;20512:131;20638:4;20512:131;:::i;:::-;20504:139;;20231:419;;;:::o;20656:228::-;20796:34;20792:1;20784:6;20780:14;20773:58;20865:11;20860:2;20852:6;20848:15;20841:36;20656:228;:::o;20890:366::-;21032:3;21053:67;21117:2;21112:3;21053:67;:::i;:::-;21046:74;;21129:93;21218:3;21129:93;:::i;:::-;21247:2;21242:3;21238:12;21231:19;;20890:366;;;:::o;21262:419::-;21428:4;21466:2;21455:9;21451:18;21443:26;;21515:9;21509:4;21505:20;21501:1;21490:9;21486:17;21479:47;21543:131;21669:4;21543:131;:::i;:::-;21535:139;;21262:419;;;:::o;21687:297::-;21827:34;21823:1;21815:6;21811:14;21804:58;21896:34;21891:2;21883:6;21879:15;21872:59;21965:11;21960:2;21952:6;21948:15;21941:36;21687:297;:::o;21990:366::-;22132:3;22153:67;22217:2;22212:3;22153:67;:::i;:::-;22146:74;;22229:93;22318:3;22229:93;:::i;:::-;22347:2;22342:3;22338:12;22331:19;;21990:366;;;:::o;22362:419::-;22528:4;22566:2;22555:9;22551:18;22543:26;;22615:9;22609:4;22605:20;22601:1;22590:9;22586:17;22579:47;22643:131;22769:4;22643:131;:::i;:::-;22635:139;;22362:419;;;:::o;22787:175::-;22927:27;22923:1;22915:6;22911:14;22904:51;22787:175;:::o;22968:366::-;23110:3;23131:67;23195:2;23190:3;23131:67;:::i;:::-;23124:74;;23207:93;23296:3;23207:93;:::i;:::-;23325:2;23320:3;23316:12;23309:19;;22968:366;;;:::o;23340:419::-;23506:4;23544:2;23533:9;23529:18;23521:26;;23593:9;23587:4;23583:20;23579:1;23568:9;23564:17;23557:47;23621:131;23747:4;23621:131;:::i;:::-;23613:139;;23340:419;;;:::o;23765:191::-;23805:3;23824:20;23842:1;23824:20;:::i;:::-;23819:25;;23858:20;23876:1;23858:20;:::i;:::-;23853:25;;23901:1;23898;23894:9;23887:16;;23922:3;23919:1;23916:10;23913:36;;;23929:18;;:::i;:::-;23913:36;23765:191;;;;:::o;23962:176::-;24102:28;24098:1;24090:6;24086:14;24079:52;23962:176;:::o;24144:366::-;24286:3;24307:67;24371:2;24366:3;24307:67;:::i;:::-;24300:74;;24383:93;24472:3;24383:93;:::i;:::-;24501:2;24496:3;24492:12;24485:19;;24144:366;;;:::o;24516:419::-;24682:4;24720:2;24709:9;24705:18;24697:26;;24769:9;24763:4;24759:20;24755:1;24744:9;24740:17;24733:47;24797:131;24923:4;24797:131;:::i;:::-;24789:139;;24516:419;;;:::o;24941:194::-;24981:4;25001:20;25019:1;25001:20;:::i;:::-;24996:25;;25035:20;25053:1;25035:20;:::i;:::-;25030:25;;25079:1;25076;25072:9;25064:17;;25103:1;25097:4;25094:11;25091:37;;;25108:18;;:::i;:::-;25091:37;24941:194;;;;:::o;25141:220::-;25281:34;25277:1;25269:6;25265:14;25258:58;25350:3;25345:2;25337:6;25333:15;25326:28;25141:220;:::o;25367:366::-;25509:3;25530:67;25594:2;25589:3;25530:67;:::i;:::-;25523:74;;25606:93;25695:3;25606:93;:::i;:::-;25724:2;25719:3;25715:12;25708:19;;25367:366;;;:::o;25739:419::-;25905:4;25943:2;25932:9;25928:18;25920:26;;25992:9;25986:4;25982:20;25978:1;25967:9;25963:17;25956:47;26020:131;26146:4;26020:131;:::i;:::-;26012:139;;25739:419;;;:::o;26164:180::-;26212:77;26209:1;26202:88;26309:4;26306:1;26299:15;26333:4;26330:1;26323:15;26350:180;26398:77;26395:1;26388:88;26495:4;26492:1;26485:15;26519:4;26516:1;26509:15;26536:114;26603:6;26637:5;26631:12;26621:22;;26536:114;;;:::o;26656:184::-;26755:11;26789:6;26784:3;26777:19;26829:4;26824:3;26820:14;26805:29;;26656:184;;;;:::o;26846:132::-;26913:4;26936:3;26928:11;;26966:4;26961:3;26957:14;26949:22;;26846:132;;;:::o;26984:108::-;27061:24;27079:5;27061:24;:::i;:::-;27056:3;27049:37;26984:108;;:::o;27098:179::-;27167:10;27188:46;27230:3;27222:6;27188:46;:::i;:::-;27266:4;27261:3;27257:14;27243:28;;27098:179;;;;:::o;27283:113::-;27353:4;27385;27380:3;27376:14;27368:22;;27283:113;;;:::o;27432:732::-;27551:3;27580:54;27628:5;27580:54;:::i;:::-;27650:86;27729:6;27724:3;27650:86;:::i;:::-;27643:93;;27760:56;27810:5;27760:56;:::i;:::-;27839:7;27870:1;27855:284;27880:6;27877:1;27874:13;27855:284;;;27956:6;27950:13;27983:63;28042:3;28027:13;27983:63;:::i;:::-;27976:70;;28069:60;28122:6;28069:60;:::i;:::-;28059:70;;27915:224;27902:1;27899;27895:9;27890:14;;27855:284;;;27859:14;28155:3;28148:10;;27556:608;;;27432:732;;;;:::o;28170:831::-;28433:4;28471:3;28460:9;28456:19;28448:27;;28485:71;28553:1;28542:9;28538:17;28529:6;28485:71;:::i;:::-;28566:80;28642:2;28631:9;28627:18;28618:6;28566:80;:::i;:::-;28693:9;28687:4;28683:20;28678:2;28667:9;28663:18;28656:48;28721:108;28824:4;28815:6;28721:108;:::i;:::-;28713:116;;28839:72;28907:2;28896:9;28892:18;28883:6;28839:72;:::i;:::-;28921:73;28989:3;28978:9;28974:19;28965:6;28921:73;:::i;:::-;28170:831;;;;;;;;:::o;29007:177::-;29147:29;29143:1;29135:6;29131:14;29124:53;29007:177;:::o;29190:366::-;29332:3;29353:67;29417:2;29412:3;29353:67;:::i;:::-;29346:74;;29429:93;29518:3;29429:93;:::i;:::-;29547:2;29542:3;29538:12;29531:19;;29190:366;;;:::o;29562:419::-;29728:4;29766:2;29755:9;29751:18;29743:26;;29815:9;29809:4;29805:20;29801:1;29790:9;29786:17;29779:47;29843:131;29969:4;29843:131;:::i;:::-;29835:139;;29562:419;;;:::o
Swarm Source
ipfs://6b629b5b647bc82d904de58dad7929d2480715946de60813777e42203b6041ff
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.