ERC-20
Overview
Max Total Supply
69,000,000 R6900
Holders
99
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,375.537507298 R6900Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RUSSELL6900
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-09 */ // SPDX-License-Identifier: MIT /** * * $R6900 * * WEB: https://www.r6900.com/ * X: https://x.com/Russell6900_ * TG: https://t.me/Russell6900entry * */ pragma solidity 0.8.26; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, 'SafeMath: addition overflow'); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, 'SafeMath: subtraction overflow'); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, 'SafeMath: multiplication overflow'); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, 'SafeMath: division by zero'); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), 'Ownable: caller is not the owner'); _; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), 'New owner cannot be the zero address'); require(newOwner != _owner, 'New owner must be different'); address prevOwner = _owner; _owner = newOwner; emit OwnershipTransferred(prevOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); 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); } contract RUSSELL6900 is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _excludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals=9; uint256 private constant _tTotal=69000000 * 10**_decimals; string private constant _name=unicode"RUSSELL6900"; string private constant _symbol=unicode"R6900"; uint256 public _maxTxAmount=1380000 * 10**_decimals; uint256 public _maxWalletSize=1380000 * 10**_decimals; uint256 public _taxSwapThreshold= 1380000 * 10**_decimals; uint256 public _maxTaxSwap= 1380000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap=false; bool private swapEnabled=false; uint256 private sellCount=0; uint256 private lastSellBlock=0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tTotal; _excludedFromFee[owner()] = true; _excludedFromFee[address(this)] = true; _excludedFromFee[_taxWallet] = true; emit Transfer(address(0), address(this), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _excludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _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) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function 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 removeR6900Limits() external onlyOwner{ require(tradingOpen, "Trading is not open"); _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addLiquidityEth() external payable onlyOwner { require(!tradingOpen, "Trading is already open."); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Factory uniswapV2Factory = IUniswapV2Factory( uniswapV2Router.factory() ); uniswapV2Pair = uniswapV2Factory.createPair( address(this), uniswapV2Router.WETH() ); _excludedFromFee[address(uniswapV2Pair)] = true; _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{ value: msg.value }( address(this), totalSupply(), 0, 0, owner(), block.timestamp ); tradingOpen = true; swapEnabled = true; } receive() external payable {} function recoverR6900() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ _transfer(address(this), _taxWallet, tokenBalance); } } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":[],"name":"addLiquidityEth","outputs":[],"stateMutability":"payable","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":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverR6900","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeR6900Limits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601460055560146006555f6007555f60085560146009556014600a556014600b555f600c556009600a6100379190610595565b62150ea061004591906105df565b600d556009600a6100569190610595565b62150ea061006491906105df565b600e556009600a6100759190610595565b62150ea061008391906105df565b600f556009600a6100949190610595565b62150ea06100a291906105df565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6013555f6014553480156100ec575f80fd5b505f6100fc6103f660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101a66103f660201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101f39190610595565b63041cdb4061020291906105df565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102566103fd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103cd9190610595565b63041cdb406103dc91906105df565b6040516103e9919061062f565b60405180910390a3610648565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104a65780860481111561048257610481610424565b5b60018516156104915780820291505b808102905061049f85610451565b9450610466565b94509492505050565b5f826104be5760019050610579565b816104cb575f9050610579565b81600181146104e157600281146104eb5761051a565b6001915050610579565b60ff8411156104fd576104fc610424565b5b8360020a91508482111561051457610513610424565b5b50610579565b5060208310610133831016604e8410600b841016171561054f5782820a90508381111561054a57610549610424565b5b610579565b61055c848484600161045d565b9250905081840481111561057357610572610424565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61059f82610580565b91506105aa83610589565b92506105d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104af565b905092915050565b5f6105e982610580565b91506105f483610580565b925082820261060281610580565b9150828204841483151761061957610618610424565b5b5092915050565b61062981610580565b82525050565b5f6020820190506106425f830184610620565b92915050565b6131a6806106555f395ff3fe608060405260043610610122575f3560e01c8063715018a61161009f578063a9059cbb11610063578063a9059cbb1461037d578063bf474bed146103b9578063c99dc335146103e3578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063715018a6146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780633c21ce2f146102575780636fc3eaec1461026d57806370a082311461028357610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e9190612202565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906122b3565b61049a565b60405161018a919061230b565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b49190612333565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de9190612333565b60405180910390f35b3480156101f2575f80fd5b5061020d6004803603810190610208919061234c565b6104e0565b60405161021a919061230b565b60405180910390f35b61022b6105b4565b005b348015610238575f80fd5b50610241610a5d565b60405161024e91906123b7565b60405180910390f35b348015610262575f80fd5b5061026b610a65565b005b348015610278575f80fd5b50610281610b08565b005b34801561028e575f80fd5b506102a960048036038101906102a491906123d0565b610b77565b6040516102b69190612333565b60405180910390f35b3480156102ca575f80fd5b506102d3610bbd565b005b3480156102e0575f80fd5b506102e9610d0b565b6040516102f69190612333565b60405180910390f35b34801561030a575f80fd5b50610313610d11565b604051610320919061240a565b60405180910390f35b348015610334575f80fd5b5061033d610d38565b60405161034a9190612333565b60405180910390f35b34801561035e575f80fd5b50610367610d3e565b6040516103749190612202565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e91906122b3565b610d7b565b6040516103b0919061230b565b60405180910390f35b3480156103c4575f80fd5b506103cd610d98565b6040516103da9190612333565b60405180910390f35b3480156103ee575f80fd5b506103f7610d9e565b005b348015610404575f80fd5b5061041f600480360381019061041a9190612423565b610f1c565b60405161042c9190612333565b60405180910390f35b348015610440575f80fd5b5061045b600480360381019061045691906123d0565b610f9e565b005b60606040518060400160405280600b81526020017f52555353454c4c36393030000000000000000000000000000000000000000000815250905090565b5f6104ad6104a66111ee565b84846111f5565b6001905092915050565b60105481565b5f6009600a6104cc91906125bd565b63041cdb406104db9190612607565b905090565b5f6104ec8484846113b8565b6105a9846104f86111ee565b6105a4856040518060600160405280602881526020016131496028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055b6111ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c649092919063ffffffff16565b6111f5565b600190509392505050565b6105bc6111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f90612692565b60405180910390fd5b601260149054906101000a900460ff1615610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f906126fa565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077b919061272c565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610828919061272c565b6040518363ffffffff1660e01b8152600401610845929190612757565b6020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610885919061272c565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096d3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109686104bd565b6111f5565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b46104bd565b5f806109be610d11565b426040518863ffffffff1660e01b81526004016109e0969594939291906127c0565b60606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a219190612833565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa56111ee565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b5f610ace30610b77565b90505f811115610b0557610b043060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836113b8565b5b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b486111ee565b73ffffffffffffffffffffffffffffffffffffffff1614610b67575f80fd5b5f479050610b7481611cc6565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc56111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890612692565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f5236393030000000000000000000000000000000000000000000000000000000815250905090565b5f610d8e610d876111ee565b84846113b8565b6001905092915050565b600f5481565b610da66111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990612692565b60405180910390fd5b601260149054906101000a900460ff16610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e78906128cd565b60405180910390fd5b6009600a610e8f91906125bd565b63041cdb40610e9e9190612607565b600d819055506009600a610eb291906125bd565b63041cdb40610ec19190612607565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610ef691906125bd565b63041cdb40610f059190612607565b604051610f129190612333565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610fa66111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612692565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110979061295b565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361112d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611124906129c3565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a90612a51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890612adf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ab9190612333565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612b6d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b90612bfb565b60405180910390fd5b5f81116114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612c89565b60405180910390fd5b5f6114df610d11565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561154d575061151d610d11565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119b4575f600c540361159a576115976064611589600954600c54116115765760055461157a565b6007545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611643575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611696575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561178e57600d548211156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612cf1565b60405180910390fd5b600e54826116ed85610b77565b6116f79190612d0f565b1115611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90612d8c565b60405180910390fd5b6117746064611766600954600c541161175357600554611757565b6007545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b9050600c5f81548092919061178890612daa565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561181657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561185a576118576064611849600a54600c54116118365760065461183a565b6008545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b90505b5f61186430610b77565b9050601260159054906101000a900460ff161580156118cf575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118e75750601260169054906101000a900460ff165b80156118f45750600f5481115b80156119035750600b54600c54115b156119b25760145443111561191a575f6013819055505b60036013541061195f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195690612e3b565b60405180910390fd5b61197c6119778461197284601054611dee565b611dee565b611e06565b5f4790505f8111156119925761199147611cc6565b5b60135f8154809291906119a490612daa565b919050555043601481905550505b505b5f811115611ab357611a0c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aaa9190612333565b60405180910390a35b611b038260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120ce90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ba6611b5a82846120ce90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c4984866120ce90919063ffffffff16565b604051611c569190612333565b60405180910390a350505050565b5f838311158290611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca29190612202565b60405180910390fd5b505f8385611cb99190612e59565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d2a573d5f803e3d5ffd5b5050565b5f808303611d3e575f9050611d9f565b5f8284611d4b9190612607565b9050828482611d5a9190612eb9565b14611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190612f59565b60405180910390fd5b809150505b92915050565b5f611de683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612117565b905092915050565b5f818311611dfc5782611dfe565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3d57611e3c612f77565b5b604051908082528060200260200182016040528015611e6b5781602001602082028036833780820191505090505b50905030815f81518110611e8257611e81612fa4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4a919061272c565b81600181518110611f5e57611f5d612fa4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc43060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f5565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612026959493929190613088565b5f604051808303815f87803b15801561203d575f80fd5b505af115801561204f573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f80828461207f9190612d0f565b9050838110156120c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bb9061312a565b60405180910390fd5b8091505092915050565b5f61210f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c64565b905092915050565b5f808311829061215d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121549190612202565b60405180910390fd5b505f838561216b9190612eb9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121af578082015181840152602081019050612194565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121d482612178565b6121de8185612182565b93506121ee818560208601612192565b6121f7816121ba565b840191505092915050565b5f6020820190508181035f83015261221a81846121ca565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61224f82612226565b9050919050565b61225f81612245565b8114612269575f80fd5b50565b5f8135905061227a81612256565b92915050565b5f819050919050565b61229281612280565b811461229c575f80fd5b50565b5f813590506122ad81612289565b92915050565b5f80604083850312156122c9576122c8612222565b5b5f6122d68582860161226c565b92505060206122e78582860161229f565b9150509250929050565b5f8115159050919050565b612305816122f1565b82525050565b5f60208201905061231e5f8301846122fc565b92915050565b61232d81612280565b82525050565b5f6020820190506123465f830184612324565b92915050565b5f805f6060848603121561236357612362612222565b5b5f6123708682870161226c565b93505060206123818682870161226c565b92505060406123928682870161229f565b9150509250925092565b5f60ff82169050919050565b6123b18161239c565b82525050565b5f6020820190506123ca5f8301846123a8565b92915050565b5f602082840312156123e5576123e4612222565b5b5f6123f28482850161226c565b91505092915050565b61240481612245565b82525050565b5f60208201905061241d5f8301846123fb565b92915050565b5f806040838503121561243957612438612222565b5b5f6124468582860161226c565b92505060206124578582860161226c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124e3578086048111156124bf576124be612461565b5b60018516156124ce5780820291505b80810290506124dc8561248e565b94506124a3565b94509492505050565b5f826124fb57600190506125b6565b81612508575f90506125b6565b816001811461251e576002811461252857612557565b60019150506125b6565b60ff84111561253a57612539612461565b5b8360020a91508482111561255157612550612461565b5b506125b6565b5060208310610133831016604e8410600b841016171561258c5782820a90508381111561258757612586612461565b5b6125b6565b612599848484600161249a565b925090508184048111156125b0576125af612461565b5b81810290505b9392505050565b5f6125c782612280565b91506125d28361239c565b92506125ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124ec565b905092915050565b5f61261182612280565b915061261c83612280565b925082820261262a81612280565b9150828204841483151761264157612640612461565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61267c602083612182565b915061268782612648565b602082019050919050565b5f6020820190508181035f8301526126a981612670565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f6126e4601883612182565b91506126ef826126b0565b602082019050919050565b5f6020820190508181035f830152612711816126d8565b9050919050565b5f8151905061272681612256565b92915050565b5f6020828403121561274157612740612222565b5b5f61274e84828501612718565b91505092915050565b5f60408201905061276a5f8301856123fb565b61277760208301846123fb565b9392505050565b5f819050919050565b5f819050919050565b5f6127aa6127a56127a08461277e565b612787565b612280565b9050919050565b6127ba81612790565b82525050565b5f60c0820190506127d35f8301896123fb565b6127e06020830188612324565b6127ed60408301876127b1565b6127fa60608301866127b1565b61280760808301856123fb565b61281460a0830184612324565b979650505050505050565b5f8151905061282d81612289565b92915050565b5f805f6060848603121561284a57612849612222565b5b5f6128578682870161281f565b93505060206128688682870161281f565b92505060406128798682870161281f565b9150509250925092565b7f54726164696e67206973206e6f74206f70656e000000000000000000000000005f82015250565b5f6128b7601383612182565b91506128c282612883565b602082019050919050565b5f6020820190508181035f8301526128e4816128ab565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612945602483612182565b9150612950826128eb565b604082019050919050565b5f6020820190508181035f83015261297281612939565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6129ad601b83612182565b91506129b882612979565b602082019050919050565b5f6020820190508181035f8301526129da816129a1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a3b602483612182565b9150612a46826129e1565b604082019050919050565b5f6020820190508181035f830152612a6881612a2f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac9602283612182565b9150612ad482612a6f565b604082019050919050565b5f6020820190508181035f830152612af681612abd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b57602583612182565b9150612b6282612afd565b604082019050919050565b5f6020820190508181035f830152612b8481612b4b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612be5602383612182565b9150612bf082612b8b565b604082019050919050565b5f6020820190508181035f830152612c1281612bd9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c73602983612182565b9150612c7e82612c19565b604082019050919050565b5f6020820190508181035f830152612ca081612c67565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cdb601983612182565b9150612ce682612ca7565b602082019050919050565b5f6020820190508181035f830152612d0881612ccf565b9050919050565b5f612d1982612280565b9150612d2483612280565b9250828201905080821115612d3c57612d3b612461565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d76601a83612182565b9150612d8182612d42565b602082019050919050565b5f6020820190508181035f830152612da381612d6a565b9050919050565b5f612db482612280565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612de657612de5612461565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612e25601783612182565b9150612e3082612df1565b602082019050919050565b5f6020820190508181035f830152612e5281612e19565b9050919050565b5f612e6382612280565b9150612e6e83612280565b9250828203905081811115612e8657612e85612461565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ec382612280565b9150612ece83612280565b925082612ede57612edd612e8c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f43602183612182565b9150612f4e82612ee9565b604082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61300381612245565b82525050565b5f6130148383612ffa565b60208301905092915050565b5f602082019050919050565b5f61303682612fd1565b6130408185612fdb565b935061304b83612feb565b805f5b8381101561307b5781516130628882613009565b975061306d83613020565b92505060018101905061304e565b5085935050505092915050565b5f60a08201905061309b5f830188612324565b6130a860208301876127b1565b81810360408301526130ba818661302c565b90506130c960608301856123fb565b6130d66080830184612324565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613114601b83612182565b915061311f826130e0565b602082019050919050565b5f6020820190508181035f83015261314181613108565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220106c019803c86926cd79ac5387ef693a275a49b2d31275bb19639f1da1a0367964736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063715018a61161009f578063a9059cbb11610063578063a9059cbb1461037d578063bf474bed146103b9578063c99dc335146103e3578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063715018a6146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780633c21ce2f146102575780636fc3eaec1461026d57806370a082311461028357610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e9190612202565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906122b3565b61049a565b60405161018a919061230b565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b49190612333565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de9190612333565b60405180910390f35b3480156101f2575f80fd5b5061020d6004803603810190610208919061234c565b6104e0565b60405161021a919061230b565b60405180910390f35b61022b6105b4565b005b348015610238575f80fd5b50610241610a5d565b60405161024e91906123b7565b60405180910390f35b348015610262575f80fd5b5061026b610a65565b005b348015610278575f80fd5b50610281610b08565b005b34801561028e575f80fd5b506102a960048036038101906102a491906123d0565b610b77565b6040516102b69190612333565b60405180910390f35b3480156102ca575f80fd5b506102d3610bbd565b005b3480156102e0575f80fd5b506102e9610d0b565b6040516102f69190612333565b60405180910390f35b34801561030a575f80fd5b50610313610d11565b604051610320919061240a565b60405180910390f35b348015610334575f80fd5b5061033d610d38565b60405161034a9190612333565b60405180910390f35b34801561035e575f80fd5b50610367610d3e565b6040516103749190612202565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e91906122b3565b610d7b565b6040516103b0919061230b565b60405180910390f35b3480156103c4575f80fd5b506103cd610d98565b6040516103da9190612333565b60405180910390f35b3480156103ee575f80fd5b506103f7610d9e565b005b348015610404575f80fd5b5061041f600480360381019061041a9190612423565b610f1c565b60405161042c9190612333565b60405180910390f35b348015610440575f80fd5b5061045b600480360381019061045691906123d0565b610f9e565b005b60606040518060400160405280600b81526020017f52555353454c4c36393030000000000000000000000000000000000000000000815250905090565b5f6104ad6104a66111ee565b84846111f5565b6001905092915050565b60105481565b5f6009600a6104cc91906125bd565b63041cdb406104db9190612607565b905090565b5f6104ec8484846113b8565b6105a9846104f86111ee565b6105a4856040518060600160405280602881526020016131496028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055b6111ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c649092919063ffffffff16565b6111f5565b600190509392505050565b6105bc6111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f90612692565b60405180910390fd5b601260149054906101000a900460ff1615610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f906126fa565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077b919061272c565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610828919061272c565b6040518363ffffffff1660e01b8152600401610845929190612757565b6020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610885919061272c565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096d3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109686104bd565b6111f5565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b46104bd565b5f806109be610d11565b426040518863ffffffff1660e01b81526004016109e0969594939291906127c0565b60606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a219190612833565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa56111ee565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b5f610ace30610b77565b90505f811115610b0557610b043060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836113b8565b5b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b486111ee565b73ffffffffffffffffffffffffffffffffffffffff1614610b67575f80fd5b5f479050610b7481611cc6565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc56111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890612692565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f5236393030000000000000000000000000000000000000000000000000000000815250905090565b5f610d8e610d876111ee565b84846113b8565b6001905092915050565b600f5481565b610da66111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990612692565b60405180910390fd5b601260149054906101000a900460ff16610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e78906128cd565b60405180910390fd5b6009600a610e8f91906125bd565b63041cdb40610e9e9190612607565b600d819055506009600a610eb291906125bd565b63041cdb40610ec19190612607565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610ef691906125bd565b63041cdb40610f059190612607565b604051610f129190612333565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610fa66111ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612692565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110979061295b565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361112d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611124906129c3565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a90612a51565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890612adf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ab9190612333565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141d90612b6d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b90612bfb565b60405180910390fd5b5f81116114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612c89565b60405180910390fd5b5f6114df610d11565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561154d575061151d610d11565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119b4575f600c540361159a576115976064611589600954600c54116115765760055461157a565b6007545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611643575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611696575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561178e57600d548211156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790612cf1565b60405180910390fd5b600e54826116ed85610b77565b6116f79190612d0f565b1115611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90612d8c565b60405180910390fd5b6117746064611766600954600c541161175357600554611757565b6007545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b9050600c5f81548092919061178890612daa565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561181657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561185a576118576064611849600a54600c54116118365760065461183a565b6008545b85611d2e90919063ffffffff16565b611da590919063ffffffff16565b90505b5f61186430610b77565b9050601260159054906101000a900460ff161580156118cf575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118e75750601260169054906101000a900460ff165b80156118f45750600f5481115b80156119035750600b54600c54115b156119b25760145443111561191a575f6013819055505b60036013541061195f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195690612e3b565b60405180910390fd5b61197c6119778461197284601054611dee565b611dee565b611e06565b5f4790505f8111156119925761199147611cc6565b5b60135f8154809291906119a490612daa565b919050555043601481905550505b505b5f811115611ab357611a0c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aaa9190612333565b60405180910390a35b611b038260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120ce90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ba6611b5a82846120ce90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c4984866120ce90919063ffffffff16565b604051611c569190612333565b60405180910390a350505050565b5f838311158290611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca29190612202565b60405180910390fd5b505f8385611cb99190612e59565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d2a573d5f803e3d5ffd5b5050565b5f808303611d3e575f9050611d9f565b5f8284611d4b9190612607565b9050828482611d5a9190612eb9565b14611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190612f59565b60405180910390fd5b809150505b92915050565b5f611de683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612117565b905092915050565b5f818311611dfc5782611dfe565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3d57611e3c612f77565b5b604051908082528060200260200182016040528015611e6b5781602001602082028036833780820191505090505b50905030815f81518110611e8257611e81612fa4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4a919061272c565b81600181518110611f5e57611f5d612fa4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc43060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f5565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612026959493929190613088565b5f604051808303815f87803b15801561203d575f80fd5b505af115801561204f573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f80828461207f9190612d0f565b9050838110156120c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bb9061312a565b60405180910390fd5b8091505092915050565b5f61210f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c64565b905092915050565b5f808311829061215d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121549190612202565b60405180910390fd5b505f838561216b9190612eb9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121af578082015181840152602081019050612194565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121d482612178565b6121de8185612182565b93506121ee818560208601612192565b6121f7816121ba565b840191505092915050565b5f6020820190508181035f83015261221a81846121ca565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61224f82612226565b9050919050565b61225f81612245565b8114612269575f80fd5b50565b5f8135905061227a81612256565b92915050565b5f819050919050565b61229281612280565b811461229c575f80fd5b50565b5f813590506122ad81612289565b92915050565b5f80604083850312156122c9576122c8612222565b5b5f6122d68582860161226c565b92505060206122e78582860161229f565b9150509250929050565b5f8115159050919050565b612305816122f1565b82525050565b5f60208201905061231e5f8301846122fc565b92915050565b61232d81612280565b82525050565b5f6020820190506123465f830184612324565b92915050565b5f805f6060848603121561236357612362612222565b5b5f6123708682870161226c565b93505060206123818682870161226c565b92505060406123928682870161229f565b9150509250925092565b5f60ff82169050919050565b6123b18161239c565b82525050565b5f6020820190506123ca5f8301846123a8565b92915050565b5f602082840312156123e5576123e4612222565b5b5f6123f28482850161226c565b91505092915050565b61240481612245565b82525050565b5f60208201905061241d5f8301846123fb565b92915050565b5f806040838503121561243957612438612222565b5b5f6124468582860161226c565b92505060206124578582860161226c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124e3578086048111156124bf576124be612461565b5b60018516156124ce5780820291505b80810290506124dc8561248e565b94506124a3565b94509492505050565b5f826124fb57600190506125b6565b81612508575f90506125b6565b816001811461251e576002811461252857612557565b60019150506125b6565b60ff84111561253a57612539612461565b5b8360020a91508482111561255157612550612461565b5b506125b6565b5060208310610133831016604e8410600b841016171561258c5782820a90508381111561258757612586612461565b5b6125b6565b612599848484600161249a565b925090508184048111156125b0576125af612461565b5b81810290505b9392505050565b5f6125c782612280565b91506125d28361239c565b92506125ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124ec565b905092915050565b5f61261182612280565b915061261c83612280565b925082820261262a81612280565b9150828204841483151761264157612640612461565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61267c602083612182565b915061268782612648565b602082019050919050565b5f6020820190508181035f8301526126a981612670565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f6126e4601883612182565b91506126ef826126b0565b602082019050919050565b5f6020820190508181035f830152612711816126d8565b9050919050565b5f8151905061272681612256565b92915050565b5f6020828403121561274157612740612222565b5b5f61274e84828501612718565b91505092915050565b5f60408201905061276a5f8301856123fb565b61277760208301846123fb565b9392505050565b5f819050919050565b5f819050919050565b5f6127aa6127a56127a08461277e565b612787565b612280565b9050919050565b6127ba81612790565b82525050565b5f60c0820190506127d35f8301896123fb565b6127e06020830188612324565b6127ed60408301876127b1565b6127fa60608301866127b1565b61280760808301856123fb565b61281460a0830184612324565b979650505050505050565b5f8151905061282d81612289565b92915050565b5f805f6060848603121561284a57612849612222565b5b5f6128578682870161281f565b93505060206128688682870161281f565b92505060406128798682870161281f565b9150509250925092565b7f54726164696e67206973206e6f74206f70656e000000000000000000000000005f82015250565b5f6128b7601383612182565b91506128c282612883565b602082019050919050565b5f6020820190508181035f8301526128e4816128ab565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612945602483612182565b9150612950826128eb565b604082019050919050565b5f6020820190508181035f83015261297281612939565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6129ad601b83612182565b91506129b882612979565b602082019050919050565b5f6020820190508181035f8301526129da816129a1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a3b602483612182565b9150612a46826129e1565b604082019050919050565b5f6020820190508181035f830152612a6881612a2f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac9602283612182565b9150612ad482612a6f565b604082019050919050565b5f6020820190508181035f830152612af681612abd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b57602583612182565b9150612b6282612afd565b604082019050919050565b5f6020820190508181035f830152612b8481612b4b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612be5602383612182565b9150612bf082612b8b565b604082019050919050565b5f6020820190508181035f830152612c1281612bd9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c73602983612182565b9150612c7e82612c19565b604082019050919050565b5f6020820190508181035f830152612ca081612c67565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cdb601983612182565b9150612ce682612ca7565b602082019050919050565b5f6020820190508181035f830152612d0881612ccf565b9050919050565b5f612d1982612280565b9150612d2483612280565b9250828201905080821115612d3c57612d3b612461565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d76601a83612182565b9150612d8182612d42565b602082019050919050565b5f6020820190508181035f830152612da381612d6a565b9050919050565b5f612db482612280565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612de657612de5612461565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612e25601783612182565b9150612e3082612df1565b602082019050919050565b5f6020820190508181035f830152612e5281612e19565b9050919050565b5f612e6382612280565b9150612e6e83612280565b9250828203905081811115612e8657612e85612461565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ec382612280565b9150612ece83612280565b925082612ede57612edd612e8c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f43602183612182565b9150612f4e82612ee9565b604082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61300381612245565b82525050565b5f6130148383612ffa565b60208301905092915050565b5f602082019050919050565b5f61303682612fd1565b6130408185612fdb565b935061304b83612feb565b805f5b8381101561307b5781516130628882613009565b975061306d83613020565b92505060018101905061304e565b5085935050505092915050565b5f60a08201905061309b5f830188612324565b6130a860208301876127b1565b81810360408301526130ba818661302c565b90506130c960608301856123fb565b6130d66080830184612324565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613114601b83612182565b915061311f826130e0565b602082019050919050565b5f6020820190508181035f83015261314181613108565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220106c019803c86926cd79ac5387ef693a275a49b2d31275bb19639f1da1a0367964736f6c634300081a0033
Deployed Bytecode Sourcemap
4219:8111:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6093:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6926:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5253:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6370:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7095:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10979:864;;;:::i;:::-;;6279:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11888:244;;;;;;;;;;;;;:::i;:::-;;12140:187;;;;;;;;;;;;;:::i;:::-;;6473:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3208:148;;;;;;;;;;;;;:::i;:::-;;5071:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2635:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5129:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6184:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6600:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5189:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10653:218;;;;;;;;;;;;;:::i;:::-;;6775:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2849:351;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6093:83;6130:13;6163:5;;;;;;;;;;;;;;;;;6156:12;;6093:83;:::o;6926:161::-;7001:4;7018:39;7027:12;:10;:12::i;:::-;7041:7;7050:6;7018:8;:39::i;:::-;7075:4;7068:11;;6926:161;;;;:::o;5253:51::-;;;;:::o;6370:95::-;6423:7;4889:1;4941:2;:13;;;;:::i;:::-;4930:8;:24;;;;:::i;:::-;6443:14;;6370:95;:::o;7095:313::-;7193:4;7210:36;7220:6;7228:9;7239:6;7210:9;:36::i;:::-;7257:121;7266:6;7274:12;:10;:12::i;:::-;7288:89;7326:6;7288:89;;;;;;;;;;;;;;;;;:11;:19;7300:6;7288:19;;;;;;;;;;;;;;;:33;7308:12;:10;:12::i;:::-;7288:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7257:8;:121::i;:::-;7396:4;7389:11;;7095:313;;;;;:::o;10979:864::-;2772:12;:10;:12::i;:::-;2762:22;;:6;;;;;;;;;;:22;;;2754:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11053:11:::1;;;;;;;;;;;11052:12;11044:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11141:42;11104:15;;:80;;;;;;;;;;;;;;;;;;11195:34;11264:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11195:105;;11327:16;:27;;;11377:4;11398:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11327:104;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11311:13;;:120;;;;;;;;;;;;;;;;;;11485:4;11442:16;:40;11467:13;;;;;;;;;;;11442:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;11500:64;11517:4;11532:15;;;;;;;;;;;11550:13;:11;:13::i;:::-;11500:8;:64::i;:::-;11575:15;;;;;;;;;;;:31;;;11615:9;11649:4;11669:13;:11;:13::i;:::-;11697:1;11713::::0;11729:7:::1;:5;:7::i;:::-;11751:15;11575:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11802:4;11788:11;;:18;;;;;;;;;;;;;;;;;;11831:4;11817:11;;:18;;;;;;;;;;;;;;;;;;11033:810;10979:864::o:0;6279:83::-;6320:5;4889:1;6338:16;;6279:83;:::o;11888:244::-;11954:10;;;;;;;;;;;11940:24;;:12;:10;:12::i;:::-;:24;;;11932:33;;;;;;11976:20;11997:24;12015:4;11997:9;:24::i;:::-;11976:45;;12048:1;12035:12;:14;12032:93;;;12063:50;12081:4;12088:10;;;;;;;;;;;12100:12;12063:9;:50::i;:::-;12032:93;11921:211;11888:244::o;12140:187::-;12204:10;;;;;;;;;;;12190:24;;:12;:10;:12::i;:::-;:24;;;12182:33;;;;;;12226:26;12255:21;12226:50;;12287:32;12300:18;12287:12;:32::i;:::-;12171:156;12140:187::o;6473:119::-;6539:7;6566:9;:18;6576:7;6566:18;;;;;;;;;;;;;;;;6559:25;;6473:119;;;:::o;3208:148::-;2772:12;:10;:12::i;:::-;2762:22;;:6;;;;;;;;;;:22;;;2754:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3315:1:::1;3278:40;;3299:6;::::0;::::1;;;;;;;;3278:40;;;;;;;;;;;;3346:1;3329:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3208:148::o:0;5071:51::-;;;;:::o;2635:79::-;2673:7;2700:6;;;;;;;;;;;2693:13;;2635:79;:::o;5129:53::-;;;;:::o;6184:87::-;6223:13;6256:7;;;;;;;;;;;;;;;;;6249:14;;6184:87;:::o;6600:167::-;6678:4;6695:42;6705:12;:10;:12::i;:::-;6719:9;6730:6;6695:9;:42::i;:::-;6755:4;6748:11;;6600:167;;;;:::o;5189:57::-;;;;:::o;10653:218::-;2772:12;:10;:12::i;:::-;2762:22;;:6;;;;;;;;;;:22;;;2754:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10719:11:::1;;;;;;;;;;;10711:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;4889:1;4941:2;:13;;;;:::i;:::-;4930:8;:24;;;;:::i;:::-;10765:12;:22;;;;4889:1;4941:2;:13;;;;:::i;:::-;4930:8;:24;;;;:::i;:::-;10798:14;:22;;;;10836:27;4889:1;4941:2;:13;;;;:::i;:::-;4930:8;:24;;;;:::i;:::-;10836:27;;;;;;:::i;:::-;;;;;;;;10653:218::o:0;6775:143::-;6856:7;6883:11;:18;6895:5;6883:18;;;;;;;;;;;;;;;:27;6902:7;6883:27;;;;;;;;;;;;;;;;6876:34;;6775:143;;;;:::o;2849:351::-;2772:12;:10;:12::i;:::-;2762:22;;:6;;;;;;;;;;:22;;;2754:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2958:1:::1;2938:22;;:8;:22;;::::0;2930:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3032:6;::::0;::::1;;;;;;;;3020:18;;:8;:18;;::::0;3012:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3081:17;3101:6:::0;::::1;;;;;;;;;;3081:26;;3127:8;3118:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3183:8;3151:41;;3172:9;3151:41;;;;;;;;;;;;2919:281;2849:351:::0;:::o;2212:98::-;2265:7;2292:10;2285:17;;2212:98;:::o;7416:335::-;7526:1;7509:19;;:5;:19;;;7501:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7607:1;7588:21;;:7;:21;;;7580:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7689:6;7659:11;:18;7671:5;7659:18;;;;;;;;;;;;;;;:27;7678:7;7659:27;;;;;;;;;;;;;;;:36;;;;7727:7;7711:32;;7720:5;7711:32;;;7736:6;7711:32;;;;;;:::i;:::-;;;;;;;;7416:335;;;:::o;7759:2287::-;7863:1;7847:18;;:4;:18;;;7839:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7940:1;7926:16;;:2;:16;;;7918:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8010:1;8001:6;:10;7993:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8068:17;8110:7;:5;:7::i;:::-;8102:15;;:4;:15;;;;:32;;;;;8127:7;:5;:7::i;:::-;8121:13;;:2;:13;;;;8102:32;8098:1592;;;8165:1;8154:9;;:12;8151:139;;8198:76;8270:3;8198:67;8220:15;;8210:9;;:25;8209:55;;8250:14;;8209:55;;;8237:12;;8209:55;8198:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8186:88;;8151:139;8318:13;;;;;;;;;;;8310:21;;:4;:21;;;:55;;;;;8349:15;;;;;;;;;;;8335:30;;:2;:30;;;;8310:55;:81;;;;;8371:16;:20;8388:2;8371:20;;;;;;;;;;;;;;;;;;;;;;;;;8369:22;8310:81;8306:418;;;8431:12;;8421:6;:22;;8413:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8526:14;;8516:6;8500:13;8510:2;8500:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8492:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8602:76;8674:3;8602:67;8624:15;;8614:9;;:25;8613:55;;8654:14;;8613:55;;;8641:12;;8613:55;8602:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8590:88;;8697:9;;:11;;;;;;;;;:::i;:::-;;;;;;8306:418;8749:13;;;;;;;;;;;8743:19;;:2;:19;;;:43;;;;;8781:4;8766:20;;:4;:20;;;;8743:43;8740:174;;;8819:79;8894:3;8819:70;8841:16;;8831:9;;:26;8830:58;;8873:15;;8830:58;;;8859:13;;8830:58;8819:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8807:91;;8740:174;8930:28;8961:24;8979:4;8961:9;:24::i;:::-;8930:55;;9005:6;;;;;;;;;;;9004:7;:30;;;;;9021:13;;;;;;;;;;;9015:19;;:2;:19;;;9004:30;:45;;;;;9038:11;;;;;;;;;;;9004:45;:89;;;;;9076:17;;9053:20;:40;9004:89;:123;;;;;9109:18;;9097:9;;:30;9004:123;9000:679;;;9167:13;;9152:12;:28;9148:90;;;9217:1;9205:9;:13;;;;9148:90;9276:1;9264:9;;:13;9256:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9324:69;9341:51;9345:6;9353:38;9357:20;9379:11;;9353:3;:38::i;:::-;9341:3;:51::i;:::-;9324:16;:69::i;:::-;9412:26;9441:21;9412:50;;9506:1;9485:18;:22;9481:106;;;9532:35;9545:21;9532:12;:35::i;:::-;9481:106;9605:9;;:11;;;;;;;;;:::i;:::-;;;;;;9651:12;9635:13;:28;;;;9129:550;9000:679;8136:1554;8098:1592;9715:1;9705:9;:11;9702:161;;;9755:39;9784:9;9755;:24;9773:4;9755:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9730:9;:24;9748:4;9730:24;;;;;;;;;;;;;;;:64;;;;9835:4;9812:39;;9821:4;9812:39;;;9841:9;9812:39;;;;;;:::i;:::-;;;;;;;;9702:161;9889:27;9909:6;9889:9;:15;9899:4;9889:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9873:9;:15;9883:4;9873:15;;;;;;;;;;;;;;;:43;;;;9941:40;9959:21;9970:9;9959:6;:10;;:21;;;;:::i;:::-;9941:9;:13;9951:2;9941:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9927:9;:13;9937:2;9927:13;;;;;;;;;;;;;;;:54;;;;10012:2;9997:41;;10006:4;9997:41;;;10016:21;10027:9;10016:6;:10;;:21;;;;:::i;:::-;9997:41;;;;;;:::i;:::-;;;;;;;;7828:2218;7759:2287;;;:::o;563:190::-;649:7;682:1;677;:6;;685:12;669:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;709:9;725:1;721;:5;;;;:::i;:::-;709:17;;744:1;737:8;;;563:190;;;;;:::o;10879:92::-;10936:10;;;;;;;;;;;:19;;:27;10956:6;10936:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10879:92;:::o;761:246::-;819:7;848:1;843;:6;839:47;;873:1;866:8;;;;839:47;896:9;912:1;908;:5;;;;:::i;:::-;896:17;;941:1;936;932;:5;;;;:::i;:::-;:10;924:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;998:1;991:8;;;761:246;;;;;:::o;1015:132::-;1073:7;1100:39;1104:1;1107;1100:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1093:46;;1015:132;;;;:::o;10056:98::-;10113:7;10140:1;10138;:3;10137:9;;10145:1;10137:9;;;10143:1;10137:9;10130:16;;10056:98;;;;:::o;10162:483::-;5715:4;5706:6;;:13;;;;;;;;;;;;;;;;;;10240:21:::1;10278:1;10264:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10240:40;;10309:4;10291;10296:1;10291:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10335:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10325:4;10330:1;10325:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10368:62;10385:4;10400:15;;;;;;;;;;;10418:11;10368:8;:62::i;:::-;10441:15;;;;;;;;;;;:66;;;10522:11;10548:1;10564:4;10591;10611:15;10441:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10229:416;5751:5:::0;5742:6;;:14;;;;;;;;;;;;;;;;;;10162:483;:::o;232:179::-;290:7;310:9;326:1;322;:5;;;;:::i;:::-;310:17;;351:1;346;:6;;338:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;402:1;395:8;;;232:179;;;;:::o;419:136::-;477:7;504:43;508:1;511;504:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;497:50;;419:136;;;;:::o;1155:189::-;1241:7;1273:1;1269;:5;1276:12;1261:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1300:9;1316:1;1312;:5;;;;:::i;:::-;1300:17;;1335:1;1328:8;;;1155: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:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:118::-;3535:24;3553:5;3535:24;:::i;:::-;3530:3;3523:37;3448:118;;:::o;3572:222::-;3665:4;3703:2;3692:9;3688:18;3680:26;;3716:71;3784:1;3773:9;3769:17;3760:6;3716:71;:::i;:::-;3572:222;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:86::-;4460:7;4500:4;4493:5;4489:16;4478:27;;4425:86;;;:::o;4517:112::-;4600:22;4616:5;4600:22;:::i;:::-;4595:3;4588:35;4517:112;;:::o;4635:214::-;4724:4;4762:2;4751:9;4747:18;4739:26;;4775:67;4839:1;4828:9;4824:17;4815:6;4775:67;:::i;:::-;4635:214;;;;:::o;4855:329::-;4914:6;4963:2;4951:9;4942:7;4938:23;4934:32;4931:119;;;4969:79;;:::i;:::-;4931:119;5089:1;5114:53;5159:7;5150:6;5139:9;5135:22;5114:53;:::i;:::-;5104:63;;5060:117;4855:329;;;;:::o;5190:118::-;5277:24;5295:5;5277:24;:::i;:::-;5272:3;5265:37;5190:118;;:::o;5314:222::-;5407:4;5445:2;5434:9;5430:18;5422:26;;5458:71;5526:1;5515:9;5511:17;5502:6;5458:71;:::i;:::-;5314:222;;;;:::o;5542:474::-;5610:6;5618;5667:2;5655:9;5646:7;5642:23;5638:32;5635:119;;;5673:79;;:::i;:::-;5635:119;5793:1;5818:53;5863:7;5854:6;5843:9;5839:22;5818:53;:::i;:::-;5808:63;;5764:117;5920:2;5946:53;5991:7;5982:6;5971:9;5967:22;5946:53;:::i;:::-;5936:63;;5891:118;5542:474;;;;;:::o;6022:180::-;6070:77;6067:1;6060:88;6167:4;6164:1;6157:15;6191:4;6188:1;6181:15;6208:102;6250:8;6297:5;6294:1;6290:13;6269:34;;6208:102;;;:::o;6316:848::-;6377:5;6384:4;6408:6;6399:15;;6432:5;6423:14;;6446:712;6467:1;6457:8;6454:15;6446:712;;;6562:4;6557:3;6553:14;6547:4;6544:24;6541:50;;;6571:18;;:::i;:::-;6541:50;6621:1;6611:8;6607:16;6604:451;;;7036:4;7029:5;7025:16;7016:25;;6604:451;7086:4;7080;7076:15;7068:23;;7116:32;7139:8;7116:32;:::i;:::-;7104:44;;6446:712;;;6316:848;;;;;;;:::o;7170:1073::-;7224:5;7415:8;7405:40;;7436:1;7427:10;;7438:5;;7405:40;7464:4;7454:36;;7481:1;7472:10;;7483:5;;7454:36;7550:4;7598:1;7593:27;;;;7634:1;7629:191;;;;7543:277;;7593:27;7611:1;7602:10;;7613:5;;;7629:191;7674:3;7664:8;7661:17;7658:43;;;7681:18;;:::i;:::-;7658:43;7730:8;7727:1;7723:16;7714:25;;7765:3;7758:5;7755:14;7752:40;;;7772:18;;:::i;:::-;7752:40;7805:5;;;7543:277;;7929:2;7919:8;7916:16;7910:3;7904:4;7901:13;7897:36;7879:2;7869:8;7866:16;7861:2;7855:4;7852:12;7848:35;7832:111;7829:246;;;7985:8;7979:4;7975:19;7966:28;;8020:3;8013:5;8010:14;8007:40;;;8027:18;;:::i;:::-;8007:40;8060:5;;7829:246;8100:42;8138:3;8128:8;8122:4;8119:1;8100:42;:::i;:::-;8085:57;;;;8174:4;8169:3;8165:14;8158:5;8155:25;8152:51;;;8183:18;;:::i;:::-;8152:51;8232:4;8225:5;8221:16;8212:25;;7170:1073;;;;;;:::o;8249:281::-;8307:5;8331:23;8349:4;8331:23;:::i;:::-;8323:31;;8375:25;8391:8;8375:25;:::i;:::-;8363:37;;8419:104;8456:66;8446:8;8440:4;8419:104;:::i;:::-;8410:113;;8249:281;;;;:::o;8536:410::-;8576:7;8599:20;8617:1;8599:20;:::i;:::-;8594:25;;8633:20;8651:1;8633:20;:::i;:::-;8628:25;;8688:1;8685;8681:9;8710:30;8728:11;8710:30;:::i;:::-;8699:41;;8889:1;8880:7;8876:15;8873:1;8870:22;8850:1;8843:9;8823:83;8800:139;;8919:18;;:::i;:::-;8800:139;8584:362;8536:410;;;;:::o;8952:182::-;9092:34;9088:1;9080:6;9076:14;9069:58;8952:182;:::o;9140:366::-;9282:3;9303:67;9367:2;9362:3;9303:67;:::i;:::-;9296:74;;9379:93;9468:3;9379:93;:::i;:::-;9497:2;9492:3;9488:12;9481:19;;9140:366;;;:::o;9512:419::-;9678:4;9716:2;9705:9;9701:18;9693:26;;9765:9;9759:4;9755:20;9751:1;9740:9;9736:17;9729:47;9793:131;9919:4;9793:131;:::i;:::-;9785:139;;9512:419;;;:::o;9937:174::-;10077:26;10073:1;10065:6;10061:14;10054:50;9937:174;:::o;10117:366::-;10259:3;10280:67;10344:2;10339:3;10280:67;:::i;:::-;10273:74;;10356:93;10445:3;10356:93;:::i;:::-;10474:2;10469:3;10465:12;10458:19;;10117:366;;;:::o;10489:419::-;10655:4;10693:2;10682:9;10678:18;10670:26;;10742:9;10736:4;10732:20;10728:1;10717:9;10713:17;10706:47;10770:131;10896:4;10770:131;:::i;:::-;10762:139;;10489:419;;;:::o;10914:143::-;10971:5;11002:6;10996:13;10987:22;;11018:33;11045:5;11018:33;:::i;:::-;10914:143;;;;:::o;11063:351::-;11133:6;11182:2;11170:9;11161:7;11157:23;11153:32;11150:119;;;11188:79;;:::i;:::-;11150:119;11308:1;11333:64;11389:7;11380:6;11369:9;11365:22;11333:64;:::i;:::-;11323:74;;11279:128;11063:351;;;;:::o;11420:332::-;11541:4;11579:2;11568:9;11564:18;11556:26;;11592:71;11660:1;11649:9;11645:17;11636:6;11592:71;:::i;:::-;11673:72;11741:2;11730:9;11726:18;11717:6;11673:72;:::i;:::-;11420:332;;;;;:::o;11758:85::-;11803:7;11832:5;11821:16;;11758:85;;;:::o;11849:60::-;11877:3;11898:5;11891:12;;11849:60;;;:::o;11915:158::-;11973:9;12006:61;12024:42;12033:32;12059:5;12033:32;:::i;:::-;12024:42;:::i;:::-;12006:61;:::i;:::-;11993:74;;11915:158;;;:::o;12079:147::-;12174:45;12213:5;12174:45;:::i;:::-;12169:3;12162:58;12079:147;;:::o;12232:807::-;12481:4;12519:3;12508:9;12504:19;12496:27;;12533:71;12601:1;12590:9;12586:17;12577:6;12533:71;:::i;:::-;12614:72;12682:2;12671:9;12667:18;12658:6;12614:72;:::i;:::-;12696:80;12772:2;12761:9;12757:18;12748:6;12696:80;:::i;:::-;12786;12862:2;12851:9;12847:18;12838:6;12786:80;:::i;:::-;12876:73;12944:3;12933:9;12929:19;12920:6;12876:73;:::i;:::-;12959;13027:3;13016:9;13012:19;13003:6;12959:73;:::i;:::-;12232:807;;;;;;;;;:::o;13045:143::-;13102:5;13133:6;13127:13;13118:22;;13149:33;13176:5;13149:33;:::i;:::-;13045:143;;;;:::o;13194:663::-;13282:6;13290;13298;13347:2;13335:9;13326:7;13322:23;13318:32;13315:119;;;13353:79;;:::i;:::-;13315:119;13473:1;13498:64;13554:7;13545:6;13534:9;13530:22;13498:64;:::i;:::-;13488:74;;13444:128;13611:2;13637:64;13693:7;13684:6;13673:9;13669:22;13637:64;:::i;:::-;13627:74;;13582:129;13750:2;13776:64;13832:7;13823:6;13812:9;13808:22;13776:64;:::i;:::-;13766:74;;13721:129;13194:663;;;;;:::o;13863:169::-;14003:21;13999:1;13991:6;13987:14;13980:45;13863:169;:::o;14038:366::-;14180:3;14201:67;14265:2;14260:3;14201:67;:::i;:::-;14194:74;;14277:93;14366:3;14277:93;:::i;:::-;14395:2;14390:3;14386:12;14379:19;;14038:366;;;:::o;14410:419::-;14576:4;14614:2;14603:9;14599:18;14591:26;;14663:9;14657:4;14653:20;14649:1;14638:9;14634:17;14627:47;14691:131;14817:4;14691:131;:::i;:::-;14683:139;;14410:419;;;:::o;14835:223::-;14975:34;14971:1;14963:6;14959:14;14952:58;15044:6;15039:2;15031:6;15027:15;15020:31;14835:223;:::o;15064:366::-;15206:3;15227:67;15291:2;15286:3;15227:67;:::i;:::-;15220:74;;15303:93;15392:3;15303:93;:::i;:::-;15421:2;15416:3;15412:12;15405:19;;15064:366;;;:::o;15436:419::-;15602:4;15640:2;15629:9;15625:18;15617:26;;15689:9;15683:4;15679:20;15675:1;15664:9;15660:17;15653:47;15717:131;15843:4;15717:131;:::i;:::-;15709:139;;15436:419;;;:::o;15861:177::-;16001:29;15997:1;15989:6;15985:14;15978:53;15861:177;:::o;16044:366::-;16186:3;16207:67;16271:2;16266:3;16207:67;:::i;:::-;16200:74;;16283:93;16372:3;16283:93;:::i;:::-;16401:2;16396:3;16392:12;16385:19;;16044:366;;;:::o;16416:419::-;16582:4;16620:2;16609:9;16605:18;16597:26;;16669:9;16663:4;16659:20;16655:1;16644:9;16640:17;16633:47;16697:131;16823:4;16697:131;:::i;:::-;16689:139;;16416:419;;;:::o;16841:223::-;16981:34;16977:1;16969:6;16965:14;16958:58;17050:6;17045:2;17037:6;17033:15;17026:31;16841:223;:::o;17070:366::-;17212:3;17233:67;17297:2;17292:3;17233:67;:::i;:::-;17226:74;;17309:93;17398:3;17309:93;:::i;:::-;17427:2;17422:3;17418:12;17411:19;;17070:366;;;:::o;17442:419::-;17608:4;17646:2;17635:9;17631:18;17623:26;;17695:9;17689:4;17685:20;17681:1;17670:9;17666:17;17659:47;17723:131;17849:4;17723:131;:::i;:::-;17715:139;;17442:419;;;:::o;17867:221::-;18007:34;18003:1;17995:6;17991:14;17984:58;18076:4;18071:2;18063:6;18059:15;18052:29;17867:221;:::o;18094:366::-;18236:3;18257:67;18321:2;18316:3;18257:67;:::i;:::-;18250:74;;18333:93;18422:3;18333:93;:::i;:::-;18451:2;18446:3;18442:12;18435:19;;18094:366;;;:::o;18466:419::-;18632:4;18670:2;18659:9;18655:18;18647:26;;18719:9;18713:4;18709:20;18705:1;18694:9;18690:17;18683:47;18747:131;18873:4;18747:131;:::i;:::-;18739:139;;18466:419;;;:::o;18891:224::-;19031:34;19027:1;19019:6;19015:14;19008:58;19100:7;19095:2;19087:6;19083:15;19076:32;18891:224;:::o;19121:366::-;19263:3;19284:67;19348:2;19343:3;19284:67;:::i;:::-;19277:74;;19360:93;19449:3;19360:93;:::i;:::-;19478:2;19473:3;19469:12;19462:19;;19121:366;;;:::o;19493:419::-;19659:4;19697:2;19686:9;19682:18;19674:26;;19746:9;19740:4;19736:20;19732:1;19721:9;19717:17;19710:47;19774:131;19900:4;19774:131;:::i;:::-;19766:139;;19493:419;;;:::o;19918:222::-;20058:34;20054:1;20046:6;20042:14;20035:58;20127:5;20122:2;20114:6;20110:15;20103:30;19918:222;:::o;20146:366::-;20288:3;20309:67;20373:2;20368:3;20309:67;:::i;:::-;20302:74;;20385:93;20474:3;20385:93;:::i;:::-;20503:2;20498:3;20494:12;20487:19;;20146:366;;;:::o;20518:419::-;20684:4;20722:2;20711:9;20707:18;20699:26;;20771:9;20765:4;20761:20;20757:1;20746:9;20742:17;20735:47;20799:131;20925:4;20799:131;:::i;:::-;20791:139;;20518:419;;;:::o;20943:228::-;21083:34;21079:1;21071:6;21067:14;21060:58;21152:11;21147:2;21139:6;21135:15;21128:36;20943:228;:::o;21177:366::-;21319:3;21340:67;21404:2;21399:3;21340:67;:::i;:::-;21333:74;;21416:93;21505:3;21416:93;:::i;:::-;21534:2;21529:3;21525:12;21518:19;;21177:366;;;:::o;21549:419::-;21715:4;21753:2;21742:9;21738:18;21730:26;;21802:9;21796:4;21792:20;21788:1;21777:9;21773:17;21766:47;21830:131;21956:4;21830:131;:::i;:::-;21822:139;;21549:419;;;:::o;21974:175::-;22114:27;22110:1;22102:6;22098:14;22091:51;21974:175;:::o;22155:366::-;22297:3;22318:67;22382:2;22377:3;22318:67;:::i;:::-;22311:74;;22394:93;22483:3;22394:93;:::i;:::-;22512:2;22507:3;22503:12;22496:19;;22155:366;;;:::o;22527:419::-;22693:4;22731:2;22720:9;22716:18;22708:26;;22780:9;22774:4;22770:20;22766:1;22755:9;22751:17;22744:47;22808:131;22934:4;22808:131;:::i;:::-;22800:139;;22527:419;;;:::o;22952:191::-;22992:3;23011:20;23029:1;23011:20;:::i;:::-;23006:25;;23045:20;23063:1;23045:20;:::i;:::-;23040:25;;23088:1;23085;23081:9;23074:16;;23109:3;23106:1;23103:10;23100:36;;;23116:18;;:::i;:::-;23100:36;22952:191;;;;:::o;23149:176::-;23289:28;23285:1;23277:6;23273:14;23266:52;23149:176;:::o;23331:366::-;23473:3;23494:67;23558:2;23553:3;23494:67;:::i;:::-;23487:74;;23570:93;23659:3;23570:93;:::i;:::-;23688:2;23683:3;23679:12;23672:19;;23331:366;;;:::o;23703:419::-;23869:4;23907:2;23896:9;23892:18;23884:26;;23956:9;23950:4;23946:20;23942:1;23931:9;23927:17;23920:47;23984:131;24110:4;23984:131;:::i;:::-;23976:139;;23703:419;;;:::o;24128:233::-;24167:3;24190:24;24208:5;24190:24;:::i;:::-;24181:33;;24236:66;24229:5;24226:77;24223:103;;24306:18;;:::i;:::-;24223:103;24353:1;24346:5;24342:13;24335:20;;24128:233;;;:::o;24367:173::-;24507:25;24503:1;24495:6;24491:14;24484:49;24367:173;:::o;24546:366::-;24688:3;24709:67;24773:2;24768:3;24709:67;:::i;:::-;24702:74;;24785:93;24874:3;24785:93;:::i;:::-;24903:2;24898:3;24894:12;24887:19;;24546:366;;;:::o;24918:419::-;25084:4;25122:2;25111:9;25107:18;25099:26;;25171:9;25165:4;25161:20;25157:1;25146:9;25142:17;25135:47;25199:131;25325:4;25199:131;:::i;:::-;25191:139;;24918:419;;;:::o;25343:194::-;25383:4;25403:20;25421:1;25403:20;:::i;:::-;25398:25;;25437:20;25455:1;25437:20;:::i;:::-;25432:25;;25481:1;25478;25474:9;25466:17;;25505:1;25499:4;25496:11;25493:37;;;25510:18;;:::i;:::-;25493:37;25343:194;;;;:::o;25543:180::-;25591:77;25588:1;25581:88;25688:4;25685:1;25678:15;25712:4;25709:1;25702:15;25729:185;25769:1;25786:20;25804:1;25786:20;:::i;:::-;25781:25;;25820:20;25838:1;25820:20;:::i;:::-;25815:25;;25859:1;25849:35;;25864:18;;:::i;:::-;25849:35;25906:1;25903;25899:9;25894:14;;25729:185;;;;:::o;25920:220::-;26060:34;26056:1;26048:6;26044:14;26037:58;26129:3;26124:2;26116:6;26112:15;26105:28;25920:220;:::o;26146:366::-;26288:3;26309:67;26373:2;26368:3;26309:67;:::i;:::-;26302:74;;26385:93;26474:3;26385:93;:::i;:::-;26503:2;26498:3;26494:12;26487:19;;26146:366;;;:::o;26518:419::-;26684:4;26722:2;26711:9;26707:18;26699:26;;26771:9;26765:4;26761:20;26757:1;26746:9;26742:17;26735:47;26799:131;26925:4;26799:131;:::i;:::-;26791:139;;26518:419;;;:::o;26943:180::-;26991:77;26988:1;26981:88;27088:4;27085:1;27078:15;27112:4;27109:1;27102:15;27129:180;27177:77;27174:1;27167:88;27274:4;27271:1;27264:15;27298:4;27295:1;27288:15;27315:114;27382:6;27416:5;27410:12;27400:22;;27315:114;;;:::o;27435:184::-;27534:11;27568:6;27563:3;27556:19;27608:4;27603:3;27599:14;27584:29;;27435:184;;;;:::o;27625:132::-;27692:4;27715:3;27707:11;;27745:4;27740:3;27736:14;27728:22;;27625:132;;;:::o;27763:108::-;27840:24;27858:5;27840:24;:::i;:::-;27835:3;27828:37;27763:108;;:::o;27877:179::-;27946:10;27967:46;28009:3;28001:6;27967:46;:::i;:::-;28045:4;28040:3;28036:14;28022:28;;27877:179;;;;:::o;28062:113::-;28132:4;28164;28159:3;28155:14;28147:22;;28062:113;;;:::o;28211:732::-;28330:3;28359:54;28407:5;28359:54;:::i;:::-;28429:86;28508:6;28503:3;28429:86;:::i;:::-;28422:93;;28539:56;28589:5;28539:56;:::i;:::-;28618:7;28649:1;28634:284;28659:6;28656:1;28653:13;28634:284;;;28735:6;28729:13;28762:63;28821:3;28806:13;28762:63;:::i;:::-;28755:70;;28848:60;28901:6;28848:60;:::i;:::-;28838:70;;28694:224;28681:1;28678;28674:9;28669:14;;28634:284;;;28638:14;28934:3;28927:10;;28335:608;;;28211:732;;;;:::o;28949:831::-;29212:4;29250:3;29239:9;29235:19;29227:27;;29264:71;29332:1;29321:9;29317:17;29308:6;29264:71;:::i;:::-;29345:80;29421:2;29410:9;29406:18;29397:6;29345:80;:::i;:::-;29472:9;29466:4;29462:20;29457:2;29446:9;29442:18;29435:48;29500:108;29603:4;29594:6;29500:108;:::i;:::-;29492:116;;29618:72;29686:2;29675:9;29671:18;29662:6;29618:72;:::i;:::-;29700:73;29768:3;29757:9;29753:19;29744:6;29700:73;:::i;:::-;28949:831;;;;;;;;:::o;29786:177::-;29926:29;29922:1;29914:6;29910:14;29903:53;29786:177;:::o;29969:366::-;30111:3;30132:67;30196:2;30191:3;30132:67;:::i;:::-;30125:74;;30208:93;30297:3;30208:93;:::i;:::-;30326:2;30321:3;30317:12;30310:19;;29969:366;;;:::o;30341:419::-;30507:4;30545:2;30534:9;30530:18;30522:26;;30594:9;30588:4;30584:20;30580:1;30569:9;30565:17;30558:47;30622:131;30748:4;30622:131;:::i;:::-;30614:139;;30341:419;;;:::o
Swarm Source
ipfs://106c019803c86926cd79ac5387ef693a275a49b2d31275bb19639f1da1a03679
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.