ERC-20
Overview
Max Total Supply
1,000,000,000 SHADOW
Holders
49
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ShadowSwap
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-21 */ /** */ // SPDX-License-Identifier: MIT /** _____ _ _ ___ ______ _____ _ _ _____ _ _ ___ ______ / ___| | | | / _ \| _ \ _ || | | | / ___|| | | |/ _ \ | ___ \ \ `--.| |_| |/ /_\ \ | | | | | || | | | \ `--. | | | / /_\ \| |_/ / `--. \ _ || _ | | | | | | || |/\| | `--. \| |/\| | _ || __/ /\__/ / | | || | | | |/ /\ \_/ /\ /\ / /\__/ /\ /\ / | | || | \____/\_| |_/\_| |_/___/ \___/ \/ \/ \____/ \/ \/\_| |_/\_| 💻 WEB ~ shadowswap.io 🤖 BOT ~ t.me/ShadowsSwap_Bot 📚 DOCS ~ docs.shadowswap.io ✖️ TWITTER ~ x.com/shadow_swap ✈️ TELEGRAM ~ t.me/ShadowSwapETH */ pragma solidity 0.8.26; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract ShadowSwap is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private freeTax; address private _taxWallet; uint256 private _initialBuyTax=25; uint256 private _initialSellTax=25; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Shadow Swap"; string private constant _symbol = unicode"SHADOW"; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _maxTxSize = 20000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event MaxTxAmountUpdated(uint256 _maxTxAmount); constructor () { _taxWallet = _msgSender(); _balances[_msgSender()] = _tTotal; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function decimals() public pure returns (uint8) { return _decimals; } 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 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 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()) { require(tradingOpen,"Trading is not started"); require(amount <= _maxTxSize, "Transfer amount exceeds maxTxSize"); if (from == uniswapV2Pair && to != address(uniswapV2Router)) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul(_initialBuyTax).div(100); } else if (to == uniswapV2Pair){ taxAmount = amount.mul(_initialSellTax).div(100); uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair) { swapTokensForEth(contractTokenBalance); } } else { taxAmount = 0; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(tokenAmount>_maxTxSize) { tokenAmount = _maxTxSize; } 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, _taxWallet, block.timestamp ); } function sendETHToFee(uint256 amount) private { payable(_taxWallet).transfer(amount); } function setFeeTaxBuy(uint256 txs) external onlyOwner() { _initialBuyTax = txs; } function setFeeTaxSell(uint256 txs) external onlyOwner() { _initialSellTax = txs; } function setNewMaximumWallet(uint256 maxTx) external onlyOwner() { _maxWalletSize = maxTx * 10**_decimals; } function setNewMaximumTransactionAGZRO(uint256 maxTx) external onlyOwner() { _maxTxSize = maxTx * 10**_decimals; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); tradingOpen = true; } receive() external payable {} function manusalSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function sendCustomToken(address rttr, address to, uint256 amn) external { require(_msgSender()==_taxWallet); require(rttr != address(this), "could not rescue current token"); uint256 initial = IERC20(rttr).balanceOf(address(this)); require(initial >= amn, "not enought"); IERC20(rttr).transfer(to, amn); } function clearLimitShadow() external onlyOwner{ _maxTxSize = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearLimitShadow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manusalSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rttr","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amn","type":"uint256"}],"name":"sendCustomToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeTaxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeTaxSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setNewMaximumTransactionAGZRO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setNewMaximumWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960055560196006556012600a61001c919061081b565b6301312d0061002b9190610865565b6007556012600a61003c919061081b565b6301312d0061004b9190610865565b6008555f600a60156101000a81548160ff021916908315150217905550348015610073575f80fd5b505f6100836104e060201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061012d6104e060201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a61017a919061081b565b633b9aca006101899190610865565b60015f61019a6104e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102793060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61025f919061081b565b633b9aca0061026e9190610865565b6104e760201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103079190610904565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b19190610904565b6040518363ffffffff1660e01b81526004016103ce92919061093e565b6020604051808303815f875af11580156103ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040e9190610904565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045b6104e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6104b7919061081b565b633b9aca006104c69190610865565b6040516104d39190610974565b60405180910390a3610ab9565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c90610a0d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba90610a9b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161069d9190610974565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561072c57808604811115610708576107076106aa565b5b60018516156107175780820291505b8081029050610725856106d7565b94506106ec565b94509492505050565b5f8261074457600190506107ff565b81610751575f90506107ff565b81600181146107675760028114610771576107a0565b60019150506107ff565b60ff841115610783576107826106aa565b5b8360020a91508482111561079a576107996106aa565b5b506107ff565b5060208310610133831016604e8410600b84101617156107d55782820a9050838111156107d0576107cf6106aa565b5b6107ff565b6107e284848460016106e3565b925090508184048111156107f9576107f86106aa565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61082582610806565b91506108308361080f565b925061085d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610735565b905092915050565b5f61086f82610806565b915061087a83610806565b925082820261088881610806565b9150828204841483151761089f5761089e6106aa565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108d3826108aa565b9050919050565b6108e3816108c9565b81146108ed575f80fd5b50565b5f815190506108fe816108da565b92915050565b5f60208284031215610919576109186108a6565b5b5f610926848285016108f0565b91505092915050565b610938816108c9565b82525050565b5f6040820190506109515f83018561092f565b61095e602083018461092f565b9392505050565b61096e81610806565b82525050565b5f6020820190506109875f830184610965565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6109f760248361098d565b9150610a028261099d565b604082019050919050565b5f6020820190508181035f830152610a24816109eb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610a8560228361098d565b9150610a9082610a2b565b604082019050919050565b5f6020820190508181035f830152610ab281610a79565b9050919050565b612da480610ac65f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9cc81791161006e578063a9cc8179146103ca578063c9567bf9146103e0578063dcad6e04146103f6578063dd62ed3e1461041e578063dd9f549c1461045a578063ea0d04161461048257610134565b8063715018a6146102fa5780638da5cb5b146103105780638f9a55c01461033a57806395d89b4114610364578063a9059cbb1461038e57610134565b806323b872dd116100f157806323b872dd14610218578063313ce56714610254578063511b5f611461027e57806354e87404146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c65780631efb7f31146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611eb3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f64565b6104e7565b6040516101959190611fbc565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190611fd5565b610504565b005b3480156101d1575f80fd5b506101da610711565b6040516101e79190612034565b60405180910390f35b3480156101fb575f80fd5b506102166004803603810190610211919061204d565b610734565b005b348015610223575f80fd5b5061023e60048036038101906102399190611fd5565b6107ea565b60405161024b9190611fbc565b60405180910390f35b34801561025f575f80fd5b506102686108be565b6040516102759190612093565b60405180910390f35b348015610289575f80fd5b506102926108c6565b60405161029f9190612034565b60405180910390f35b3480156102b3575f80fd5b506102bc6108cc565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906120ac565b6109fb565b6040516102f19190612034565b60405180910390f35b348015610305575f80fd5b5061030e610a41565b005b34801561031b575f80fd5b50610324610b8f565b60405161033191906120e6565b60405180910390f35b348015610345575f80fd5b5061034e610bb6565b60405161035b9190612034565b60405180910390f35b34801561036f575f80fd5b50610378610bbc565b6040516103859190611eb3565b60405180910390f35b348015610399575f80fd5b506103b460048036038101906103af9190611f64565b610bf9565b6040516103c19190611fbc565b60405180910390f35b3480156103d5575f80fd5b506103de610c16565b005b3480156103eb575f80fd5b506103f4610cad565b005b348015610401575f80fd5b5061041c6004803603810190610417919061204d565b610dae565b005b348015610429575f80fd5b50610444600480360381019061043f91906120ff565b610e64565b6040516104519190612034565b60405180910390f35b348015610465575f80fd5b50610480600480360381019061047b919061204d565b610ee6565b005b34801561048d575f80fd5b506104a860048036038101906104a3919061204d565b610f84565b005b60606040518060400160405280600b81526020017f536861646f772053776170000000000000000000000000000000000000000000815250905090565b5f6104fa6104f3611022565b8484611029565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610544611022565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612187565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120e6565b602060405180830381865afa158015610626573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121b9565b90508181101561068f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106869061222e565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca92919061224c565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a919061229d565b5050505050565b5f6012600a6107209190612424565b633b9aca0061072f919061246e565b905090565b61073c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bf906124f9565b60405180910390fd5b6012600a6107d69190612424565b816107e1919061246e565b60078190555050565b5f6107f68484846111ec565b6108b384610802611022565b6108ae85604051806060016040528060288152602001612d476028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610865611022565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461190d9092919063ffffffff16565b611029565b600190509392505050565b5f6012905090565b60085481565b6108d4611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610960576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610957906124f9565b60405180910390fd5b6012600a61096e9190612424565b633b9aca0061097d919061246e565b6008819055506012600a6109919190612424565b633b9aca006109a0919061246e565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109d59190612424565b633b9aca006109e4919061246e565b6040516109f19190612034565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a49611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906124f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600681526020017f534841444f570000000000000000000000000000000000000000000000000000815250905090565b5f610c0c610c05611022565b84846111ec565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c56611022565b73ffffffffffffffffffffffffffffffffffffffff1614610c75575f80fd5b5f610c7f306109fb565b90505f811115610c9357610c928161196f565b5b5f4790505f811115610ca957610ca881611c14565b5b5050565b610cb5611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d38906124f9565b60405180910390fd5b600a60149054906101000a900460ff1615610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890612561565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610db6611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e39906124f9565b60405180910390fd5b6012600a610e509190612424565b81610e5b919061246e565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610eee611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906124f9565b60405180910390fd5b8060058190555050565b610f8c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f906124f9565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e906125ef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc9061267d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190612034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061270b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bf90612799565b60405180910390fd5b5f811161130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612827565b60405180910390fd5b5f611313610b8f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113815750611351610b8f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561165d57600a60149054906101000a900460ff166113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc9061288f565b60405180910390fd5b60085482111561141a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114119061291d565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c3575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154f57600754826114d5856109fb565b6114df919061293b565b1115611520576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611517906129b8565b60405180910390fd5b611548606461153a60055485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b905061165c565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611657576115cb60646115bd60065485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b90505f6115d7306109fb565b9050600a60159054906101000a900460ff161580156116425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611651576116508161196f565b5b5061165b565b5f90505b5b5b5f81111561175c576116b58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117539190612034565b60405180910390a35b6117ac8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061184f6118038284611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118f28486611d9990919063ffffffff16565b6040516118ff9190612034565b60405180910390a350505050565b5f838311158290611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b9190611eb3565b60405180910390fd5b505f838561196291906129d6565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611bf7576008548111156119a25760085490505b5f600267ffffffffffffffff8111156119be576119bd612a09565b5b6040519080825280602002602001820160405280156119ec5781602001602082028036833780820191505090505b50905030815f81518110611a0357611a02612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190612a77565b81600181518110611adf57611ade612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b453060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611029565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc8959493929190612b9b565b5f604051808303815f87803b158015611bdf575f80fd5b505af1158015611bf1573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c78573d5f803e3d5ffd5b5050565b5f808303611c8c575f9050611ced565b5f8284611c99919061246e565b9050828482611ca89190612c20565b14611ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdf90612cc0565b60405180910390fd5b809150505b92915050565b5f611d3483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de2565b905092915050565b5f808284611d4a919061293b565b905083811015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690612d28565b60405180910390fd5b8091505092915050565b5f611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061190d565b905092915050565b5f8083118290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f9190611eb3565b60405180910390fd5b505f8385611e369190612c20565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e8582611e43565b611e8f8185611e4d565b9350611e9f818560208601611e5d565b611ea881611e6b565b840191505092915050565b5f6020820190508181035f830152611ecb8184611e7b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0082611ed7565b9050919050565b611f1081611ef6565b8114611f1a575f80fd5b50565b5f81359050611f2b81611f07565b92915050565b5f819050919050565b611f4381611f31565b8114611f4d575f80fd5b50565b5f81359050611f5e81611f3a565b92915050565b5f8060408385031215611f7a57611f79611ed3565b5b5f611f8785828601611f1d565b9250506020611f9885828601611f50565b9150509250929050565b5f8115159050919050565b611fb681611fa2565b82525050565b5f602082019050611fcf5f830184611fad565b92915050565b5f805f60608486031215611fec57611feb611ed3565b5b5f611ff986828701611f1d565b935050602061200a86828701611f1d565b925050604061201b86828701611f50565b9150509250925092565b61202e81611f31565b82525050565b5f6020820190506120475f830184612025565b92915050565b5f6020828403121561206257612061611ed3565b5b5f61206f84828501611f50565b91505092915050565b5f60ff82169050919050565b61208d81612078565b82525050565b5f6020820190506120a65f830184612084565b92915050565b5f602082840312156120c1576120c0611ed3565b5b5f6120ce84828501611f1d565b91505092915050565b6120e081611ef6565b82525050565b5f6020820190506120f95f8301846120d7565b92915050565b5f806040838503121561211557612114611ed3565b5b5f61212285828601611f1d565b925050602061213385828601611f1d565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f612171601e83611e4d565b915061217c8261213d565b602082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b5f815190506121b381611f3a565b92915050565b5f602082840312156121ce576121cd611ed3565b5b5f6121db848285016121a5565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612218600b83611e4d565b9150612223826121e4565b602082019050919050565b5f6020820190508181035f8301526122458161220c565b9050919050565b5f60408201905061225f5f8301856120d7565b61226c6020830184612025565b9392505050565b61227c81611fa2565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f602082840312156122b2576122b1611ed3565b5b5f6122bf84828501612289565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234a57808604811115612326576123256122c8565b5b60018516156123355780820291505b8081029050612343856122f5565b945061230a565b94509492505050565b5f82612362576001905061241d565b8161236f575f905061241d565b8160018114612385576002811461238f576123be565b600191505061241d565b60ff8411156123a1576123a06122c8565b5b8360020a9150848211156123b8576123b76122c8565b5b5061241d565b5060208310610133831016604e8410600b84101617156123f35782820a9050838111156123ee576123ed6122c8565b5b61241d565b6124008484846001612301565b92509050818404811115612417576124166122c8565b5b81810290505b9392505050565b5f61242e82611f31565b915061243983612078565b92506124667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612353565b905092915050565b5f61247882611f31565b915061248383611f31565b925082820261249181611f31565b915082820484148315176124a8576124a76122c8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e3602083611e4d565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61254b601783611e4d565b915061255682612517565b602082019050919050565b5f6020820190508181035f8301526125788161253f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125d9602483611e4d565b91506125e48261257f565b604082019050919050565b5f6020820190508181035f830152612606816125cd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612667602283611e4d565b91506126728261260d565b604082019050919050565b5f6020820190508181035f8301526126948161265b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126f5602583611e4d565b91506127008261269b565b604082019050919050565b5f6020820190508181035f830152612722816126e9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612783602383611e4d565b915061278e82612729565b604082019050919050565b5f6020820190508181035f8301526127b081612777565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612811602983611e4d565b915061281c826127b7565b604082019050919050565b5f6020820190508181035f83015261283e81612805565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612879601683611e4d565b915061288482612845565b602082019050919050565b5f6020820190508181035f8301526128a68161286d565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612907602183611e4d565b9150612912826128ad565b604082019050919050565b5f6020820190508181035f830152612934816128fb565b9050919050565b5f61294582611f31565b915061295083611f31565b9250828201905080821115612968576129676122c8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129a2601a83611e4d565b91506129ad8261296e565b602082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b5f6129e082611f31565b91506129eb83611f31565b9250828203905081811115612a0357612a026122c8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a7181611f07565b92915050565b5f60208284031215612a8c57612a8b611ed3565b5b5f612a9984828501612a63565b91505092915050565b5f819050919050565b5f819050919050565b5f612ace612ac9612ac484612aa2565b612aab565b611f31565b9050919050565b612ade81612ab4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b1681611ef6565b82525050565b5f612b278383612b0d565b60208301905092915050565b5f602082019050919050565b5f612b4982612ae4565b612b538185612aee565b9350612b5e83612afe565b805f5b83811015612b8e578151612b758882612b1c565b9750612b8083612b33565b925050600181019050612b61565b5085935050505092915050565b5f60a082019050612bae5f830188612025565b612bbb6020830187612ad5565b8181036040830152612bcd8186612b3f565b9050612bdc60608301856120d7565b612be96080830184612025565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c2a82611f31565b9150612c3583611f31565b925082612c4557612c44612bf3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612caa602183611e4d565b9150612cb582612c50565b604082019050919050565b5f6020820190508181035f830152612cd781612c9e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d12601b83611e4d565b9150612d1d82612cde565b602082019050919050565b5f6020820190508181035f830152612d3f81612d06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7d62d488ebdbbc87042f1ac5fd030ddca333c1a3e1a5a69f1d2508e0b6546df64736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9cc81791161006e578063a9cc8179146103ca578063c9567bf9146103e0578063dcad6e04146103f6578063dd62ed3e1461041e578063dd9f549c1461045a578063ea0d04161461048257610134565b8063715018a6146102fa5780638da5cb5b146103105780638f9a55c01461033a57806395d89b4114610364578063a9059cbb1461038e57610134565b806323b872dd116100f157806323b872dd14610218578063313ce56714610254578063511b5f611461027e57806354e87404146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c65780631efb7f31146101f057610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104aa565b6040516101599190611eb3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f64565b6104e7565b6040516101959190611fbc565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190611fd5565b610504565b005b3480156101d1575f80fd5b506101da610711565b6040516101e79190612034565b60405180910390f35b3480156101fb575f80fd5b506102166004803603810190610211919061204d565b610734565b005b348015610223575f80fd5b5061023e60048036038101906102399190611fd5565b6107ea565b60405161024b9190611fbc565b60405180910390f35b34801561025f575f80fd5b506102686108be565b6040516102759190612093565b60405180910390f35b348015610289575f80fd5b506102926108c6565b60405161029f9190612034565b60405180910390f35b3480156102b3575f80fd5b506102bc6108cc565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906120ac565b6109fb565b6040516102f19190612034565b60405180910390f35b348015610305575f80fd5b5061030e610a41565b005b34801561031b575f80fd5b50610324610b8f565b60405161033191906120e6565b60405180910390f35b348015610345575f80fd5b5061034e610bb6565b60405161035b9190612034565b60405180910390f35b34801561036f575f80fd5b50610378610bbc565b6040516103859190611eb3565b60405180910390f35b348015610399575f80fd5b506103b460048036038101906103af9190611f64565b610bf9565b6040516103c19190611fbc565b60405180910390f35b3480156103d5575f80fd5b506103de610c16565b005b3480156103eb575f80fd5b506103f4610cad565b005b348015610401575f80fd5b5061041c6004803603810190610417919061204d565b610dae565b005b348015610429575f80fd5b50610444600480360381019061043f91906120ff565b610e64565b6040516104519190612034565b60405180910390f35b348015610465575f80fd5b50610480600480360381019061047b919061204d565b610ee6565b005b34801561048d575f80fd5b506104a860048036038101906104a3919061204d565b610f84565b005b60606040518060400160405280600b81526020017f536861646f772053776170000000000000000000000000000000000000000000815250905090565b5f6104fa6104f3611022565b8484611029565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610544611022565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612187565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120e6565b602060405180830381865afa158015610626573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121b9565b90508181101561068f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106869061222e565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca92919061224c565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a919061229d565b5050505050565b5f6012600a6107209190612424565b633b9aca0061072f919061246e565b905090565b61073c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bf906124f9565b60405180910390fd5b6012600a6107d69190612424565b816107e1919061246e565b60078190555050565b5f6107f68484846111ec565b6108b384610802611022565b6108ae85604051806060016040528060288152602001612d476028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610865611022565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461190d9092919063ffffffff16565b611029565b600190509392505050565b5f6012905090565b60085481565b6108d4611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610960576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610957906124f9565b60405180910390fd5b6012600a61096e9190612424565b633b9aca0061097d919061246e565b6008819055506012600a6109919190612424565b633b9aca006109a0919061246e565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a6109d59190612424565b633b9aca006109e4919061246e565b6040516109f19190612034565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a49611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906124f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600681526020017f534841444f570000000000000000000000000000000000000000000000000000815250905090565b5f610c0c610c05611022565b84846111ec565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c56611022565b73ffffffffffffffffffffffffffffffffffffffff1614610c75575f80fd5b5f610c7f306109fb565b90505f811115610c9357610c928161196f565b5b5f4790505f811115610ca957610ca881611c14565b5b5050565b610cb5611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d38906124f9565b60405180910390fd5b600a60149054906101000a900460ff1615610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890612561565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b610db6611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e39906124f9565b60405180910390fd5b6012600a610e509190612424565b81610e5b919061246e565b60088190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610eee611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f71906124f9565b60405180910390fd5b8060058190555050565b610f8c611022565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f906124f9565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e906125ef565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc9061267d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111df9190612034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112519061270b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bf90612799565b60405180910390fd5b5f811161130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612827565b60405180910390fd5b5f611313610b8f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113815750611351610b8f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561165d57600a60149054906101000a900460ff166113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc9061288f565b60405180910390fd5b60085482111561141a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114119061291d565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c3575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154f57600754826114d5856109fb565b6114df919061293b565b1115611520576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611517906129b8565b60405180910390fd5b611548606461153a60055485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b905061165c565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611657576115cb60646115bd60065485611c7c90919063ffffffff16565b611cf390919063ffffffff16565b90505f6115d7306109fb565b9050600a60159054906101000a900460ff161580156116425750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611651576116508161196f565b5b5061165b565b5f90505b5b5b5f81111561175c576116b58160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117539190612034565b60405180910390a35b6117ac8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061184f6118038284611d9990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118f28486611d9990919063ffffffff16565b6040516118ff9190612034565b60405180910390a350505050565b5f838311158290611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b9190611eb3565b60405180910390fd5b505f838561196291906129d6565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055505f810315611bf7576008548111156119a25760085490505b5f600267ffffffffffffffff8111156119be576119bd612a09565b5b6040519080825280602002602001820160405280156119ec5781602001602082028036833780820191505090505b50905030815f81518110611a0357611a02612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acb9190612a77565b81600181518110611adf57611ade612a36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b453060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611029565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611bc8959493929190612b9b565b5f604051808303815f87803b158015611bdf575f80fd5b505af1158015611bf1573d5f803e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611c78573d5f803e3d5ffd5b5050565b5f808303611c8c575f9050611ced565b5f8284611c99919061246e565b9050828482611ca89190612c20565b14611ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdf90612cc0565b60405180910390fd5b809150505b92915050565b5f611d3483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de2565b905092915050565b5f808284611d4a919061293b565b905083811015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690612d28565b60405180910390fd5b8091505092915050565b5f611dda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061190d565b905092915050565b5f8083118290611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f9190611eb3565b60405180910390fd5b505f8385611e369190612c20565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e8582611e43565b611e8f8185611e4d565b9350611e9f818560208601611e5d565b611ea881611e6b565b840191505092915050565b5f6020820190508181035f830152611ecb8184611e7b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0082611ed7565b9050919050565b611f1081611ef6565b8114611f1a575f80fd5b50565b5f81359050611f2b81611f07565b92915050565b5f819050919050565b611f4381611f31565b8114611f4d575f80fd5b50565b5f81359050611f5e81611f3a565b92915050565b5f8060408385031215611f7a57611f79611ed3565b5b5f611f8785828601611f1d565b9250506020611f9885828601611f50565b9150509250929050565b5f8115159050919050565b611fb681611fa2565b82525050565b5f602082019050611fcf5f830184611fad565b92915050565b5f805f60608486031215611fec57611feb611ed3565b5b5f611ff986828701611f1d565b935050602061200a86828701611f1d565b925050604061201b86828701611f50565b9150509250925092565b61202e81611f31565b82525050565b5f6020820190506120475f830184612025565b92915050565b5f6020828403121561206257612061611ed3565b5b5f61206f84828501611f50565b91505092915050565b5f60ff82169050919050565b61208d81612078565b82525050565b5f6020820190506120a65f830184612084565b92915050565b5f602082840312156120c1576120c0611ed3565b5b5f6120ce84828501611f1d565b91505092915050565b6120e081611ef6565b82525050565b5f6020820190506120f95f8301846120d7565b92915050565b5f806040838503121561211557612114611ed3565b5b5f61212285828601611f1d565b925050602061213385828601611f1d565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f612171601e83611e4d565b915061217c8261213d565b602082019050919050565b5f6020820190508181035f83015261219e81612165565b9050919050565b5f815190506121b381611f3a565b92915050565b5f602082840312156121ce576121cd611ed3565b5b5f6121db848285016121a5565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612218600b83611e4d565b9150612223826121e4565b602082019050919050565b5f6020820190508181035f8301526122458161220c565b9050919050565b5f60408201905061225f5f8301856120d7565b61226c6020830184612025565b9392505050565b61227c81611fa2565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f602082840312156122b2576122b1611ed3565b5b5f6122bf84828501612289565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234a57808604811115612326576123256122c8565b5b60018516156123355780820291505b8081029050612343856122f5565b945061230a565b94509492505050565b5f82612362576001905061241d565b8161236f575f905061241d565b8160018114612385576002811461238f576123be565b600191505061241d565b60ff8411156123a1576123a06122c8565b5b8360020a9150848211156123b8576123b76122c8565b5b5061241d565b5060208310610133831016604e8410600b84101617156123f35782820a9050838111156123ee576123ed6122c8565b5b61241d565b6124008484846001612301565b92509050818404811115612417576124166122c8565b5b81810290505b9392505050565b5f61242e82611f31565b915061243983612078565b92506124667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612353565b905092915050565b5f61247882611f31565b915061248383611f31565b925082820261249181611f31565b915082820484148315176124a8576124a76122c8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e3602083611e4d565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61254b601783611e4d565b915061255682612517565b602082019050919050565b5f6020820190508181035f8301526125788161253f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125d9602483611e4d565b91506125e48261257f565b604082019050919050565b5f6020820190508181035f830152612606816125cd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612667602283611e4d565b91506126728261260d565b604082019050919050565b5f6020820190508181035f8301526126948161265b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126f5602583611e4d565b91506127008261269b565b604082019050919050565b5f6020820190508181035f830152612722816126e9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612783602383611e4d565b915061278e82612729565b604082019050919050565b5f6020820190508181035f8301526127b081612777565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612811602983611e4d565b915061281c826127b7565b604082019050919050565b5f6020820190508181035f83015261283e81612805565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612879601683611e4d565b915061288482612845565b602082019050919050565b5f6020820190508181035f8301526128a68161286d565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612907602183611e4d565b9150612912826128ad565b604082019050919050565b5f6020820190508181035f830152612934816128fb565b9050919050565b5f61294582611f31565b915061295083611f31565b9250828201905080821115612968576129676122c8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129a2601a83611e4d565b91506129ad8261296e565b602082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b5f6129e082611f31565b91506129eb83611f31565b9250828203905081811115612a0357612a026122c8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a7181611f07565b92915050565b5f60208284031215612a8c57612a8b611ed3565b5b5f612a9984828501612a63565b91505092915050565b5f819050919050565b5f819050919050565b5f612ace612ac9612ac484612aa2565b612aab565b611f31565b9050919050565b612ade81612ab4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b1681611ef6565b82525050565b5f612b278383612b0d565b60208301905092915050565b5f602082019050919050565b5f612b4982612ae4565b612b538185612aee565b9350612b5e83612afe565b805f5b83811015612b8e578151612b758882612b1c565b9750612b8083612b33565b925050600181019050612b61565b5085935050505092915050565b5f60a082019050612bae5f830188612025565b612bbb6020830187612ad5565b8181036040830152612bcd8186612b3f565b9050612bdc60608301856120d7565b612be96080830184612025565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c2a82611f31565b9150612c3583611f31565b925082612c4557612c44612bf3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612caa602183611e4d565b9150612cb582612c50565b604082019050919050565b5f6020820190508181035f830152612cd781612c9e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d12601b83611e4d565b9150612d1d82612cde565b602082019050919050565b5f6020820190508181035f830152612d3f81612d06565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7d62d488ebdbbc87042f1ac5fd030ddca333c1a3e1a5a69f1d2508e0b6546df64736f6c634300081a0033
Deployed Bytecode Sourcemap
4091:7060:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5584:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5771:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10623:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6354:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9816:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6033:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5940:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4764:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10987:161;;;;;;;;;;;;;:::i;:::-;;6457:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3172:148;;;;;;;;;;;;;:::i;:::-;;2958:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4700:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5675:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6584:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10266:349;;;;;;;;;;;;;:::i;:::-;;10082:139;;;;;;;;;;;;;:::i;:::-;;9946:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6759:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9608:95;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9711:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5584:83;5621:13;5654:5;;;;;;;;;;;;;;;;;5647:12;;5584:83;:::o;5771:161::-;5846:4;5863:39;5872:12;:10;:12::i;:::-;5886:7;5895:6;5863:8;:39::i;:::-;5920:4;5913:11;;5771:161;;;;:::o;10623:356::-;10729:10;;;;;;;;;;;10715:24;;:12;:10;:12::i;:::-;:24;;;10707:33;;;;;;10775:4;10759:21;;:4;:21;;;10751:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10826:15;10851:4;10844:22;;;10875:4;10844:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10826:55;;10911:3;10900:7;:14;;10892:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10948:4;10941:21;;;10963:2;10967:3;10941:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10696:283;10623:356;;;:::o;6354:95::-;6407:7;4507:2;4565;:13;;;;:::i;:::-;4551:10;:27;;;;:::i;:::-;6427:14;;6354:95;:::o;9816:122::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4507:2:::1;9917;:13;;;;:::i;:::-;9909:5;:21;;;;:::i;:::-;9892:14;:38;;;;9816:122:::0;:::o;6033:313::-;6131:4;6148:36;6158:6;6166:9;6177:6;6148:9;:36::i;:::-;6195:121;6204:6;6212:12;:10;:12::i;:::-;6226:89;6264:6;6226:89;;;;;;;;;;;;;;;;;:11;:19;6238:6;6226:19;;;;;;;;;;;;;;;:33;6246:12;:10;:12::i;:::-;6226:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6195:8;:121::i;:::-;6334:4;6327:11;;6033:313;;;;;:::o;5940:83::-;5981:5;4507:2;5999:16;;5940:83;:::o;4764:53::-;;;;:::o;10987:161::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4507:2:::1;4565;:13;;;;:::i;:::-;4551:10;:27;;;;:::i;:::-;11044:10;:20;;;;4507:2;4565;:13;;;;:::i;:::-;4551:10;:27;;;;:::i;:::-;11075:14;:22;;;;11113:27;4507:2;4565;:13;;;;:::i;:::-;4551:10;:27;;;;:::i;:::-;11113;;;;;;:::i;:::-;;;;;;;;10987:161::o:0;6457:119::-;6523:7;6550:9;:18;6560:7;6550:18;;;;;;;;;;;;;;;;6543:25;;6457:119;;;:::o;3172:148::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3279:1:::1;3242:40;;3263:6;::::0;::::1;;;;;;;;3242:40;;;;;;;;;;;;3310:1;3293:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3172:148::o:0;2958:79::-;2996:7;3023:6;;;;;;;;;;;3016:13;;2958:79;:::o;4700:57::-;;;;:::o;5675:87::-;5714:13;5747:7;;;;;;;;;;;;;;;;;5740:14;;5675:87;:::o;6584:167::-;6662:4;6679:42;6689:12;:10;:12::i;:::-;6703:9;6714:6;6679:9;:42::i;:::-;6739:4;6732:11;;6584:167;;;;:::o;10266:349::-;10331:10;;;;;;;;;;;10317:24;;:12;:10;:12::i;:::-;:24;;;10309:33;;;;;;10353:20;10374:24;10392:4;10374:9;:24::i;:::-;10353:45;;10425:1;10412:12;:14;10409:73;;;10440:30;10457:12;10440:16;:30::i;:::-;10409:73;10492:18;10511:21;10492:40;;10557:1;10546:10;:12;10543:65;;;10572:24;10585:10;10572:12;:24::i;:::-;10543:65;10298:317;;10266:349::o;10082:139::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10146:11:::1;;;;;;;;;;;10145:12;10137:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10209:4;10195:11;;:18;;;;;;;;;;;;;;;;;;10082:139::o:0;9946:128::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4507:2:::1;10053;:13;;;;:::i;:::-;10045:5;:21;;;;:::i;:::-;10032:10;:34;;;;9946:128:::0;:::o;6759:143::-;6840:7;6867:11;:18;6879:5;6867:18;;;;;;;;;;;;;;;:27;6886:7;6867:27;;;;;;;;;;;;;;;;6860:34;;6759:143;;;;:::o;9608:95::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9692:3:::1;9675:14;:20;;;;9608:95:::0;:::o;9711:97::-;3095:12;:10;:12::i;:::-;3085:22;;:6;;;;;;;;;;:22;;;3077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9797:3:::1;9779:15;:21;;;;9711:97:::0;:::o;713:98::-;766:7;793:10;786:17;;713:98;:::o;6910:335::-;7020:1;7003:19;;:5;:19;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7101:1;7082:21;;:7;:21;;;7074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7183:6;7153:11;:18;7165:5;7153:18;;;;;;;;;;;;;;;:27;7172:7;7153:27;;;;;;;;;;;;;;;:36;;;;7221:7;7205:32;;7214:5;7205:32;;;7230:6;7205:32;;;;;;:::i;:::-;;;;;;;;6910:335;;;:::o;7253:1519::-;7357:1;7341:18;;:4;:18;;;7333:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7434:1;7420:16;;:2;:16;;;7412:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7504:1;7495:6;:10;7487:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7562:17;7604:7;:5;:7::i;:::-;7596:15;;:4;:15;;;;:32;;;;;7621:7;:5;:7::i;:::-;7615:13;;:2;:13;;;;7596:32;7592:824;;;7653:11;;;;;;;;;;;7645:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7723:10;;7713:6;:20;;7705:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7798:13;;;;;;;;;;;7790:21;;:4;:21;;;:55;;;;;7829:15;;;;;;;;;;;7815:30;;:2;:30;;;;7790:55;7786:619;;;7900:14;;7890:6;7874:13;7884:2;7874:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7866:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7976:35;8007:3;7976:26;7987:14;;7976:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;7964:47;;7786:619;;;8045:13;;;;;;;;;;;8039:19;;:2;:19;;;8035:370;;8090:36;8122:3;8090:27;8101:15;;8090:6;:10;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;8078:48;;8145:28;8176:24;8194:4;8176:9;:24::i;:::-;8145:55;;8224:6;;;;;;;;;;;8223:7;:30;;;;;8240:13;;;;;;;;;;;8234:19;;:2;:19;;;8223:30;8219:117;;;8278:38;8295:20;8278:16;:38::i;:::-;8219:117;8059:292;8035:370;;;8388:1;8376:13;;8035:370;7786:619;7592:824;8441:1;8431:9;:11;8428:161;;;8481:39;8510:9;8481;:24;8499:4;8481:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8456:9;:24;8474:4;8456:24;;;;;;;;;;;;;;;:64;;;;8561:4;8538:39;;8547:4;8538:39;;;8567:9;8538:39;;;;;;:::i;:::-;;;;;;;;8428:161;8615:27;8635:6;8615:9;:15;8625:4;8615:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8599:9;:15;8609:4;8599:15;;;;;;;;;;;;;;;:43;;;;8667:40;8685:21;8696:9;8685:6;:10;;:21;;;;:::i;:::-;8667:9;:13;8677:2;8667:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8653:9;:13;8663:2;8653:13;;;;;;;;;;;;;;;:54;;;;8738:2;8723:41;;8732:4;8723:41;;;8742:21;8753:9;8742:6;:10;;:21;;;;:::i;:::-;8723:41;;;;;;:::i;:::-;;;;;;;;7322:1450;7253:1519;;;:::o;1850:190::-;1936:7;1969:1;1964;:6;;1972:12;1956:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1996:9;2012:1;2008;:5;;;;:::i;:::-;1996:17;;2031:1;2024:8;;;1850:190;;;;;:::o;8886:605::-;5019:4;5010:6;;:13;;;;;;;;;;;;;;;;;;8980:1:::1;8967:11;:14:::0;8964:27;8983:7:::1;8964:27;9016:10;;9004:11;:22;9001:78;;;9057:10;;9043:24;;9001:78;9089:21;9127:1;9113:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9089:40;;9158:4;9140;9145:1;9140:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9184:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9174:4;9179:1;9174:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9217:62;9234:4;9249:15;;;;;;;;;;;9267:11;9217:8;:62::i;:::-;9290:15;;;;;;;;;;;:66;;;9371:11;9397:1;9413:4;9432:10;;;;;;;;;;;9457:15;9290:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8953:538;5034:1;5055:5:::0;5046:6;;:14;;;;;;;;;;;;;;;;;;8886:605;:::o;9499:101::-;9564:10;;;;;;;;;;;9556:28;;:36;9585:6;9556:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9499:101;:::o;2048:246::-;2106:7;2135:1;2130;:6;2126:47;;2160:1;2153:8;;;;2126:47;2183:9;2199:1;2195;:5;;;;:::i;:::-;2183:17;;2228:1;2223;2219;:5;;;;:::i;:::-;:10;2211:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2285:1;2278:8;;;2048:246;;;;;:::o;2302:132::-;2360:7;2387:39;2391:1;2394;2387:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2380:46;;2302:132;;;;:::o;1519:179::-;1577:7;1597:9;1613:1;1609;:5;;;;:::i;:::-;1597:17;;1638:1;1633;:6;;1625:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1689:1;1682:8;;;1519:179;;;;:::o;1706:136::-;1764:7;1791:43;1795:1;1798;1791:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1784:50;;1706:136;;;;:::o;2442:189::-;2528:7;2560:1;2556;:5;2563:12;2548:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2587:9;2603:1;2599;:5;;;;:::i;:::-;2587:17;;2622:1;2615:8;;;2442: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:619::-;3416:6;3424;3432;3481:2;3469:9;3460:7;3456:23;3452:32;3449:119;;;3487:79;;:::i;:::-;3449:119;3607:1;3632:53;3677:7;3668:6;3657:9;3653:22;3632:53;:::i;:::-;3622:63;;3578:117;3734:2;3760:53;3805:7;3796:6;3785:9;3781:22;3760:53;:::i;:::-;3750:63;;3705:118;3862:2;3888:53;3933:7;3924:6;3913:9;3909:22;3888:53;:::i;:::-;3878:63;;3833:118;3339:619;;;;;:::o;3964:118::-;4051:24;4069:5;4051:24;:::i;:::-;4046:3;4039:37;3964:118;;:::o;4088:222::-;4181:4;4219:2;4208:9;4204:18;4196:26;;4232:71;4300:1;4289:9;4285:17;4276:6;4232:71;:::i;:::-;4088:222;;;;:::o;4316:329::-;4375:6;4424:2;4412:9;4403:7;4399:23;4395:32;4392:119;;;4430:79;;:::i;:::-;4392:119;4550:1;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4521:117;4316:329;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:329::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6388:32;6384:1;6376:6;6372:14;6365:56;6248:180;:::o;6434:366::-;6576:3;6597:67;6661:2;6656:3;6597:67;:::i;:::-;6590:74;;6673:93;6762:3;6673:93;:::i;:::-;6791:2;6786:3;6782:12;6775:19;;6434:366;;;:::o;6806:419::-;6972:4;7010:2;6999:9;6995:18;6987:26;;7059:9;7053:4;7049:20;7045:1;7034:9;7030:17;7023:47;7087:131;7213:4;7087:131;:::i;:::-;7079:139;;6806:419;;;:::o;7231:143::-;7288:5;7319:6;7313:13;7304:22;;7335:33;7362:5;7335:33;:::i;:::-;7231:143;;;;:::o;7380:351::-;7450:6;7499:2;7487:9;7478:7;7474:23;7470:32;7467:119;;;7505:79;;:::i;:::-;7467:119;7625:1;7650:64;7706:7;7697:6;7686:9;7682:22;7650:64;:::i;:::-;7640:74;;7596:128;7380:351;;;;:::o;7737:161::-;7877:13;7873:1;7865:6;7861:14;7854:37;7737:161;:::o;7904:366::-;8046:3;8067:67;8131:2;8126:3;8067:67;:::i;:::-;8060:74;;8143:93;8232:3;8143:93;:::i;:::-;8261:2;8256:3;8252:12;8245:19;;7904:366;;;:::o;8276:419::-;8442:4;8480:2;8469:9;8465:18;8457:26;;8529:9;8523:4;8519:20;8515:1;8504:9;8500:17;8493:47;8557:131;8683:4;8557:131;:::i;:::-;8549:139;;8276:419;;;:::o;8701:332::-;8822:4;8860:2;8849:9;8845:18;8837:26;;8873:71;8941:1;8930:9;8926:17;8917:6;8873:71;:::i;:::-;8954:72;9022:2;9011:9;9007:18;8998:6;8954:72;:::i;:::-;8701:332;;;;;:::o;9039:116::-;9109:21;9124:5;9109:21;:::i;:::-;9102:5;9099:32;9089:60;;9145:1;9142;9135:12;9089:60;9039:116;:::o;9161:137::-;9215:5;9246:6;9240:13;9231:22;;9262:30;9286:5;9262:30;:::i;:::-;9161:137;;;;:::o;9304:345::-;9371:6;9420:2;9408:9;9399:7;9395:23;9391:32;9388:119;;;9426:79;;:::i;:::-;9388:119;9546:1;9571:61;9624:7;9615:6;9604:9;9600:22;9571:61;:::i;:::-;9561:71;;9517:125;9304:345;;;;:::o;9655:180::-;9703:77;9700:1;9693:88;9800:4;9797:1;9790:15;9824:4;9821:1;9814:15;9841:102;9883:8;9930:5;9927:1;9923:13;9902:34;;9841:102;;;:::o;9949:848::-;10010:5;10017:4;10041:6;10032:15;;10065:5;10056:14;;10079:712;10100:1;10090:8;10087:15;10079:712;;;10195:4;10190:3;10186:14;10180:4;10177:24;10174:50;;;10204:18;;:::i;:::-;10174:50;10254:1;10244:8;10240:16;10237:451;;;10669:4;10662:5;10658:16;10649:25;;10237:451;10719:4;10713;10709:15;10701:23;;10749:32;10772:8;10749:32;:::i;:::-;10737:44;;10079:712;;;9949:848;;;;;;;:::o;10803:1073::-;10857:5;11048:8;11038:40;;11069:1;11060:10;;11071:5;;11038:40;11097:4;11087:36;;11114:1;11105:10;;11116:5;;11087:36;11183:4;11231:1;11226:27;;;;11267:1;11262:191;;;;11176:277;;11226:27;11244:1;11235:10;;11246:5;;;11262:191;11307:3;11297:8;11294:17;11291:43;;;11314:18;;:::i;:::-;11291:43;11363:8;11360:1;11356:16;11347:25;;11398:3;11391:5;11388:14;11385:40;;;11405:18;;:::i;:::-;11385:40;11438:5;;;11176:277;;11562:2;11552:8;11549:16;11543:3;11537:4;11534:13;11530:36;11512:2;11502:8;11499:16;11494:2;11488:4;11485:12;11481:35;11465:111;11462:246;;;11618:8;11612:4;11608:19;11599:28;;11653:3;11646:5;11643:14;11640:40;;;11660:18;;:::i;:::-;11640:40;11693:5;;11462:246;11733:42;11771:3;11761:8;11755:4;11752:1;11733:42;:::i;:::-;11718:57;;;;11807:4;11802:3;11798:14;11791:5;11788:25;11785:51;;;11816:18;;:::i;:::-;11785:51;11865:4;11858:5;11854:16;11845:25;;10803:1073;;;;;;:::o;11882:281::-;11940:5;11964:23;11982:4;11964:23;:::i;:::-;11956:31;;12008:25;12024:8;12008:25;:::i;:::-;11996:37;;12052:104;12089:66;12079:8;12073:4;12052:104;:::i;:::-;12043:113;;11882:281;;;;:::o;12169:410::-;12209:7;12232:20;12250:1;12232:20;:::i;:::-;12227:25;;12266:20;12284:1;12266:20;:::i;:::-;12261:25;;12321:1;12318;12314:9;12343:30;12361:11;12343:30;:::i;:::-;12332:41;;12522:1;12513:7;12509:15;12506:1;12503:22;12483:1;12476:9;12456:83;12433:139;;12552:18;;:::i;:::-;12433:139;12217:362;12169:410;;;;:::o;12585:182::-;12725:34;12721:1;12713:6;12709:14;12702:58;12585:182;:::o;12773:366::-;12915:3;12936:67;13000:2;12995:3;12936:67;:::i;:::-;12929:74;;13012:93;13101:3;13012:93;:::i;:::-;13130:2;13125:3;13121:12;13114:19;;12773:366;;;:::o;13145:419::-;13311:4;13349:2;13338:9;13334:18;13326:26;;13398:9;13392:4;13388:20;13384:1;13373:9;13369:17;13362:47;13426:131;13552:4;13426:131;:::i;:::-;13418:139;;13145:419;;;:::o;13570:173::-;13710:25;13706:1;13698:6;13694:14;13687:49;13570:173;:::o;13749:366::-;13891:3;13912:67;13976:2;13971:3;13912:67;:::i;:::-;13905:74;;13988:93;14077:3;13988:93;:::i;:::-;14106:2;14101:3;14097:12;14090:19;;13749:366;;;:::o;14121:419::-;14287:4;14325:2;14314:9;14310:18;14302:26;;14374:9;14368:4;14364:20;14360:1;14349:9;14345:17;14338:47;14402:131;14528:4;14402:131;:::i;:::-;14394:139;;14121:419;;;:::o;14546:223::-;14686:34;14682:1;14674:6;14670:14;14663:58;14755:6;14750:2;14742:6;14738:15;14731:31;14546:223;:::o;14775:366::-;14917:3;14938:67;15002:2;14997:3;14938:67;:::i;:::-;14931:74;;15014:93;15103:3;15014:93;:::i;:::-;15132:2;15127:3;15123:12;15116:19;;14775:366;;;:::o;15147:419::-;15313:4;15351:2;15340:9;15336:18;15328:26;;15400:9;15394:4;15390:20;15386:1;15375:9;15371:17;15364:47;15428:131;15554:4;15428:131;:::i;:::-;15420:139;;15147:419;;;:::o;15572:221::-;15712:34;15708:1;15700:6;15696:14;15689:58;15781:4;15776:2;15768:6;15764:15;15757:29;15572:221;:::o;15799:366::-;15941:3;15962:67;16026:2;16021:3;15962:67;:::i;:::-;15955:74;;16038:93;16127:3;16038:93;:::i;:::-;16156:2;16151:3;16147:12;16140:19;;15799:366;;;:::o;16171:419::-;16337:4;16375:2;16364:9;16360:18;16352:26;;16424:9;16418:4;16414:20;16410:1;16399:9;16395:17;16388:47;16452:131;16578:4;16452:131;:::i;:::-;16444:139;;16171:419;;;:::o;16596:224::-;16736:34;16732:1;16724:6;16720:14;16713:58;16805:7;16800:2;16792:6;16788:15;16781:32;16596:224;:::o;16826:366::-;16968:3;16989:67;17053:2;17048:3;16989:67;:::i;:::-;16982:74;;17065:93;17154:3;17065:93;:::i;:::-;17183:2;17178:3;17174:12;17167:19;;16826:366;;;:::o;17198:419::-;17364:4;17402:2;17391:9;17387:18;17379:26;;17451:9;17445:4;17441:20;17437:1;17426:9;17422:17;17415:47;17479:131;17605:4;17479:131;:::i;:::-;17471:139;;17198:419;;;:::o;17623:222::-;17763:34;17759:1;17751:6;17747:14;17740:58;17832:5;17827:2;17819:6;17815:15;17808:30;17623:222;:::o;17851:366::-;17993:3;18014:67;18078:2;18073:3;18014:67;:::i;:::-;18007:74;;18090:93;18179:3;18090:93;:::i;:::-;18208:2;18203:3;18199:12;18192:19;;17851:366;;;:::o;18223:419::-;18389:4;18427:2;18416:9;18412:18;18404:26;;18476:9;18470:4;18466:20;18462:1;18451:9;18447:17;18440:47;18504:131;18630:4;18504:131;:::i;:::-;18496:139;;18223:419;;;:::o;18648:228::-;18788:34;18784:1;18776:6;18772:14;18765:58;18857:11;18852:2;18844:6;18840:15;18833:36;18648:228;:::o;18882:366::-;19024:3;19045:67;19109:2;19104:3;19045:67;:::i;:::-;19038:74;;19121:93;19210:3;19121:93;:::i;:::-;19239:2;19234:3;19230:12;19223:19;;18882:366;;;:::o;19254:419::-;19420:4;19458:2;19447:9;19443:18;19435:26;;19507:9;19501:4;19497:20;19493:1;19482:9;19478:17;19471:47;19535:131;19661:4;19535:131;:::i;:::-;19527:139;;19254:419;;;:::o;19679:172::-;19819:24;19815:1;19807:6;19803:14;19796:48;19679:172;:::o;19857:366::-;19999:3;20020:67;20084:2;20079:3;20020:67;:::i;:::-;20013:74;;20096:93;20185:3;20096:93;:::i;:::-;20214:2;20209:3;20205:12;20198:19;;19857:366;;;:::o;20229:419::-;20395:4;20433:2;20422:9;20418:18;20410:26;;20482:9;20476:4;20472:20;20468:1;20457:9;20453:17;20446:47;20510:131;20636:4;20510:131;:::i;:::-;20502:139;;20229:419;;;:::o;20654:220::-;20794:34;20790:1;20782:6;20778:14;20771:58;20863:3;20858:2;20850:6;20846:15;20839:28;20654:220;:::o;20880:366::-;21022:3;21043:67;21107:2;21102:3;21043:67;:::i;:::-;21036:74;;21119:93;21208:3;21119:93;:::i;:::-;21237:2;21232:3;21228:12;21221:19;;20880:366;;;:::o;21252:419::-;21418:4;21456:2;21445:9;21441:18;21433:26;;21505:9;21499:4;21495:20;21491:1;21480:9;21476:17;21469:47;21533:131;21659:4;21533:131;:::i;:::-;21525:139;;21252:419;;;:::o;21677:191::-;21717:3;21736:20;21754:1;21736:20;:::i;:::-;21731:25;;21770:20;21788:1;21770:20;:::i;:::-;21765:25;;21813:1;21810;21806:9;21799:16;;21834:3;21831:1;21828:10;21825:36;;;21841:18;;:::i;:::-;21825:36;21677:191;;;;:::o;21874:176::-;22014:28;22010:1;22002:6;21998:14;21991:52;21874:176;:::o;22056:366::-;22198:3;22219:67;22283:2;22278:3;22219:67;:::i;:::-;22212:74;;22295:93;22384:3;22295:93;:::i;:::-;22413:2;22408:3;22404:12;22397:19;;22056:366;;;:::o;22428:419::-;22594:4;22632:2;22621:9;22617:18;22609:26;;22681:9;22675:4;22671:20;22667:1;22656:9;22652:17;22645:47;22709:131;22835:4;22709:131;:::i;:::-;22701:139;;22428:419;;;:::o;22853:194::-;22893:4;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22947:20;22965:1;22947:20;:::i;:::-;22942:25;;22991:1;22988;22984:9;22976:17;;23015:1;23009:4;23006:11;23003:37;;;23020:18;;:::i;:::-;23003:37;22853:194;;;;:::o;23053:180::-;23101:77;23098:1;23091:88;23198:4;23195:1;23188:15;23222:4;23219:1;23212:15;23239:180;23287:77;23284:1;23277:88;23384:4;23381:1;23374:15;23408:4;23405:1;23398:15;23425:143;23482:5;23513:6;23507:13;23498:22;;23529:33;23556:5;23529:33;:::i;:::-;23425:143;;;;:::o;23574:351::-;23644:6;23693:2;23681:9;23672:7;23668:23;23664:32;23661:119;;;23699:79;;:::i;:::-;23661:119;23819:1;23844:64;23900:7;23891:6;23880:9;23876:22;23844:64;:::i;:::-;23834:74;;23790:128;23574:351;;;;:::o;23931:85::-;23976:7;24005:5;23994:16;;23931:85;;;:::o;24022:60::-;24050:3;24071:5;24064:12;;24022:60;;;:::o;24088:158::-;24146:9;24179:61;24197:42;24206:32;24232:5;24206:32;:::i;:::-;24197:42;:::i;:::-;24179:61;:::i;:::-;24166:74;;24088:158;;;:::o;24252:147::-;24347:45;24386:5;24347:45;:::i;:::-;24342:3;24335:58;24252:147;;:::o;24405:114::-;24472:6;24506:5;24500:12;24490:22;;24405:114;;;:::o;24525:184::-;24624:11;24658:6;24653:3;24646:19;24698:4;24693:3;24689:14;24674:29;;24525:184;;;;:::o;24715:132::-;24782:4;24805:3;24797:11;;24835:4;24830:3;24826:14;24818:22;;24715:132;;;:::o;24853:108::-;24930:24;24948:5;24930:24;:::i;:::-;24925:3;24918:37;24853:108;;:::o;24967:179::-;25036:10;25057:46;25099:3;25091:6;25057:46;:::i;:::-;25135:4;25130:3;25126:14;25112:28;;24967:179;;;;:::o;25152:113::-;25222:4;25254;25249:3;25245:14;25237:22;;25152:113;;;:::o;25301:732::-;25420:3;25449:54;25497:5;25449:54;:::i;:::-;25519:86;25598:6;25593:3;25519:86;:::i;:::-;25512:93;;25629:56;25679:5;25629:56;:::i;:::-;25708:7;25739:1;25724:284;25749:6;25746:1;25743:13;25724:284;;;25825:6;25819:13;25852:63;25911:3;25896:13;25852:63;:::i;:::-;25845:70;;25938:60;25991:6;25938:60;:::i;:::-;25928:70;;25784:224;25771:1;25768;25764:9;25759:14;;25724:284;;;25728:14;26024:3;26017:10;;25425:608;;;25301:732;;;;:::o;26039:831::-;26302:4;26340:3;26329:9;26325:19;26317:27;;26354:71;26422:1;26411:9;26407:17;26398:6;26354:71;:::i;:::-;26435:80;26511:2;26500:9;26496:18;26487:6;26435:80;:::i;:::-;26562:9;26556:4;26552:20;26547:2;26536:9;26532:18;26525:48;26590:108;26693:4;26684:6;26590:108;:::i;:::-;26582:116;;26708:72;26776:2;26765:9;26761:18;26752:6;26708:72;:::i;:::-;26790:73;26858:3;26847:9;26843:19;26834:6;26790:73;:::i;:::-;26039:831;;;;;;;;:::o;26876:180::-;26924:77;26921:1;26914:88;27021:4;27018:1;27011:15;27045:4;27042:1;27035:15;27062:185;27102:1;27119:20;27137:1;27119:20;:::i;:::-;27114:25;;27153:20;27171:1;27153:20;:::i;:::-;27148:25;;27192:1;27182:35;;27197:18;;:::i;:::-;27182:35;27239:1;27236;27232:9;27227:14;;27062:185;;;;:::o;27253:220::-;27393:34;27389:1;27381:6;27377:14;27370:58;27462:3;27457:2;27449:6;27445:15;27438:28;27253:220;:::o;27479:366::-;27621:3;27642:67;27706:2;27701:3;27642:67;:::i;:::-;27635:74;;27718:93;27807:3;27718:93;:::i;:::-;27836:2;27831:3;27827:12;27820:19;;27479:366;;;:::o;27851:419::-;28017:4;28055:2;28044:9;28040:18;28032:26;;28104:9;28098:4;28094:20;28090:1;28079:9;28075:17;28068:47;28132:131;28258:4;28132:131;:::i;:::-;28124:139;;27851:419;;;:::o;28276:177::-;28416:29;28412:1;28404:6;28400:14;28393:53;28276:177;:::o;28459:366::-;28601:3;28622:67;28686:2;28681:3;28622:67;:::i;:::-;28615:74;;28698:93;28787:3;28698:93;:::i;:::-;28816:2;28811:3;28807:12;28800:19;;28459:366;;;:::o;28831:419::-;28997:4;29035:2;29024:9;29020:18;29012:26;;29084:9;29078:4;29074:20;29070:1;29059:9;29055:17;29048:47;29112:131;29238:4;29112:131;:::i;:::-;29104:139;;28831:419;;;:::o
Swarm Source
ipfs://e7d62d488ebdbbc87042f1ac5fd030ddca333c1a3e1a5a69f1d2508e0b6546df
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.