ERC-20
Overview
Max Total Supply
1,000,000,000 InAI
Holders
256
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
504,075.516717878 InAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
insightai
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-06 */ /** *Submitted for verification at Etherscan.io on 2024-07-22 */ /* https://insight-ai.live/ https://x.com/InsightAIETH https://t.me/InsightAIETH 5/5 TAX */ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; 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 insightai is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; uint256 private enabled = 0; address payable private _taxWallet = payable(0xE87c3135d62ED1628768e7C0E49E3BC053acD45a); uint256 private _initBuyTax=25; uint256 private _initSellTax=45; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private lastSwap; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"InsightAI"; string private constant _symbol = unicode"InAI"; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 8000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_msgSender()] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function enableTrading() external onlyOwner() { require(!tradingOpen,"ERROR: Trading is already enabled."); swapEnabled = true; tradingOpen = true; lastSwap = block.number; } function unblockSnipers(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } 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 _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 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 changeFee(uint256 _newInitialBuyFee, uint256 _newInitialSellFee) external onlyOwner() { _initBuyTax=_newInitialBuyFee; _initSellTax=_newInitialSellFee; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function blockSnipers(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = 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 _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(!bots[from] && !bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(tradingOpen, "Trading not open"); require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul(_initBuyTax).div(100); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_initSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && lastSwap != block.number) { swapTokensForEth(_taxSwapThreshold); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } lastSwap = 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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; _taxSwapThreshold = 2000000 * 10**_decimals; emit MaxTxAmountUpdated(_tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function manualSend() external { uint256 ethBalance=address(this).balance; if(ethBalance>0){ _taxWallet.transfer(ethBalance); } } receive() external payable {} }
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"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newInitialBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialSellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":"notbot","type":"address[]"}],"name":"unblockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600060055573e87c3135d62ed1628768e7c0e49e3bc053acd45a600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506019600755602d60085560006009556000600a556009600a620000829190620008a5565b6301312d00620000939190620008f6565b600c556009600a620000a69190620008a5565b6301312d00620000b79190620008f6565b600d556009600a620000ca9190620008a5565b627a1200620000da9190620008f6565b600e556000601060146101000a81548160ff0219169083151502179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055503480156200013b57600080fd5b5060006200014e620006da60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d59190620009ab565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003859190620009ab565b6040518363ffffffff1660e01b8152600401620003a4929190620009ee565b6020604051808303816000875af1158015620003c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ea9190620009ab565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200043a9190620008a5565b633b9aca006200044b9190620008f6565b600160006200045f620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620004b3620006e260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600062000572620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200064d620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620006ac9190620008a5565b633b9aca00620006bd9190620008f6565b604051620006cc919062000a2c565b60405180910390a362000a49565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000799578086048111156200077157620007706200070b565b5b6001851615620007815780820291505b808102905062000791856200073a565b945062000751565b94509492505050565b600082620007b4576001905062000887565b81620007c4576000905062000887565b8160018114620007dd5760028114620007e8576200081e565b600191505062000887565b60ff841115620007fd57620007fc6200070b565b5b8360020a9150848211156200081757620008166200070b565b5b5062000887565b5060208310610133831016604e8410600b8410161715620008585782820a9050838111156200085257620008516200070b565b5b62000887565b62000867848484600162000747565b925090508184048111156200088157620008806200070b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008b2826200088e565b9150620008bf8362000898565b9250620008ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007a2565b905092915050565b600062000903826200088e565b915062000910836200088e565b925082820262000920816200088e565b915082820484148315176200093a57620009396200070b565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009738262000946565b9050919050565b620009858162000966565b81146200099157600080fd5b50565b600081519050620009a5816200097a565b92915050565b600060208284031215620009c457620009c362000941565b5b6000620009d48482850162000994565b91505092915050565b620009e88162000966565b82525050565b600060408201905062000a056000830185620009dd565b62000a146020830184620009dd565b9392505050565b62000a26816200088e565b82525050565b600060208201905062000a43600083018462000a1b565b92915050565b612f858062000a596000396000f3fe6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b41146103d7578063a9059cbb14610402578063bf474bed1461043f578063dd62ed3e1461046a578063e3ca2d65146104a7578063f4293890146104d057610140565b806378bfa713146103165780637d1db4a51461033f5780638a8c523c1461036a5780638da5cb5b146103815780638f9a55c0146103ac57610140565b8063313ce567116100fd578063313ce5671461023e57806349bd5a5e1461026957806351bc3c851461029457806370a08231146102ab578063715018a6146102e8578063751039fc146102ff57610140565b806306fdde0314610145578063095ea7b314610170578063137e82d6146101ad57806318160ddd146101d657806323b872dd1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e7565b6040516101679190611fe4565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906120ae565b610524565b6040516101a49190612109565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf919061226c565b610542565b005b3480156101e257600080fd5b506101eb61066c565b6040516101f891906122c4565b60405180910390f35b34801561020d57600080fd5b50610228600480360381019061022391906122df565b610690565b6040516102359190612109565b60405180910390f35b34801561024a57600080fd5b50610253610769565b604051610260919061234e565b60405180910390f35b34801561027557600080fd5b5061027e610772565b60405161028b9190612378565b60405180910390f35b3480156102a057600080fd5b506102a9610798565b005b3480156102b757600080fd5b506102d260048036038101906102cd9190612393565b610835565b6040516102df91906122c4565b60405180910390f35b3480156102f457600080fd5b506102fd61087e565b005b34801561030b57600080fd5b506103146109d1565b005b34801561032257600080fd5b5061033d6004803603810190610338919061226c565b610b23565b005b34801561034b57600080fd5b50610354610c4d565b60405161036191906122c4565b60405180910390f35b34801561037657600080fd5b5061037f610c53565b005b34801561038d57600080fd5b50610396610d77565b6040516103a39190612378565b60405180910390f35b3480156103b857600080fd5b506103c1610da0565b6040516103ce91906122c4565b60405180910390f35b3480156103e357600080fd5b506103ec610da6565b6040516103f99190611fe4565b60405180910390f35b34801561040e57600080fd5b50610429600480360381019061042491906120ae565b610de3565b6040516104369190612109565b60405180910390f35b34801561044b57600080fd5b50610454610e01565b60405161046191906122c4565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c91906123c0565b610e07565b60405161049e91906122c4565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612400565b610e8e565b005b3480156104dc57600080fd5b506104e5610f35565b005b60606040518060400160405280600981526020017f496e736967687441490000000000000000000000000000000000000000000000815250905090565b6000610538610531610fb0565b8484610fb8565b6001905092915050565b61054a610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ce9061248c565b60405180910390fd5b60005b8151811015610668576001600460008484815181106105fc576105fb6124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106609061250a565b9150506105da565b5050565b60006009600a61067c9190612685565b633b9aca0061068b91906126d0565b905090565b600061069d848484611181565b61075e846106a9610fb0565b61075985604051806060016040528060288152602001612f2860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070f610fb0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3c9092919063ffffffff16565b610fb8565b600190509392505050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d9610fb0565b73ffffffffffffffffffffffffffffffffffffffff16146107f957600080fd5b600061080430610835565b905060008111156108195761081881611aa0565b5b600047905060008111156108315761083081611d19565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610886610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a9061248c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109d9610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d9061248c565b60405180910390fd5b6009600a610a749190612685565b633b9aca00610a8391906126d0565b600c819055506009600a610a979190612685565b633b9aca00610aa691906126d0565b600d819055506009600a610aba9190612685565b621e8480610ac891906126d0565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610afd9190612685565b633b9aca00610b0c91906126d0565b604051610b1991906122c4565b60405180910390a1565b610b2b610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf9061248c565b60405180910390fd5b60005b8151811015610c4957600060046000848481518110610bdd57610bdc6124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c419061250a565b915050610bbb565b5050565b600c5481565b610c5b610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdf9061248c565b60405180910390fd5b601060149054906101000a900460ff1615610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90612784565b60405180910390fd5b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555043600b81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600481526020017f496e414900000000000000000000000000000000000000000000000000000000815250905090565b6000610df7610df0610fb0565b8484611181565b6001905092915050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e96610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a9061248c565b60405180910390fd5b81600781905550806008819055505050565b60004790506000811115610fad57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fab573d6000803e3d6000fd5b505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612816565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906128a8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117491906122c4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e79061293a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361125f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611256906129cc565b60405180910390fd5b600081116112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129990612a5e565b60405180910390fd5b60006112ac610d77565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561131a57506112ea610d77565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177f57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113c35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113cc57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114775750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114cd5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115e957601060149054906101000a900460ff16611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151890612aca565b60405180910390fd5b600c54821115611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d90612b36565b60405180910390fd5b600d548261157385610835565b61157d9190612b56565b11156115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590612bd6565b60405180910390fd5b6115e660646115d860075485611d8590919063ffffffff16565b611dff90919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561167257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116a25761169f606461169160085485611d8590919063ffffffff16565b611dff90919063ffffffff16565b90505b60006116ad30610835565b9050601060159054906101000a900460ff161580156117195750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117315750601060169054906101000a900460ff165b801561173e5750600e5481115b801561174c575043600b5414155b1561177d5761175c600e54611aa0565b600047905060008111156117745761177347611d19565b5b43600b81905550505b505b6000811115611883576117da81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161187a91906122c4565b60405180910390a35b6118d582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ea790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197c61192e8284611ea790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a218486611ea790919063ffffffff16565b604051611a2e91906122c4565b60405180910390a350505050565b6000838311158290611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b9190611fe4565b60405180910390fd5b5060008385611a939190612bf6565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ad857611ad7612129565b5b604051908082528060200260200182016040528015611b065781602001602082028036833780820191505090505b5090503081600081518110611b1e57611b1d6124ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be99190612c3f565b81600181518110611bfd57611bfc6124ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb8565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cc8959493929190612d6f565b600060405180830381600087803b158015611ce257600080fd5b505af1158015611cf6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d81573d6000803e3d6000fd5b5050565b6000808303611d975760009050611df9565b60008284611da591906126d0565b9050828482611db49190612df8565b14611df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611deb90612e9b565b60405180910390fd5b809150505b92915050565b6000611e4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ef1565b905092915050565b6000808284611e589190612b56565b905083811015611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490612f07565b60405180910390fd5b8091505092915050565b6000611ee983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a3c565b905092915050565b60008083118290611f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2f9190611fe4565b60405180910390fd5b5060008385611f479190612df8565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f8e578082015181840152602081019050611f73565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fb682611f54565b611fc08185611f5f565b9350611fd0818560208601611f70565b611fd981611f9a565b840191505092915050565b60006020820190508181036000830152611ffe8184611fab565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120458261201a565b9050919050565b6120558161203a565b811461206057600080fd5b50565b6000813590506120728161204c565b92915050565b6000819050919050565b61208b81612078565b811461209657600080fd5b50565b6000813590506120a881612082565b92915050565b600080604083850312156120c5576120c4612010565b5b60006120d385828601612063565b92505060206120e485828601612099565b9150509250929050565b60008115159050919050565b612103816120ee565b82525050565b600060208201905061211e60008301846120fa565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61216182611f9a565b810181811067ffffffffffffffff821117156121805761217f612129565b5b80604052505050565b6000612193612006565b905061219f8282612158565b919050565b600067ffffffffffffffff8211156121bf576121be612129565b5b602082029050602081019050919050565b600080fd5b60006121e86121e3846121a4565b612189565b9050808382526020820190506020840283018581111561220b5761220a6121d0565b5b835b8181101561223457806122208882612063565b84526020840193505060208101905061220d565b5050509392505050565b600082601f83011261225357612252612124565b5b81356122638482602086016121d5565b91505092915050565b60006020828403121561228257612281612010565b5b600082013567ffffffffffffffff8111156122a05761229f612015565b5b6122ac8482850161223e565b91505092915050565b6122be81612078565b82525050565b60006020820190506122d960008301846122b5565b92915050565b6000806000606084860312156122f8576122f7612010565b5b600061230686828701612063565b935050602061231786828701612063565b925050604061232886828701612099565b9150509250925092565b600060ff82169050919050565b61234881612332565b82525050565b6000602082019050612363600083018461233f565b92915050565b6123728161203a565b82525050565b600060208201905061238d6000830184612369565b92915050565b6000602082840312156123a9576123a8612010565b5b60006123b784828501612063565b91505092915050565b600080604083850312156123d7576123d6612010565b5b60006123e585828601612063565b92505060206123f685828601612063565b9150509250929050565b6000806040838503121561241757612416612010565b5b600061242585828601612099565b925050602061243685828601612099565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612476602083611f5f565b915061248182612440565b602082019050919050565b600060208201905081810360008301526124a581612469565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061251582612078565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612547576125466124db565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b60018511156125a957808604811115612585576125846124db565b5b60018516156125945780820291505b80810290506125a285612552565b9450612569565b94509492505050565b6000826125c2576001905061267e565b816125d0576000905061267e565b81600181146125e657600281146125f05761261f565b600191505061267e565b60ff841115612602576126016124db565b5b8360020a915084821115612619576126186124db565b5b5061267e565b5060208310610133831016604e8410600b84101617156126545782820a90508381111561264f5761264e6124db565b5b61267e565b612661848484600161255f565b92509050818404811115612678576126776124db565b5b81810290505b9392505050565b600061269082612078565b915061269b83612332565b92506126c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b2565b905092915050565b60006126db82612078565b91506126e683612078565b92508282026126f481612078565b9150828204841483151761270b5761270a6124db565b5b5092915050565b7f4552524f523a2054726164696e6720697320616c726561647920656e61626c6560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b600061276e602283611f5f565b915061277982612712565b604082019050919050565b6000602082019050818103600083015261279d81612761565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612800602483611f5f565b915061280b826127a4565b604082019050919050565b6000602082019050818103600083015261282f816127f3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612892602283611f5f565b915061289d82612836565b604082019050919050565b600060208201905081810360008301526128c181612885565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612924602583611f5f565b915061292f826128c8565b604082019050919050565b6000602082019050818103600083015261295381612917565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129b6602383611f5f565b91506129c18261295a565b604082019050919050565b600060208201905081810360008301526129e5816129a9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a48602983611f5f565b9150612a53826129ec565b604082019050919050565b60006020820190508181036000830152612a7781612a3b565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612ab4601083611f5f565b9150612abf82612a7e565b602082019050919050565b60006020820190508181036000830152612ae381612aa7565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b20601983611f5f565b9150612b2b82612aea565b602082019050919050565b60006020820190508181036000830152612b4f81612b13565b9050919050565b6000612b6182612078565b9150612b6c83612078565b9250828201905080821115612b8457612b836124db565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bc0601a83611f5f565b9150612bcb82612b8a565b602082019050919050565b60006020820190508181036000830152612bef81612bb3565b9050919050565b6000612c0182612078565b9150612c0c83612078565b9250828203905081811115612c2457612c236124db565b5b92915050565b600081519050612c398161204c565b92915050565b600060208284031215612c5557612c54612010565b5b6000612c6384828501612c2a565b91505092915050565b6000819050919050565b6000819050919050565b6000612c9b612c96612c9184612c6c565b612c76565b612078565b9050919050565b612cab81612c80565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ce68161203a565b82525050565b6000612cf88383612cdd565b60208301905092915050565b6000602082019050919050565b6000612d1c82612cb1565b612d268185612cbc565b9350612d3183612ccd565b8060005b83811015612d62578151612d498882612cec565b9750612d5483612d04565b925050600181019050612d35565b5085935050505092915050565b600060a082019050612d8460008301886122b5565b612d916020830187612ca2565b8181036040830152612da38186612d11565b9050612db26060830185612369565b612dbf60808301846122b5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e0382612078565b9150612e0e83612078565b925082612e1e57612e1d612dc9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e85602183611f5f565b9150612e9082612e29565b604082019050919050565b60006020820190508181036000830152612eb481612e78565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ef1601b83611f5f565b9150612efc82612ebb565b602082019050919050565b60006020820190508181036000830152612f2081612ee4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c9cd5c9ddf3bb04db92a6db727f94782ed7e4b9deedea782be279a2529ce45964736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b41146103d7578063a9059cbb14610402578063bf474bed1461043f578063dd62ed3e1461046a578063e3ca2d65146104a7578063f4293890146104d057610140565b806378bfa713146103165780637d1db4a51461033f5780638a8c523c1461036a5780638da5cb5b146103815780638f9a55c0146103ac57610140565b8063313ce567116100fd578063313ce5671461023e57806349bd5a5e1461026957806351bc3c851461029457806370a08231146102ab578063715018a6146102e8578063751039fc146102ff57610140565b806306fdde0314610145578063095ea7b314610170578063137e82d6146101ad57806318160ddd146101d657806323b872dd1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e7565b6040516101679190611fe4565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906120ae565b610524565b6040516101a49190612109565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf919061226c565b610542565b005b3480156101e257600080fd5b506101eb61066c565b6040516101f891906122c4565b60405180910390f35b34801561020d57600080fd5b50610228600480360381019061022391906122df565b610690565b6040516102359190612109565b60405180910390f35b34801561024a57600080fd5b50610253610769565b604051610260919061234e565b60405180910390f35b34801561027557600080fd5b5061027e610772565b60405161028b9190612378565b60405180910390f35b3480156102a057600080fd5b506102a9610798565b005b3480156102b757600080fd5b506102d260048036038101906102cd9190612393565b610835565b6040516102df91906122c4565b60405180910390f35b3480156102f457600080fd5b506102fd61087e565b005b34801561030b57600080fd5b506103146109d1565b005b34801561032257600080fd5b5061033d6004803603810190610338919061226c565b610b23565b005b34801561034b57600080fd5b50610354610c4d565b60405161036191906122c4565b60405180910390f35b34801561037657600080fd5b5061037f610c53565b005b34801561038d57600080fd5b50610396610d77565b6040516103a39190612378565b60405180910390f35b3480156103b857600080fd5b506103c1610da0565b6040516103ce91906122c4565b60405180910390f35b3480156103e357600080fd5b506103ec610da6565b6040516103f99190611fe4565b60405180910390f35b34801561040e57600080fd5b50610429600480360381019061042491906120ae565b610de3565b6040516104369190612109565b60405180910390f35b34801561044b57600080fd5b50610454610e01565b60405161046191906122c4565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c91906123c0565b610e07565b60405161049e91906122c4565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612400565b610e8e565b005b3480156104dc57600080fd5b506104e5610f35565b005b60606040518060400160405280600981526020017f496e736967687441490000000000000000000000000000000000000000000000815250905090565b6000610538610531610fb0565b8484610fb8565b6001905092915050565b61054a610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ce9061248c565b60405180910390fd5b60005b8151811015610668576001600460008484815181106105fc576105fb6124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106609061250a565b9150506105da565b5050565b60006009600a61067c9190612685565b633b9aca0061068b91906126d0565b905090565b600061069d848484611181565b61075e846106a9610fb0565b61075985604051806060016040528060288152602001612f2860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070f610fb0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3c9092919063ffffffff16565b610fb8565b600190509392505050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d9610fb0565b73ffffffffffffffffffffffffffffffffffffffff16146107f957600080fd5b600061080430610835565b905060008111156108195761081881611aa0565b5b600047905060008111156108315761083081611d19565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610886610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a9061248c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109d9610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d9061248c565b60405180910390fd5b6009600a610a749190612685565b633b9aca00610a8391906126d0565b600c819055506009600a610a979190612685565b633b9aca00610aa691906126d0565b600d819055506009600a610aba9190612685565b621e8480610ac891906126d0565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610afd9190612685565b633b9aca00610b0c91906126d0565b604051610b1991906122c4565b60405180910390a1565b610b2b610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf9061248c565b60405180910390fd5b60005b8151811015610c4957600060046000848481518110610bdd57610bdc6124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c419061250a565b915050610bbb565b5050565b600c5481565b610c5b610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdf9061248c565b60405180910390fd5b601060149054906101000a900460ff1615610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90612784565b60405180910390fd5b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555043600b81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600481526020017f496e414900000000000000000000000000000000000000000000000000000000815250905090565b6000610df7610df0610fb0565b8484611181565b6001905092915050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e96610fb0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a9061248c565b60405180910390fd5b81600781905550806008819055505050565b60004790506000811115610fad57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fab573d6000803e3d6000fd5b505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612816565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906128a8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117491906122c4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e79061293a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361125f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611256906129cc565b60405180910390fd5b600081116112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129990612a5e565b60405180910390fd5b60006112ac610d77565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561131a57506112ea610d77565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177f57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113c35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113cc57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114775750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114cd5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115e957601060149054906101000a900460ff16611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151890612aca565b60405180910390fd5b600c54821115611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d90612b36565b60405180910390fd5b600d548261157385610835565b61157d9190612b56565b11156115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590612bd6565b60405180910390fd5b6115e660646115d860075485611d8590919063ffffffff16565b611dff90919063ffffffff16565b90505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561167257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116a25761169f606461169160085485611d8590919063ffffffff16565b611dff90919063ffffffff16565b90505b60006116ad30610835565b9050601060159054906101000a900460ff161580156117195750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117315750601060169054906101000a900460ff165b801561173e5750600e5481115b801561174c575043600b5414155b1561177d5761175c600e54611aa0565b600047905060008111156117745761177347611d19565b5b43600b81905550505b505b6000811115611883576117da81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161187a91906122c4565b60405180910390a35b6118d582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ea790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197c61192e8284611ea790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a218486611ea790919063ffffffff16565b604051611a2e91906122c4565b60405180910390a350505050565b6000838311158290611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b9190611fe4565b60405180910390fd5b5060008385611a939190612bf6565b9050809150509392505050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ad857611ad7612129565b5b604051908082528060200260200182016040528015611b065781602001602082028036833780820191505090505b5090503081600081518110611b1e57611b1d6124ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be99190612c3f565b81600181518110611bfd57611bfc6124ac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb8565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cc8959493929190612d6f565b600060405180830381600087803b158015611ce257600080fd5b505af1158015611cf6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d81573d6000803e3d6000fd5b5050565b6000808303611d975760009050611df9565b60008284611da591906126d0565b9050828482611db49190612df8565b14611df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611deb90612e9b565b60405180910390fd5b809150505b92915050565b6000611e4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ef1565b905092915050565b6000808284611e589190612b56565b905083811015611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490612f07565b60405180910390fd5b8091505092915050565b6000611ee983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a3c565b905092915050565b60008083118290611f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2f9190611fe4565b60405180910390fd5b5060008385611f479190612df8565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f8e578082015181840152602081019050611f73565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fb682611f54565b611fc08185611f5f565b9350611fd0818560208601611f70565b611fd981611f9a565b840191505092915050565b60006020820190508181036000830152611ffe8184611fab565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120458261201a565b9050919050565b6120558161203a565b811461206057600080fd5b50565b6000813590506120728161204c565b92915050565b6000819050919050565b61208b81612078565b811461209657600080fd5b50565b6000813590506120a881612082565b92915050565b600080604083850312156120c5576120c4612010565b5b60006120d385828601612063565b92505060206120e485828601612099565b9150509250929050565b60008115159050919050565b612103816120ee565b82525050565b600060208201905061211e60008301846120fa565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61216182611f9a565b810181811067ffffffffffffffff821117156121805761217f612129565b5b80604052505050565b6000612193612006565b905061219f8282612158565b919050565b600067ffffffffffffffff8211156121bf576121be612129565b5b602082029050602081019050919050565b600080fd5b60006121e86121e3846121a4565b612189565b9050808382526020820190506020840283018581111561220b5761220a6121d0565b5b835b8181101561223457806122208882612063565b84526020840193505060208101905061220d565b5050509392505050565b600082601f83011261225357612252612124565b5b81356122638482602086016121d5565b91505092915050565b60006020828403121561228257612281612010565b5b600082013567ffffffffffffffff8111156122a05761229f612015565b5b6122ac8482850161223e565b91505092915050565b6122be81612078565b82525050565b60006020820190506122d960008301846122b5565b92915050565b6000806000606084860312156122f8576122f7612010565b5b600061230686828701612063565b935050602061231786828701612063565b925050604061232886828701612099565b9150509250925092565b600060ff82169050919050565b61234881612332565b82525050565b6000602082019050612363600083018461233f565b92915050565b6123728161203a565b82525050565b600060208201905061238d6000830184612369565b92915050565b6000602082840312156123a9576123a8612010565b5b60006123b784828501612063565b91505092915050565b600080604083850312156123d7576123d6612010565b5b60006123e585828601612063565b92505060206123f685828601612063565b9150509250929050565b6000806040838503121561241757612416612010565b5b600061242585828601612099565b925050602061243685828601612099565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612476602083611f5f565b915061248182612440565b602082019050919050565b600060208201905081810360008301526124a581612469565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061251582612078565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612547576125466124db565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b60018511156125a957808604811115612585576125846124db565b5b60018516156125945780820291505b80810290506125a285612552565b9450612569565b94509492505050565b6000826125c2576001905061267e565b816125d0576000905061267e565b81600181146125e657600281146125f05761261f565b600191505061267e565b60ff841115612602576126016124db565b5b8360020a915084821115612619576126186124db565b5b5061267e565b5060208310610133831016604e8410600b84101617156126545782820a90508381111561264f5761264e6124db565b5b61267e565b612661848484600161255f565b92509050818404811115612678576126776124db565b5b81810290505b9392505050565b600061269082612078565b915061269b83612332565b92506126c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b2565b905092915050565b60006126db82612078565b91506126e683612078565b92508282026126f481612078565b9150828204841483151761270b5761270a6124db565b5b5092915050565b7f4552524f523a2054726164696e6720697320616c726561647920656e61626c6560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b600061276e602283611f5f565b915061277982612712565b604082019050919050565b6000602082019050818103600083015261279d81612761565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612800602483611f5f565b915061280b826127a4565b604082019050919050565b6000602082019050818103600083015261282f816127f3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612892602283611f5f565b915061289d82612836565b604082019050919050565b600060208201905081810360008301526128c181612885565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612924602583611f5f565b915061292f826128c8565b604082019050919050565b6000602082019050818103600083015261295381612917565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129b6602383611f5f565b91506129c18261295a565b604082019050919050565b600060208201905081810360008301526129e5816129a9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a48602983611f5f565b9150612a53826129ec565b604082019050919050565b60006020820190508181036000830152612a7781612a3b565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612ab4601083611f5f565b9150612abf82612a7e565b602082019050919050565b60006020820190508181036000830152612ae381612aa7565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b20601983611f5f565b9150612b2b82612aea565b602082019050919050565b60006020820190508181036000830152612b4f81612b13565b9050919050565b6000612b6182612078565b9150612b6c83612078565b9250828201905080821115612b8457612b836124db565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bc0601a83611f5f565b9150612bcb82612b8a565b602082019050919050565b60006020820190508181036000830152612bef81612bb3565b9050919050565b6000612c0182612078565b9150612c0c83612078565b9250828203905081811115612c2457612c236124db565b5b92915050565b600081519050612c398161204c565b92915050565b600060208284031215612c5557612c54612010565b5b6000612c6384828501612c2a565b91505092915050565b6000819050919050565b6000819050919050565b6000612c9b612c96612c9184612c6c565b612c76565b612078565b9050919050565b612cab81612c80565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ce68161203a565b82525050565b6000612cf88383612cdd565b60208301905092915050565b6000602082019050919050565b6000612d1c82612cb1565b612d268185612cbc565b9350612d3183612ccd565b8060005b83811015612d62578151612d498882612cec565b9750612d5483612d04565b925050600181019050612d35565b5085935050505092915050565b600060a082019050612d8460008301886122b5565b612d916020830187612ca2565b8181036040830152612da38186612d11565b9050612db26060830185612369565b612dbf60808301846122b5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e0382612078565b9150612e0e83612078565b925082612e1e57612e1d612dc9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e85602183611f5f565b9150612e9082612e29565b604082019050919050565b60006020820190508181036000830152612eb481612e78565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ef1601b83611f5f565b9150612efc82612ebb565b602082019050919050565b60006020820190508181036000830152612f2081612ee4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c9cd5c9ddf3bb04db92a6db727f94782ed7e4b9deedea782be279a2529ce45964736f6c63430008110033
Deployed Bytecode Sourcemap
3658:7755:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5993:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7169:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7883:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6270:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8062:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6179:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4749:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7527:348;;;;;;;;;;;;;:::i;:::-;;6373:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2739:148;;;;;;;;;;;;;:::i;:::-;;10756:213;;;;;;;;;;;;;:::i;:::-;;5809:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4510:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5586:215;;;;;;;;;;;;;:::i;:::-;;2525:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4573:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6084:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6500:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4636:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7018:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7338:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11199:172;;;;;;;;;;;;;:::i;:::-;;5993:83;6030:13;6063:5;;;;;;;;;;;;;;;;;6056:12;;5993:83;:::o;7169:161::-;7244:4;7261:39;7270:12;:10;:12::i;:::-;7284:7;7293:6;7261:8;:39::i;:::-;7318:4;7311:11;;7169:161;;;;:::o;7883:169::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7962:6:::1;7957:88;7978:5;:12;7974:1;:16;7957:88;;;8029:4;8012;:14;8017:5;8023:1;8017:8;;;;;;;;:::i;:::-;;;;;;;;8012:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;7992:3;;;;;:::i;:::-;;;;7957:88;;;;7883:169:::0;:::o;6270:95::-;6323:7;4323:1;4379:2;:13;;;;:::i;:::-;4366:10;:26;;;;:::i;:::-;6343:14;;6270:95;:::o;8062:313::-;8160:4;8177:36;8187:6;8195:9;8206:6;8177:9;:36::i;:::-;8224:121;8233:6;8241:12;:10;:12::i;:::-;8255:89;8293:6;8255:89;;;;;;;;;;;;;;;;;:11;:19;8267:6;8255:19;;;;;;;;;;;;;;;:33;8275:12;:10;:12::i;:::-;8255:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8224:8;:121::i;:::-;8363:4;8356:11;;8062:313;;;;;:::o;6179:83::-;6220:5;4323:1;6238:16;;6179:83;:::o;4749:28::-;;;;;;;;;;;;;:::o;7527:348::-;7591:10;;;;;;;;;;;7577:24;;:12;:10;:12::i;:::-;:24;;;7569:33;;;;;;7613:20;7634:24;7652:4;7634:9;:24::i;:::-;7613:45;;7685:1;7672:12;:14;7669:73;;;7700:30;7717:12;7700:16;:30::i;:::-;7669:73;7752:18;7771:21;7752:40;;7817:1;7806:10;:12;7803:65;;;7832:24;7845:10;7832:12;:24::i;:::-;7803:65;7558:317;;7527:348::o;6373:119::-;6439:7;6466:9;:18;6476:7;6466:18;;;;;;;;;;;;;;;;6459:25;;6373:119;;;:::o;2739:148::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2846:1:::1;2809:40;;2830:6;::::0;::::1;;;;;;;;2809:40;;;;;;;;;;;;2877:1;2860:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2739:148::o:0;10756:213::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4323:1:::1;4379:2;:13;;;;:::i;:::-;4366:10;:26;;;;:::i;:::-;10809:12;:22;;;;4323:1;4379:2;:13;;;;:::i;:::-;4366:10;:26;;;;:::i;:::-;10842:14;:22;;;;4323:1;10905:2;:13;;;;:::i;:::-;10895:7;:23;;;;:::i;:::-;10875:17;:43;;;;10934:27;4323:1;4379:2;:13;;;;:::i;:::-;4366:10;:26;;;;:::i;:::-;10934:27;;;;;;:::i;:::-;;;;;;;;10756:213::o:0;5809:169::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5889:6:::1;5884:87;5905:6;:13;5901:1;:17;5884:87;;;5956:5;5938:4;:15;5943:6;5950:1;5943:9;;;;;;;;:::i;:::-;;;;;;;;5938:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;5920:3;;;;;:::i;:::-;;;;5884:87;;;;5809:169:::0;:::o;4510:56::-;;;;:::o;5586:215::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5652:11:::1;;;;;;;;;;;5651:12;5643:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;5726:4;5712:11;;:18;;;;;;;;;;;;;;;;;;5755:4;5741:11;;:18;;;;;;;;;;;;;;;;;;5781:12;5770:8;:23;;;;5586:215::o:0;2525:79::-;2563:7;2590:6;;;;;;;;;;;2583:13;;2525:79;:::o;4573:56::-;;;;:::o;6084:87::-;6123:13;6156:7;;;;;;;;;;;;;;;;;6149:14;;6084:87;:::o;6500:167::-;6578:4;6595:42;6605:12;:10;:12::i;:::-;6619:9;6630:6;6595:9;:42::i;:::-;6655:4;6648:11;;6500:167;;;;:::o;4636:57::-;;;;:::o;7018:143::-;7099:7;7126:11;:18;7138:5;7126:18;;;;;;;;;;;;;;;:27;7145:7;7126:27;;;;;;;;;;;;;;;;7119:34;;7018:143;;;;:::o;7338:181::-;2662:12;:10;:12::i;:::-;2652:22;;:6;;;;;;;;;;:22;;;2644:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7454:17:::1;7442:11;:29;;;;7493:18;7480:12;:31;;;;7338:181:::0;;:::o;11199:172::-;11241:18;11260:21;11241:40;;11306:1;11295:10;:12;11292:72;;;11321:10;;;;;;;;;;;:19;;:31;11341:10;11321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:72;11230:141;11199:172::o;280:98::-;333:7;360:10;353:17;;280:98;:::o;6675:335::-;6785:1;6768:19;;:5;:19;;;6760:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6866:1;6847:21;;:7;:21;;;6839:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6948:6;6918:11;:18;6930:5;6918:18;;;;;;;;;;;;;;;:27;6937:7;6918:27;;;;;;;;;;;;;;;:36;;;;6986:7;6970:32;;6979:5;6970:32;;;6995:6;6970:32;;;;;;:::i;:::-;;;;;;;;6675:335;;;:::o;8383:1874::-;8487:1;8471:18;;:4;:18;;;8463:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8564:1;8550:16;;:2;:16;;;8542:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8634:1;8625:6;:10;8617:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8692:17;8734:7;:5;:7::i;:::-;8726:15;;:4;:15;;;;:32;;;;;8751:7;:5;:7::i;:::-;8745:13;;:2;:13;;;;8726:32;8722:1177;;;8784:4;:10;8789:4;8784:10;;;;;;;;;;;;;;;;;;;;;;;;;8783:11;:24;;;;;8799:4;:8;8804:2;8799:8;;;;;;;;;;;;;;;;;;;;;;;;;8798:9;8783:24;8775:33;;;;;;8835:13;;;;;;;;;;;8827:21;;:4;:21;;;:55;;;;;8866:15;;;;;;;;;;;8852:30;;:2;:30;;;;8827:55;:83;;;;;8888:18;:22;8907:2;8888:22;;;;;;;;;;;;;;;;;;;;;;;;;8886:24;8827:83;8823:405;;;8940:11;;;;;;;;;;;8932:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;9009:12;;8999:6;:22;;8991:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9104:14;;9094:6;9078:13;9088:2;9078:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9070:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9180:32;9208:3;9180:23;9191:11;;9180:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;9168:44;;8823:405;9253:13;;;;;;;;;;;9247:19;;:2;:19;;;:43;;;;;9285:4;9270:20;;:4;:20;;;;9247:43;9244:128;;;9323:33;9352:3;9323:24;9334:12;;9323:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;9311:45;;9244:128;9388:28;9419:24;9437:4;9419:9;:24::i;:::-;9388:55;;9463:6;;;;;;;;;;;9462:7;:32;;;;;9481:13;;;;;;;;;;;9473:21;;:2;:21;;;9462:32;:47;;;;;9498:11;;;;;;;;;;;9462:47;:89;;;;;9534:17;;9513:20;:38;9462:89;:117;;;;;9567:12;9555:8;;:24;;9462:117;9458:430;;;9600:35;9617:17;;9600:16;:35::i;:::-;9654:26;9683:21;9654:50;;9747:1;9726:18;:22;9723:105;;;9773:35;9786:21;9773:12;:35::i;:::-;9723:105;9860:12;9849:8;:23;;;;9581:307;9458:430;8760:1139;8722:1177;9924:1;9914:9;:11;9911:161;;;9964:39;9993:9;9964;:24;9982:4;9964:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9939:9;:24;9957:4;9939:24;;;;;;;;;;;;;;;:64;;;;10044:4;10021:39;;10030:4;10021:39;;;10050:9;10021:39;;;;;;:::i;:::-;;;;;;;;9911:161;10100:27;10120:6;10100:9;:15;10110:4;10100:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10084:9;:15;10094:4;10084:15;;;;;;;;;;;;;;;:43;;;;10152:40;10170:21;10181:9;10170:6;:10;;:21;;;;:::i;:::-;10152:9;:13;10162:2;10152:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10138:9;:13;10148:2;10138:13;;;;;;;;;;;;;;;:54;;;;10223:2;10208:41;;10217:4;10208:41;;;10227:21;10238:9;10227:6;:10;;:21;;;;:::i;:::-;10208:41;;;;;;:::i;:::-;;;;;;;;8452:1805;8383:1874;;;:::o;1417:190::-;1503:7;1536:1;1531;:6;;1539:12;1523:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1563:9;1579:1;1575;:5;;;;:::i;:::-;1563:17;;1598:1;1591:8;;;1417:190;;;;;:::o;10265:483::-;4989:4;4980:6;;:13;;;;;;;;;;;;;;;;;;10343:21:::1;10381:1;10367:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10343:40;;10412:4;10394;10399:1;10394:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10438:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10428:4;10433:1;10428:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10471:62;10488:4;10503:15;;;;;;;;;;;10521:11;10471:8;:62::i;:::-;10544:15;;;;;;;;;;;:66;;;10625:11;10651:1;10667:4;10694;10714:15;10544:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10332:416;5025:5:::0;5016:6;;:14;;;;;;;;;;;;;;;;;;10265:483;:::o;11083:92::-;11140:10;;;;;;;;;;;:19;;:27;11160:6;11140:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11083:92;:::o;1615:246::-;1673:7;1702:1;1697;:6;1693:47;;1727:1;1720:8;;;;1693:47;1750:9;1766:1;1762;:5;;;;:::i;:::-;1750:17;;1795:1;1790;1786;:5;;;;:::i;:::-;:10;1778:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1852:1;1845:8;;;1615:246;;;;;:::o;1869:132::-;1927:7;1954:39;1958:1;1961;1954:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1947:46;;1869:132;;;;:::o;1086:179::-;1144:7;1164:9;1180:1;1176;:5;;;;:::i;:::-;1164:17;;1205:1;1200;:6;;1192:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1256:1;1249:8;;;1086:179;;;;:::o;1273:136::-;1331:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;;1273:136;;;;:::o;2009:189::-;2095:7;2127:1;2123;:5;2130:12;2115:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2154:9;2170:1;2166;:5;;;;:::i;:::-;2154:17;;2189:1;2182:8;;;2009:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:180;3617:77;3614:1;3607:88;3714:4;3711:1;3704:15;3738:4;3735:1;3728:15;3755:281;3838:27;3860:4;3838:27;:::i;:::-;3830:6;3826:40;3968:6;3956:10;3953:22;3932:18;3920:10;3917:34;3914:62;3911:88;;;3979:18;;:::i;:::-;3911:88;4019:10;4015:2;4008:22;3798:238;3755:281;;:::o;4042:129::-;4076:6;4103:20;;:::i;:::-;4093:30;;4132:33;4160:4;4152:6;4132:33;:::i;:::-;4042:129;;;:::o;4177:311::-;4254:4;4344:18;4336:6;4333:30;4330:56;;;4366:18;;:::i;:::-;4330:56;4416:4;4408:6;4404:17;4396:25;;4476:4;4470;4466:15;4458:23;;4177:311;;;:::o;4494:117::-;4603:1;4600;4593:12;4634:710;4730:5;4755:81;4771:64;4828:6;4771:64;:::i;:::-;4755:81;:::i;:::-;4746:90;;4856:5;4885:6;4878:5;4871:21;4919:4;4912:5;4908:16;4901:23;;4972:4;4964:6;4960:17;4952:6;4948:30;5001:3;4993:6;4990:15;4987:122;;;5020:79;;:::i;:::-;4987:122;5135:6;5118:220;5152:6;5147:3;5144:15;5118:220;;;5227:3;5256:37;5289:3;5277:10;5256:37;:::i;:::-;5251:3;5244:50;5323:4;5318:3;5314:14;5307:21;;5194:144;5178:4;5173:3;5169:14;5162:21;;5118:220;;;5122:21;4736:608;;4634:710;;;;;:::o;5367:370::-;5438:5;5487:3;5480:4;5472:6;5468:17;5464:27;5454:122;;5495:79;;:::i;:::-;5454:122;5612:6;5599:20;5637:94;5727:3;5719:6;5712:4;5704:6;5700:17;5637:94;:::i;:::-;5628:103;;5444:293;5367:370;;;;:::o;5743:539::-;5827:6;5876:2;5864:9;5855:7;5851:23;5847:32;5844:119;;;5882:79;;:::i;:::-;5844:119;6030:1;6019:9;6015:17;6002:31;6060:18;6052:6;6049:30;6046:117;;;6082:79;;:::i;:::-;6046:117;6187:78;6257:7;6248:6;6237:9;6233:22;6187:78;:::i;:::-;6177:88;;5973:302;5743:539;;;;:::o;6288:118::-;6375:24;6393:5;6375:24;:::i;:::-;6370:3;6363:37;6288:118;;:::o;6412:222::-;6505:4;6543:2;6532:9;6528:18;6520:26;;6556:71;6624:1;6613:9;6609:17;6600:6;6556:71;:::i;:::-;6412:222;;;;:::o;6640:619::-;6717:6;6725;6733;6782:2;6770:9;6761:7;6757:23;6753:32;6750:119;;;6788:79;;:::i;:::-;6750:119;6908:1;6933:53;6978:7;6969:6;6958:9;6954:22;6933:53;:::i;:::-;6923:63;;6879:117;7035:2;7061:53;7106:7;7097:6;7086:9;7082:22;7061:53;:::i;:::-;7051:63;;7006:118;7163:2;7189:53;7234:7;7225:6;7214:9;7210:22;7189:53;:::i;:::-;7179:63;;7134:118;6640:619;;;;;:::o;7265:86::-;7300:7;7340:4;7333:5;7329:16;7318:27;;7265:86;;;:::o;7357:112::-;7440:22;7456:5;7440:22;:::i;:::-;7435:3;7428:35;7357:112;;:::o;7475:214::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7615:67;7679:1;7668:9;7664:17;7655:6;7615:67;:::i;:::-;7475:214;;;;:::o;7695:118::-;7782:24;7800:5;7782:24;:::i;:::-;7777:3;7770:37;7695:118;;:::o;7819:222::-;7912:4;7950:2;7939:9;7935:18;7927:26;;7963:71;8031:1;8020:9;8016:17;8007:6;7963:71;:::i;:::-;7819:222;;;;:::o;8047:329::-;8106:6;8155:2;8143:9;8134:7;8130:23;8126:32;8123:119;;;8161:79;;:::i;:::-;8123:119;8281:1;8306:53;8351:7;8342:6;8331:9;8327:22;8306:53;:::i;:::-;8296:63;;8252:117;8047:329;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:::-;8930:6;8938;8987:2;8975:9;8966:7;8962:23;8958:32;8955:119;;;8993:79;;:::i;:::-;8955:119;9113:1;9138:53;9183:7;9174:6;9163:9;9159:22;9138:53;:::i;:::-;9128:63;;9084:117;9240:2;9266:53;9311:7;9302:6;9291:9;9287:22;9266:53;:::i;:::-;9256:63;;9211:118;8862:474;;;;;:::o;9342:182::-;9482:34;9478:1;9470:6;9466:14;9459:58;9342:182;:::o;9530:366::-;9672:3;9693:67;9757:2;9752:3;9693:67;:::i;:::-;9686:74;;9769:93;9858:3;9769:93;:::i;:::-;9887:2;9882:3;9878:12;9871:19;;9530:366;;;:::o;9902:419::-;10068:4;10106:2;10095:9;10091:18;10083:26;;10155:9;10149:4;10145:20;10141:1;10130:9;10126:17;10119:47;10183:131;10309:4;10183:131;:::i;:::-;10175:139;;9902:419;;;:::o;10327:180::-;10375:77;10372:1;10365:88;10472:4;10469:1;10462:15;10496:4;10493:1;10486:15;10513:180;10561:77;10558:1;10551:88;10658:4;10655:1;10648:15;10682:4;10679:1;10672:15;10699:233;10738:3;10761:24;10779:5;10761:24;:::i;:::-;10752:33;;10807:66;10800:5;10797:77;10794:103;;10877:18;;:::i;:::-;10794:103;10924:1;10917:5;10913:13;10906:20;;10699:233;;;:::o;10938:102::-;10980:8;11027:5;11024:1;11020:13;10999:34;;10938:102;;;:::o;11046:848::-;11107:5;11114:4;11138:6;11129:15;;11162:5;11153:14;;11176:712;11197:1;11187:8;11184:15;11176:712;;;11292:4;11287:3;11283:14;11277:4;11274:24;11271:50;;;11301:18;;:::i;:::-;11271:50;11351:1;11341:8;11337:16;11334:451;;;11766:4;11759:5;11755:16;11746:25;;11334:451;11816:4;11810;11806:15;11798:23;;11846:32;11869:8;11846:32;:::i;:::-;11834:44;;11176:712;;;11046:848;;;;;;;:::o;11900:1073::-;11954:5;12145:8;12135:40;;12166:1;12157:10;;12168:5;;12135:40;12194:4;12184:36;;12211:1;12202:10;;12213:5;;12184:36;12280:4;12328:1;12323:27;;;;12364:1;12359:191;;;;12273:277;;12323:27;12341:1;12332:10;;12343:5;;;12359:191;12404:3;12394:8;12391:17;12388:43;;;12411:18;;:::i;:::-;12388:43;12460:8;12457:1;12453:16;12444:25;;12495:3;12488:5;12485:14;12482:40;;;12502:18;;:::i;:::-;12482:40;12535:5;;;12273:277;;12659:2;12649:8;12646:16;12640:3;12634:4;12631:13;12627:36;12609:2;12599:8;12596:16;12591:2;12585:4;12582:12;12578:35;12562:111;12559:246;;;12715:8;12709:4;12705:19;12696:28;;12750:3;12743:5;12740:14;12737:40;;;12757:18;;:::i;:::-;12737:40;12790:5;;12559:246;12830:42;12868:3;12858:8;12852:4;12849:1;12830:42;:::i;:::-;12815:57;;;;12904:4;12899:3;12895:14;12888:5;12885:25;12882:51;;;12913:18;;:::i;:::-;12882:51;12962:4;12955:5;12951:16;12942:25;;11900:1073;;;;;;:::o;12979:281::-;13037:5;13061:23;13079:4;13061:23;:::i;:::-;13053:31;;13105:25;13121:8;13105:25;:::i;:::-;13093:37;;13149:104;13186:66;13176:8;13170:4;13149:104;:::i;:::-;13140:113;;12979:281;;;;:::o;13266:410::-;13306:7;13329:20;13347:1;13329:20;:::i;:::-;13324:25;;13363:20;13381:1;13363:20;:::i;:::-;13358:25;;13418:1;13415;13411:9;13440:30;13458:11;13440:30;:::i;:::-;13429:41;;13619:1;13610:7;13606:15;13603:1;13600:22;13580:1;13573:9;13553:83;13530:139;;13649:18;;:::i;:::-;13530:139;13314:362;13266:410;;;;:::o;13682:221::-;13822:34;13818:1;13810:6;13806:14;13799:58;13891:4;13886:2;13878:6;13874:15;13867:29;13682:221;:::o;13909:366::-;14051:3;14072:67;14136:2;14131:3;14072:67;:::i;:::-;14065:74;;14148:93;14237:3;14148:93;:::i;:::-;14266:2;14261:3;14257:12;14250:19;;13909:366;;;:::o;14281:419::-;14447:4;14485:2;14474:9;14470:18;14462:26;;14534:9;14528:4;14524:20;14520:1;14509:9;14505:17;14498:47;14562:131;14688:4;14562:131;:::i;:::-;14554:139;;14281:419;;;:::o;14706:223::-;14846:34;14842:1;14834:6;14830:14;14823:58;14915:6;14910:2;14902:6;14898:15;14891:31;14706:223;:::o;14935:366::-;15077:3;15098:67;15162:2;15157:3;15098:67;:::i;:::-;15091:74;;15174:93;15263:3;15174:93;:::i;:::-;15292:2;15287:3;15283:12;15276:19;;14935:366;;;:::o;15307:419::-;15473:4;15511:2;15500:9;15496:18;15488:26;;15560:9;15554:4;15550:20;15546:1;15535:9;15531:17;15524:47;15588:131;15714:4;15588:131;:::i;:::-;15580:139;;15307:419;;;:::o;15732:221::-;15872:34;15868:1;15860:6;15856:14;15849:58;15941:4;15936:2;15928:6;15924:15;15917:29;15732:221;:::o;15959:366::-;16101:3;16122:67;16186:2;16181:3;16122:67;:::i;:::-;16115:74;;16198:93;16287:3;16198:93;:::i;:::-;16316:2;16311:3;16307:12;16300:19;;15959:366;;;:::o;16331:419::-;16497:4;16535:2;16524:9;16520:18;16512:26;;16584:9;16578:4;16574:20;16570:1;16559:9;16555:17;16548:47;16612:131;16738:4;16612:131;:::i;:::-;16604:139;;16331:419;;;:::o;16756:224::-;16896:34;16892:1;16884:6;16880:14;16873:58;16965:7;16960:2;16952:6;16948:15;16941:32;16756:224;:::o;16986:366::-;17128:3;17149:67;17213:2;17208:3;17149:67;:::i;:::-;17142:74;;17225:93;17314:3;17225:93;:::i;:::-;17343:2;17338:3;17334:12;17327:19;;16986:366;;;:::o;17358:419::-;17524:4;17562:2;17551:9;17547:18;17539:26;;17611:9;17605:4;17601:20;17597:1;17586:9;17582:17;17575:47;17639:131;17765:4;17639:131;:::i;:::-;17631:139;;17358:419;;;:::o;17783:222::-;17923:34;17919:1;17911:6;17907:14;17900:58;17992:5;17987:2;17979:6;17975:15;17968:30;17783:222;:::o;18011:366::-;18153:3;18174:67;18238:2;18233:3;18174:67;:::i;:::-;18167:74;;18250:93;18339:3;18250:93;:::i;:::-;18368:2;18363:3;18359:12;18352:19;;18011:366;;;:::o;18383:419::-;18549:4;18587:2;18576:9;18572:18;18564:26;;18636:9;18630:4;18626:20;18622:1;18611:9;18607:17;18600:47;18664:131;18790:4;18664:131;:::i;:::-;18656:139;;18383:419;;;:::o;18808:228::-;18948:34;18944:1;18936:6;18932:14;18925:58;19017:11;19012:2;19004:6;19000:15;18993:36;18808:228;:::o;19042:366::-;19184:3;19205:67;19269:2;19264:3;19205:67;:::i;:::-;19198:74;;19281:93;19370:3;19281:93;:::i;:::-;19399:2;19394:3;19390:12;19383:19;;19042:366;;;:::o;19414:419::-;19580:4;19618:2;19607:9;19603:18;19595:26;;19667:9;19661:4;19657:20;19653:1;19642:9;19638:17;19631:47;19695:131;19821:4;19695:131;:::i;:::-;19687:139;;19414:419;;;:::o;19839:166::-;19979:18;19975:1;19967:6;19963:14;19956:42;19839:166;:::o;20011:366::-;20153:3;20174:67;20238:2;20233:3;20174:67;:::i;:::-;20167:74;;20250:93;20339:3;20250:93;:::i;:::-;20368:2;20363:3;20359:12;20352:19;;20011:366;;;:::o;20383:419::-;20549:4;20587:2;20576:9;20572:18;20564:26;;20636:9;20630:4;20626:20;20622:1;20611:9;20607:17;20600:47;20664:131;20790:4;20664:131;:::i;:::-;20656:139;;20383:419;;;:::o;20808:175::-;20948:27;20944:1;20936:6;20932:14;20925:51;20808:175;:::o;20989:366::-;21131:3;21152:67;21216:2;21211:3;21152:67;:::i;:::-;21145:74;;21228:93;21317:3;21228:93;:::i;:::-;21346:2;21341:3;21337:12;21330:19;;20989:366;;;:::o;21361:419::-;21527:4;21565:2;21554:9;21550:18;21542:26;;21614:9;21608:4;21604:20;21600:1;21589:9;21585:17;21578:47;21642:131;21768:4;21642:131;:::i;:::-;21634:139;;21361:419;;;:::o;21786:191::-;21826:3;21845:20;21863:1;21845:20;:::i;:::-;21840:25;;21879:20;21897:1;21879:20;:::i;:::-;21874:25;;21922:1;21919;21915:9;21908:16;;21943:3;21940:1;21937:10;21934:36;;;21950:18;;:::i;:::-;21934:36;21786:191;;;;:::o;21983:176::-;22123:28;22119:1;22111:6;22107:14;22100:52;21983:176;:::o;22165:366::-;22307:3;22328:67;22392:2;22387:3;22328:67;:::i;:::-;22321:74;;22404:93;22493:3;22404:93;:::i;:::-;22522:2;22517:3;22513:12;22506:19;;22165:366;;;:::o;22537:419::-;22703:4;22741:2;22730:9;22726:18;22718:26;;22790:9;22784:4;22780:20;22776:1;22765:9;22761:17;22754:47;22818:131;22944:4;22818:131;:::i;:::-;22810:139;;22537:419;;;:::o;22962:194::-;23002:4;23022:20;23040:1;23022:20;:::i;:::-;23017:25;;23056:20;23074:1;23056:20;:::i;:::-;23051:25;;23100:1;23097;23093:9;23085:17;;23124:1;23118:4;23115:11;23112:37;;;23129:18;;:::i;:::-;23112:37;22962:194;;;;:::o;23162:143::-;23219:5;23250:6;23244:13;23235:22;;23266:33;23293:5;23266:33;:::i;:::-;23162:143;;;;:::o;23311:351::-;23381:6;23430:2;23418:9;23409:7;23405:23;23401:32;23398:119;;;23436:79;;:::i;:::-;23398:119;23556:1;23581:64;23637:7;23628:6;23617:9;23613:22;23581:64;:::i;:::-;23571:74;;23527:128;23311:351;;;;:::o;23668:85::-;23713:7;23742:5;23731:16;;23668:85;;;:::o;23759:60::-;23787:3;23808:5;23801:12;;23759:60;;;:::o;23825:158::-;23883:9;23916:61;23934:42;23943:32;23969:5;23943:32;:::i;:::-;23934:42;:::i;:::-;23916:61;:::i;:::-;23903:74;;23825:158;;;:::o;23989:147::-;24084:45;24123:5;24084:45;:::i;:::-;24079:3;24072:58;23989:147;;:::o;24142:114::-;24209:6;24243:5;24237:12;24227:22;;24142:114;;;:::o;24262:184::-;24361:11;24395:6;24390:3;24383:19;24435:4;24430:3;24426:14;24411:29;;24262:184;;;;:::o;24452:132::-;24519:4;24542:3;24534:11;;24572:4;24567:3;24563:14;24555:22;;24452:132;;;:::o;24590:108::-;24667:24;24685:5;24667:24;:::i;:::-;24662:3;24655:37;24590:108;;:::o;24704:179::-;24773:10;24794:46;24836:3;24828:6;24794:46;:::i;:::-;24872:4;24867:3;24863:14;24849:28;;24704:179;;;;:::o;24889:113::-;24959:4;24991;24986:3;24982:14;24974:22;;24889:113;;;:::o;25038:732::-;25157:3;25186:54;25234:5;25186:54;:::i;:::-;25256:86;25335:6;25330:3;25256:86;:::i;:::-;25249:93;;25366:56;25416:5;25366:56;:::i;:::-;25445:7;25476:1;25461:284;25486:6;25483:1;25480:13;25461:284;;;25562:6;25556:13;25589:63;25648:3;25633:13;25589:63;:::i;:::-;25582:70;;25675:60;25728:6;25675:60;:::i;:::-;25665:70;;25521:224;25508:1;25505;25501:9;25496:14;;25461:284;;;25465:14;25761:3;25754:10;;25162:608;;;25038:732;;;;:::o;25776:831::-;26039:4;26077:3;26066:9;26062:19;26054:27;;26091:71;26159:1;26148:9;26144:17;26135:6;26091:71;:::i;:::-;26172:80;26248:2;26237:9;26233:18;26224:6;26172:80;:::i;:::-;26299:9;26293:4;26289:20;26284:2;26273:9;26269:18;26262:48;26327:108;26430:4;26421:6;26327:108;:::i;:::-;26319:116;;26445:72;26513:2;26502:9;26498:18;26489:6;26445:72;:::i;:::-;26527:73;26595:3;26584:9;26580:19;26571:6;26527:73;:::i;:::-;25776:831;;;;;;;;:::o;26613:180::-;26661:77;26658:1;26651:88;26758:4;26755:1;26748:15;26782:4;26779:1;26772:15;26799:185;26839:1;26856:20;26874:1;26856:20;:::i;:::-;26851:25;;26890:20;26908:1;26890:20;:::i;:::-;26885:25;;26929:1;26919:35;;26934:18;;:::i;:::-;26919:35;26976:1;26973;26969:9;26964:14;;26799:185;;;;:::o;26990:220::-;27130:34;27126:1;27118:6;27114:14;27107:58;27199:3;27194:2;27186:6;27182:15;27175:28;26990:220;:::o;27216:366::-;27358:3;27379:67;27443:2;27438:3;27379:67;:::i;:::-;27372:74;;27455:93;27544:3;27455:93;:::i;:::-;27573:2;27568:3;27564:12;27557:19;;27216:366;;;:::o;27588:419::-;27754:4;27792:2;27781:9;27777:18;27769:26;;27841:9;27835:4;27831:20;27827:1;27816:9;27812:17;27805:47;27869:131;27995:4;27869:131;:::i;:::-;27861:139;;27588:419;;;:::o;28013:177::-;28153:29;28149:1;28141:6;28137:14;28130:53;28013:177;:::o;28196:366::-;28338:3;28359:67;28423:2;28418:3;28359:67;:::i;:::-;28352:74;;28435:93;28524:3;28435:93;:::i;:::-;28553:2;28548:3;28544:12;28537:19;;28196:366;;;:::o;28568:419::-;28734:4;28772:2;28761:9;28757:18;28749:26;;28821:9;28815:4;28811:20;28807:1;28796:9;28792:17;28785:47;28849:131;28975:4;28849:131;:::i;:::-;28841:139;;28568:419;;;:::o
Swarm Source
ipfs://5c9cd5c9ddf3bb04db92a6db727f94782ed7e4b9deedea782be279a2529ce459
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.