ERC-20
Overview
Max Total Supply
1,000,000,000 MAGA
Holders
87
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 MAGAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MAGA
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-25 */ /** *Submitted for verification at Etherscan.io on 2023-08-25 */ // SPDX-License-Identifier: MIT /** ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠛⠋⠉⡉⣉⡛⣛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠄⠄⠄⠄⠄⢀⣸⣿⣿⡿⠿⡯⢙⠿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡿⠄⠄⠄⠄⠄⡀⡀⠄⢀⣀⣉⣉⣉⠁⠐⣶⣶⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡇⠄⠄⠄⠄⠁⣿⣿⣀⠈⠿⢟⡛⠛⣿⠛⠛⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡆⠄⠄⠄⠄⠄⠈⠁⠰⣄⣴⡬⢵⣴⣿⣤⣽⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡇⠄⢀⢄⡀⠄⠄⠄⠄⡉⠻⣿⡿⠁⠘⠛⡿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⡿⠃⠄⠄⠈⠻⠄⠄⠄⠄⢘⣧⣀⠾⠿⠶⠦⢳⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣶⣤⡀⢀⡀⠄⠄⠄⠄⠄⠄⠻⢣⣶⡒⠶⢤⢾⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⡿⠟⠋⠄⢘⣿⣦⡀⠄⠄⠄⠄⠄⠉⠛⠻⠻⠺⣼⣿⠟⠋⠛⠿⣿⣿ ⠋⠉⠁⠄⠄⠄⠄⠄⠄⢻⣿⣿⣶⣄⡀⠄⠄⠄⠄⢀⣤⣾⣿⣿⡀⠄⠄⠄⠄⢹ ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣿⣿⣿⣷⡤⠄⠰⡆⠄⠄⠈⠉⠛⠿⢦⣀⡀⡀⠄ ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⢿⣿⠟⡋⠄⠄⠄⢣⠄⠄⠄⠄⠄⠄⠄⠈⠹⣿⣀ ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠘⣷⣿⣿⣷⠄⠄⢺⣇⠄⠄⠄⠄⠄⠄⠄⠄⠸⣿ ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠹⣿⣿⡇⠄⠄⠸⣿⡄⠄⠈⠁⠄⠄⠄⠄⠄⣿ ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣿⡇⠄⠄⠄⢹⣧⠄⠄⠄⠄⠄⠄⠄⠄⠘ Telegram: https://t.me/maga_token Twitter: https://twitter.com/magatoken_xyz Website: https://www.magatoken.xyz/ **/ pragma solidity 0.8.19; 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 MAGA 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; address payable private _taxWallet; uint256 private _initialBuyTax = 25; uint256 private _initialSellTax = 25; uint256 private _finalBuyTax = 2; uint256 private _finalSellTax = 2; uint256 private _reduceBuyTaxAt = 20; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 20; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; string private constant _name = unicode"DONALD TRUMP ELECTION INTERFERENCE NEVER SURRENDER!"; string private constant _symbol = unicode"MAGA"; uint256 public _maxTxAmount = 10000000 * 10 ** _decimals; uint256 public _maxWalletSize = 10000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 5000000 * 10 ** _decimals; uint256 public _maxTaxSwap = 5000000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore ) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 5000000000000000) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601960055560196006556002600755600260085560146009556014600a556014600b556000600c556009600a6200003c919062000a74565b629896806200004c919062000ac5565b600d556009600a6200005f919062000a74565b629896806200006f919062000ac5565b600e556009600a62000082919062000a74565b624c4b4062000092919062000ac5565b600f556009600a620000a5919062000a74565b624c4b40620000b5919062000ac5565b6010556000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff021916908315150217905550348015620000fb57600080fd5b5060006200010e620006d860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001bc620006d860201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200020c919062000a74565b633b9aca006200021d919062000ac5565b6001600062000231620006d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600062000285620006e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200045230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a62000435919062000a74565b633b9aca0062000446919062000ac5565b6200070960201b60201c565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e6919062000b7a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000570573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000596919062000b7a565b6040518363ffffffff1660e01b8152600401620005b592919062000bbd565b6020604051808303816000875af1158015620005d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005fb919062000b7a565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200064b620006d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620006aa919062000a74565b633b9aca00620006bb919062000ac5565b604051620006ca919062000bfb565b60405180910390a362000d59565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007729062000c9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007e49062000d37565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620008cd919062000bfb565b60405180910390a3505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009685780860481111562000940576200093f620008da565b5b6001851615620009505780820291505b8081029050620009608562000909565b945062000920565b94509492505050565b60008262000983576001905062000a56565b8162000993576000905062000a56565b8160018114620009ac5760028114620009b757620009ed565b600191505062000a56565b60ff841115620009cc57620009cb620008da565b5b8360020a915084821115620009e657620009e5620008da565b5b5062000a56565b5060208310610133831016604e8410600b841016171562000a275782820a90508381111562000a215762000a20620008da565b5b62000a56565b62000a36848484600162000916565b9250905081840481111562000a505762000a4f620008da565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a818262000a5d565b915062000a8e8362000a67565b925062000abd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000971565b905092915050565b600062000ad28262000a5d565b915062000adf8362000a5d565b925082820262000aef8162000a5d565b9150828204841483151762000b095762000b08620008da565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b428262000b15565b9050919050565b62000b548162000b35565b811462000b6057600080fd5b50565b60008151905062000b748162000b49565b92915050565b60006020828403121562000b935762000b9262000b10565b5b600062000ba38482850162000b63565b91505092915050565b62000bb78162000b35565b82525050565b600060408201905062000bd4600083018562000bac565b62000be3602083018462000bac565b9392505050565b62000bf58162000a5d565b82525050565b600060208201905062000c12600083018462000bea565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000c8760248362000c18565b915062000c948262000c29565b604082019050919050565b6000602082019050818103600083015262000cba8162000c78565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000d1f60228362000c18565b915062000d2c8262000cc1565b604082019050919050565b6000602082019050818103600083015262000d528162000d10565b9050919050565b612b348062000d696000396000f3fe60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610342578063a9059cbb1461036d578063bf474bed146103aa578063c9567bf9146103d5578063dd62ed3e146103ec57610114565b8063751039fc146102aa5780637d1db4a5146102c15780638da5cb5b146102ec5780638f9a55c01461031757610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806351bc3c851461023f57806370a0823114610256578063715018a61461029357610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610429565b60405161013b9190611c58565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611d13565b610449565b6040516101789190611d6e565b60405180910390f35b34801561018d57600080fd5b50610196610467565b6040516101a39190611d98565b60405180910390f35b3480156101b857600080fd5b506101c161046d565b6040516101ce9190611d98565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611db3565b610491565b60405161020b9190611d6e565b60405180910390f35b34801561022057600080fd5b5061022961056a565b6040516102369190611e22565b60405180910390f35b34801561024b57600080fd5b50610254610573565b005b34801561026257600080fd5b5061027d60048036038101906102789190611e3d565b610610565b60405161028a9190611d98565b60405180910390f35b34801561029f57600080fd5b506102a8610659565b005b3480156102b657600080fd5b506102bf6107ac565b005b3480156102cd57600080fd5b506102d66108dc565b6040516102e39190611d98565b60405180910390f35b3480156102f857600080fd5b506103016108e2565b60405161030e9190611e79565b60405180910390f35b34801561032357600080fd5b5061032c61090b565b6040516103399190611d98565b60405180910390f35b34801561034e57600080fd5b50610357610911565b6040516103649190611c58565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190611d13565b61094e565b6040516103a19190611d6e565b60405180910390f35b3480156103b657600080fd5b506103bf61096c565b6040516103cc9190611d98565b60405180910390f35b3480156103e157600080fd5b506103ea610972565b005b3480156103f857600080fd5b50610413600480360381019061040e9190611e94565b610c2e565b6040516104209190611d98565b60405180910390f35b6060604051806060016040528060338152602001612acc60339139905090565b600061045d610456610cb5565b8484610cbd565b6001905092915050565b60105481565b60006009600a61047d9190612036565b633b9aca0061048c9190612081565b905090565b600061049e848484610e86565b61055f846104aa610cb5565b61055a85604051806060016040528060288152602001612aa460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610510610cb5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116979092919063ffffffff16565b610cbd565b600190509392505050565b60006009905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b4610cb5565b73ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b60006105df30610610565b905060008111156105f4576105f3816116fb565b5b6000479050600081111561060c5761060b81611974565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610661610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e59061210f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b4610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108389061210f565b60405180910390fd5b6009600a61084f9190612036565b633b9aca0061085e9190612081565b600d819055506009600a6108729190612036565b633b9aca006108819190612081565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108b69190612036565b633b9aca006108c59190612081565b6040516108d29190611d98565b60405180910390a1565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600481526020017f4d41474100000000000000000000000000000000000000000000000000000000815250905090565b600061096261095b610cb5565b8484610e86565b6001905092915050565b600f5481565b61097a610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe9061210f565b60405180910390fd5b601260149054906101000a900460ff1615610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4e9061217b565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa030610610565b600080610aab6108e2565b426040518863ffffffff1660e01b8152600401610acd969594939291906121e0565b60606040518083038185885af1158015610aeb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b109190612256565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bb29291906122a9565b6020604051808303816000875af1158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf591906122fe565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d239061239d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d929061242f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e799190611d98565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eec906124c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612553565b60405180910390fd5b60008111610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e906125e5565b60405180910390fd5b6000610fb16108e2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561101f5750610fef6108e2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113da576110606064611052600954600c541161103f57600554611043565b6007545b856119e090919063ffffffff16565b611a5a90919063ffffffff16565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561110d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111635750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561121e57600d548211156111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612651565b60405180910390fd5b600e54826111ba85610610565b6111c49190612671565b1115611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc906126f1565b60405180910390fd5b600c600081548092919061121890612711565b91905055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112a757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156112eb576112e860646112da600a54600c54116112c7576006546112cb565b6008545b856119e090919063ffffffff16565b611a5a90919063ffffffff16565b90505b60006112f630610610565b9050601260159054906101000a900460ff161580156113625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561137a5750601260169054906101000a900460ff165b80156113875750600f5481115b80156113965750600b54600c54115b156113d8576113b86113b3846113ae84601054611aa4565b611aa4565b6116fb565b60004790506611c37937e080008111156113d6576113d547611974565b5b505b505b60008111156114de5761143581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d59190611d98565b60405180910390a35b61153082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b1b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115d76115898284611b1b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abd90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61167c8486611b1b90919063ffffffff16565b6040516116899190611d98565b60405180910390a350505050565b60008383111582906116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d69190611c58565b60405180910390fd5b50600083856116ee9190612759565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117335761173261278d565b5b6040519080825280602002602001820160405280156117615781602001602082028036833780820191505090505b5090503081600081518110611779576117786127bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118449190612800565b81600181518110611858576118576127bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cbd565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119239594939291906128eb565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119dc573d6000803e3d6000fd5b5050565b60008083036119f25760009050611a54565b60008284611a009190612081565b9050828482611a0f9190612974565b14611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4690612a17565b60405180910390fd5b809150505b92915050565b6000611a9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b65565b905092915050565b6000818311611ab35782611ab5565b815b905092915050565b6000808284611acc9190612671565b905083811015611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612a83565b60405180910390fd5b8091505092915050565b6000611b5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611697565b905092915050565b60008083118290611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba39190611c58565b60405180910390fd5b5060008385611bbb9190612974565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c02578082015181840152602081019050611be7565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c2a82611bc8565b611c348185611bd3565b9350611c44818560208601611be4565b611c4d81611c0e565b840191505092915050565b60006020820190508181036000830152611c728184611c1f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611caa82611c7f565b9050919050565b611cba81611c9f565b8114611cc557600080fd5b50565b600081359050611cd781611cb1565b92915050565b6000819050919050565b611cf081611cdd565b8114611cfb57600080fd5b50565b600081359050611d0d81611ce7565b92915050565b60008060408385031215611d2a57611d29611c7a565b5b6000611d3885828601611cc8565b9250506020611d4985828601611cfe565b9150509250929050565b60008115159050919050565b611d6881611d53565b82525050565b6000602082019050611d836000830184611d5f565b92915050565b611d9281611cdd565b82525050565b6000602082019050611dad6000830184611d89565b92915050565b600080600060608486031215611dcc57611dcb611c7a565b5b6000611dda86828701611cc8565b9350506020611deb86828701611cc8565b9250506040611dfc86828701611cfe565b9150509250925092565b600060ff82169050919050565b611e1c81611e06565b82525050565b6000602082019050611e376000830184611e13565b92915050565b600060208284031215611e5357611e52611c7a565b5b6000611e6184828501611cc8565b91505092915050565b611e7381611c9f565b82525050565b6000602082019050611e8e6000830184611e6a565b92915050565b60008060408385031215611eab57611eaa611c7a565b5b6000611eb985828601611cc8565b9250506020611eca85828601611cc8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611f5a57808604811115611f3657611f35611ed4565b5b6001851615611f455780820291505b8081029050611f5385611f03565b9450611f1a565b94509492505050565b600082611f73576001905061202f565b81611f81576000905061202f565b8160018114611f975760028114611fa157611fd0565b600191505061202f565b60ff841115611fb357611fb2611ed4565b5b8360020a915084821115611fca57611fc9611ed4565b5b5061202f565b5060208310610133831016604e8410600b84101617156120055782820a90508381111561200057611fff611ed4565b5b61202f565b6120128484846001611f10565b9250905081840481111561202957612028611ed4565b5b81810290505b9392505050565b600061204182611cdd565b915061204c83611e06565b92506120797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f63565b905092915050565b600061208c82611cdd565b915061209783611cdd565b92508282026120a581611cdd565b915082820484148315176120bc576120bb611ed4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f9602083611bd3565b9150612104826120c3565b602082019050919050565b60006020820190508181036000830152612128816120ec565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612165601783611bd3565b91506121708261212f565b602082019050919050565b6000602082019050818103600083015261219481612158565b9050919050565b6000819050919050565b6000819050919050565b60006121ca6121c56121c08461219b565b6121a5565b611cdd565b9050919050565b6121da816121af565b82525050565b600060c0820190506121f56000830189611e6a565b6122026020830188611d89565b61220f60408301876121d1565b61221c60608301866121d1565b6122296080830185611e6a565b61223660a0830184611d89565b979650505050505050565b60008151905061225081611ce7565b92915050565b60008060006060848603121561226f5761226e611c7a565b5b600061227d86828701612241565b935050602061228e86828701612241565b925050604061229f86828701612241565b9150509250925092565b60006040820190506122be6000830185611e6a565b6122cb6020830184611d89565b9392505050565b6122db81611d53565b81146122e657600080fd5b50565b6000815190506122f8816122d2565b92915050565b60006020828403121561231457612313611c7a565b5b6000612322848285016122e9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612387602483611bd3565b91506123928261232b565b604082019050919050565b600060208201905081810360008301526123b68161237a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612419602283611bd3565b9150612424826123bd565b604082019050919050565b600060208201905081810360008301526124488161240c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124ab602583611bd3565b91506124b68261244f565b604082019050919050565b600060208201905081810360008301526124da8161249e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061253d602383611bd3565b9150612548826124e1565b604082019050919050565b6000602082019050818103600083015261256c81612530565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125cf602983611bd3565b91506125da82612573565b604082019050919050565b600060208201905081810360008301526125fe816125c2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061263b601983611bd3565b915061264682612605565b602082019050919050565b6000602082019050818103600083015261266a8161262e565b9050919050565b600061267c82611cdd565b915061268783611cdd565b925082820190508082111561269f5761269e611ed4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006126db601a83611bd3565b91506126e6826126a5565b602082019050919050565b6000602082019050818103600083015261270a816126ce565b9050919050565b600061271c82611cdd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361274e5761274d611ed4565b5b600182019050919050565b600061276482611cdd565b915061276f83611cdd565b925082820390508181111561278757612786611ed4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127fa81611cb1565b92915050565b60006020828403121561281657612815611c7a565b5b6000612824848285016127eb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61286281611c9f565b82525050565b60006128748383612859565b60208301905092915050565b6000602082019050919050565b60006128988261282d565b6128a28185612838565b93506128ad83612849565b8060005b838110156128de5781516128c58882612868565b97506128d083612880565b9250506001810190506128b1565b5085935050505092915050565b600060a0820190506129006000830188611d89565b61290d60208301876121d1565b818103604083015261291f818661288d565b905061292e6060830185611e6a565b61293b6080830184611d89565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297f82611cdd565b915061298a83611cdd565b92508261299a57612999612945565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a01602183611bd3565b9150612a0c826129a5565b604082019050919050565b60006020820190508181036000830152612a30816129f4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a6d601b83611bd3565b9150612a7882612a37565b602082019050919050565b60006020820190508181036000830152612a9c81612a60565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365444f4e414c44205452554d5020454c454354494f4e20494e544552464552454e4345204e455645522053555252454e44455221a264697066735822122041bba870c5e071efb6cc7dd269c31e00b2579846b440d556a02815fd608e519364736f6c63430008130033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610342578063a9059cbb1461036d578063bf474bed146103aa578063c9567bf9146103d5578063dd62ed3e146103ec57610114565b8063751039fc146102aa5780637d1db4a5146102c15780638da5cb5b146102ec5780638f9a55c01461031757610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806351bc3c851461023f57806370a0823114610256578063715018a61461029357610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610429565b60405161013b9190611c58565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611d13565b610449565b6040516101789190611d6e565b60405180910390f35b34801561018d57600080fd5b50610196610467565b6040516101a39190611d98565b60405180910390f35b3480156101b857600080fd5b506101c161046d565b6040516101ce9190611d98565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611db3565b610491565b60405161020b9190611d6e565b60405180910390f35b34801561022057600080fd5b5061022961056a565b6040516102369190611e22565b60405180910390f35b34801561024b57600080fd5b50610254610573565b005b34801561026257600080fd5b5061027d60048036038101906102789190611e3d565b610610565b60405161028a9190611d98565b60405180910390f35b34801561029f57600080fd5b506102a8610659565b005b3480156102b657600080fd5b506102bf6107ac565b005b3480156102cd57600080fd5b506102d66108dc565b6040516102e39190611d98565b60405180910390f35b3480156102f857600080fd5b506103016108e2565b60405161030e9190611e79565b60405180910390f35b34801561032357600080fd5b5061032c61090b565b6040516103399190611d98565b60405180910390f35b34801561034e57600080fd5b50610357610911565b6040516103649190611c58565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190611d13565b61094e565b6040516103a19190611d6e565b60405180910390f35b3480156103b657600080fd5b506103bf61096c565b6040516103cc9190611d98565b60405180910390f35b3480156103e157600080fd5b506103ea610972565b005b3480156103f857600080fd5b50610413600480360381019061040e9190611e94565b610c2e565b6040516104209190611d98565b60405180910390f35b6060604051806060016040528060338152602001612acc60339139905090565b600061045d610456610cb5565b8484610cbd565b6001905092915050565b60105481565b60006009600a61047d9190612036565b633b9aca0061048c9190612081565b905090565b600061049e848484610e86565b61055f846104aa610cb5565b61055a85604051806060016040528060288152602001612aa460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610510610cb5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116979092919063ffffffff16565b610cbd565b600190509392505050565b60006009905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b4610cb5565b73ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b60006105df30610610565b905060008111156105f4576105f3816116fb565b5b6000479050600081111561060c5761060b81611974565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610661610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e59061210f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b4610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610841576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108389061210f565b60405180910390fd5b6009600a61084f9190612036565b633b9aca0061085e9190612081565b600d819055506009600a6108729190612036565b633b9aca006108819190612081565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108b69190612036565b633b9aca006108c59190612081565b6040516108d29190611d98565b60405180910390a1565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600481526020017f4d41474100000000000000000000000000000000000000000000000000000000815250905090565b600061096261095b610cb5565b8484610e86565b6001905092915050565b600f5481565b61097a610cb5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe9061210f565b60405180910390fd5b601260149054906101000a900460ff1615610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4e9061217b565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa030610610565b600080610aab6108e2565b426040518863ffffffff1660e01b8152600401610acd969594939291906121e0565b60606040518083038185885af1158015610aeb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b109190612256565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bb29291906122a9565b6020604051808303816000875af1158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf591906122fe565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d239061239d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d929061242f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e799190611d98565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eec906124c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612553565b60405180910390fd5b60008111610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e906125e5565b60405180910390fd5b6000610fb16108e2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561101f5750610fef6108e2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113da576110606064611052600954600c541161103f57600554611043565b6007545b856119e090919063ffffffff16565b611a5a90919063ffffffff16565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561110d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111635750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561121e57600d548211156111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612651565b60405180910390fd5b600e54826111ba85610610565b6111c49190612671565b1115611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc906126f1565b60405180910390fd5b600c600081548092919061121890612711565b91905055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112a757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156112eb576112e860646112da600a54600c54116112c7576006546112cb565b6008545b856119e090919063ffffffff16565b611a5a90919063ffffffff16565b90505b60006112f630610610565b9050601260159054906101000a900460ff161580156113625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561137a5750601260169054906101000a900460ff165b80156113875750600f5481115b80156113965750600b54600c54115b156113d8576113b86113b3846113ae84601054611aa4565b611aa4565b6116fb565b60004790506611c37937e080008111156113d6576113d547611974565b5b505b505b60008111156114de5761143581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d59190611d98565b60405180910390a35b61153082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b1b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115d76115898284611b1b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abd90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61167c8486611b1b90919063ffffffff16565b6040516116899190611d98565b60405180910390a350505050565b60008383111582906116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d69190611c58565b60405180910390fd5b50600083856116ee9190612759565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117335761173261278d565b5b6040519080825280602002602001820160405280156117615781602001602082028036833780820191505090505b5090503081600081518110611779576117786127bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118449190612800565b81600181518110611858576118576127bc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cbd565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119239594939291906128eb565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119dc573d6000803e3d6000fd5b5050565b60008083036119f25760009050611a54565b60008284611a009190612081565b9050828482611a0f9190612974565b14611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4690612a17565b60405180910390fd5b809150505b92915050565b6000611a9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b65565b905092915050565b6000818311611ab35782611ab5565b815b905092915050565b6000808284611acc9190612671565b905083811015611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0890612a83565b60405180910390fd5b8091505092915050565b6000611b5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611697565b905092915050565b60008083118290611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba39190611c58565b60405180910390fd5b5060008385611bbb9190612974565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c02578082015181840152602081019050611be7565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c2a82611bc8565b611c348185611bd3565b9350611c44818560208601611be4565b611c4d81611c0e565b840191505092915050565b60006020820190508181036000830152611c728184611c1f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611caa82611c7f565b9050919050565b611cba81611c9f565b8114611cc557600080fd5b50565b600081359050611cd781611cb1565b92915050565b6000819050919050565b611cf081611cdd565b8114611cfb57600080fd5b50565b600081359050611d0d81611ce7565b92915050565b60008060408385031215611d2a57611d29611c7a565b5b6000611d3885828601611cc8565b9250506020611d4985828601611cfe565b9150509250929050565b60008115159050919050565b611d6881611d53565b82525050565b6000602082019050611d836000830184611d5f565b92915050565b611d9281611cdd565b82525050565b6000602082019050611dad6000830184611d89565b92915050565b600080600060608486031215611dcc57611dcb611c7a565b5b6000611dda86828701611cc8565b9350506020611deb86828701611cc8565b9250506040611dfc86828701611cfe565b9150509250925092565b600060ff82169050919050565b611e1c81611e06565b82525050565b6000602082019050611e376000830184611e13565b92915050565b600060208284031215611e5357611e52611c7a565b5b6000611e6184828501611cc8565b91505092915050565b611e7381611c9f565b82525050565b6000602082019050611e8e6000830184611e6a565b92915050565b60008060408385031215611eab57611eaa611c7a565b5b6000611eb985828601611cc8565b9250506020611eca85828601611cc8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611f5a57808604811115611f3657611f35611ed4565b5b6001851615611f455780820291505b8081029050611f5385611f03565b9450611f1a565b94509492505050565b600082611f73576001905061202f565b81611f81576000905061202f565b8160018114611f975760028114611fa157611fd0565b600191505061202f565b60ff841115611fb357611fb2611ed4565b5b8360020a915084821115611fca57611fc9611ed4565b5b5061202f565b5060208310610133831016604e8410600b84101617156120055782820a90508381111561200057611fff611ed4565b5b61202f565b6120128484846001611f10565b9250905081840481111561202957612028611ed4565b5b81810290505b9392505050565b600061204182611cdd565b915061204c83611e06565b92506120797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f63565b905092915050565b600061208c82611cdd565b915061209783611cdd565b92508282026120a581611cdd565b915082820484148315176120bc576120bb611ed4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f9602083611bd3565b9150612104826120c3565b602082019050919050565b60006020820190508181036000830152612128816120ec565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612165601783611bd3565b91506121708261212f565b602082019050919050565b6000602082019050818103600083015261219481612158565b9050919050565b6000819050919050565b6000819050919050565b60006121ca6121c56121c08461219b565b6121a5565b611cdd565b9050919050565b6121da816121af565b82525050565b600060c0820190506121f56000830189611e6a565b6122026020830188611d89565b61220f60408301876121d1565b61221c60608301866121d1565b6122296080830185611e6a565b61223660a0830184611d89565b979650505050505050565b60008151905061225081611ce7565b92915050565b60008060006060848603121561226f5761226e611c7a565b5b600061227d86828701612241565b935050602061228e86828701612241565b925050604061229f86828701612241565b9150509250925092565b60006040820190506122be6000830185611e6a565b6122cb6020830184611d89565b9392505050565b6122db81611d53565b81146122e657600080fd5b50565b6000815190506122f8816122d2565b92915050565b60006020828403121561231457612313611c7a565b5b6000612322848285016122e9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612387602483611bd3565b91506123928261232b565b604082019050919050565b600060208201905081810360008301526123b68161237a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612419602283611bd3565b9150612424826123bd565b604082019050919050565b600060208201905081810360008301526124488161240c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124ab602583611bd3565b91506124b68261244f565b604082019050919050565b600060208201905081810360008301526124da8161249e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061253d602383611bd3565b9150612548826124e1565b604082019050919050565b6000602082019050818103600083015261256c81612530565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125cf602983611bd3565b91506125da82612573565b604082019050919050565b600060208201905081810360008301526125fe816125c2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061263b601983611bd3565b915061264682612605565b602082019050919050565b6000602082019050818103600083015261266a8161262e565b9050919050565b600061267c82611cdd565b915061268783611cdd565b925082820190508082111561269f5761269e611ed4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006126db601a83611bd3565b91506126e6826126a5565b602082019050919050565b6000602082019050818103600083015261270a816126ce565b9050919050565b600061271c82611cdd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361274e5761274d611ed4565b5b600182019050919050565b600061276482611cdd565b915061276f83611cdd565b925082820390508181111561278757612786611ed4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127fa81611cb1565b92915050565b60006020828403121561281657612815611c7a565b5b6000612824848285016127eb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61286281611c9f565b82525050565b60006128748383612859565b60208301905092915050565b6000602082019050919050565b60006128988261282d565b6128a28185612838565b93506128ad83612849565b8060005b838110156128de5781516128c58882612868565b97506128d083612880565b9250506001810190506128b1565b5085935050505092915050565b600060a0820190506129006000830188611d89565b61290d60208301876121d1565b818103604083015261291f818661288d565b905061292e6060830185611e6a565b61293b6080830184611d89565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297f82611cdd565b915061298a83611cdd565b92508261299a57612999612945565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a01602183611bd3565b9150612a0c826129a5565b604082019050919050565b60006020820190508181036000830152612a30816129f4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a6d601b83611bd3565b9150612a7882612a37565b602082019050919050565b60006020820190508181036000830152612a9c81612a60565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365444f4e414c44205452554d5020454c454354494f4e20494e544552464552454e4345204e455645522053555252454e44455221a264697066735822122041bba870c5e071efb6cc7dd269c31e00b2579846b440d556a02815fd608e519364736f6c63430008130033
Deployed Bytecode Sourcemap
5342:8307:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7528:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8411:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6456:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7805:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8605:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7714:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13280:366;;;;;;;;;;;;;:::i;:::-;;7908:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4367:148;;;;;;;;;;;;;:::i;:::-;;12482:162;;;;;;;;;;;;;:::i;:::-;;6261:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4153:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6324:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7619:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8035:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6389:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12752:483;;;;;;;;;;;;;:::i;:::-;;8235:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7528:83;7565:13;7598:5;;;;;;;;;;;;;;;;;7591:12;;7528:83;:::o;8411:186::-;8511:4;8528:39;8537:12;:10;:12::i;:::-;8551:7;8560:6;8528:8;:39::i;:::-;8585:4;8578:11;;8411:186;;;;:::o;6456:54::-;;;;:::o;7805:95::-;7858:7;6021:1;6077:2;:15;;;;:::i;:::-;6064:10;:28;;;;:::i;:::-;7878:14;;7805:95;:::o;8605:446::-;8737:4;8754:36;8764:6;8772:9;8783:6;8754:9;:36::i;:::-;8801:220;8824:6;8845:12;:10;:12::i;:::-;8872:138;8928:6;8872:138;;;;;;;;;;;;;;;;;:11;:19;8884:6;8872:19;;;;;;;;;;;;;;;:33;8892:12;:10;:12::i;:::-;8872:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8801:8;:220::i;:::-;9039:4;9032:11;;8605:446;;;;;:::o;7714:83::-;7755:5;6021:1;7773:16;;7714:83;:::o;13280:366::-;13346:10;;;;;;;;;;;13330:26;;:12;:10;:12::i;:::-;:26;;;13322:35;;;;;;13368:20;13391:24;13409:4;13391:9;:24::i;:::-;13368:47;;13445:1;13430:12;:16;13426:79;;;13463:30;13480:12;13463:16;:30::i;:::-;13426:79;13515:18;13536:21;13515:42;;13585:1;13572:10;:14;13568:71;;;13603:24;13616:10;13603:12;:24::i;:::-;13568:71;13311:335;;13280:366::o;7908:119::-;7974:7;8001:9;:18;8011:7;8001:18;;;;;;;;;;;;;;;;7994:25;;7908:119;;;:::o;4367:148::-;4290:12;:10;:12::i;:::-;4280:22;;:6;;;;;;;;;;:22;;;4272:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4474:1:::1;4437:40;;4458:6;::::0;::::1;;;;;;;;4437:40;;;;;;;;;;;;4505:1;4488:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4367:148::o:0;12482:162::-;4290:12;:10;:12::i;:::-;4280:22;;:6;;;;;;;;;;:22;;;4272:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6021:1:::1;6077:2;:15;;;;:::i;:::-;6064:10;:28;;;;:::i;:::-;12536:12;:22;;;;6021:1;6077:2;:15;;;;:::i;:::-;6064:10;:28;;;;:::i;:::-;12569:14;:24;;;;12609:27;6021:1;6077:2;:15;;;;:::i;:::-;6064:10;:28;;;;:::i;:::-;12609:27;;;;;;:::i;:::-;;;;;;;;12482:162::o:0;6261:56::-;;;;:::o;4153:79::-;4191:7;4218:6;;;;;;;;;;;4211:13;;4153:79;:::o;6324:58::-;;;;:::o;7619:87::-;7658:13;7691:7;;;;;;;;;;;;;;;;;7684:14;;7619:87;:::o;8035:192::-;8138:4;8155:42;8165:12;:10;:12::i;:::-;8179:9;8190:6;8155:9;:42::i;:::-;8215:4;8208:11;;8035:192;;;;:::o;6389:60::-;;;;:::o;12752:483::-;4290:12;:10;:12::i;:::-;4280:22;;:6;;;;;;;;;;:22;;;4272:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12814:11:::1;;;;;;;;;;;12813:12;12805:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12864:15;;;;;;;;;;;:31;;;12903:21;12948:4;12968:24;12986:4;12968:9;:24::i;:::-;13007:1;13023::::0;13039:7:::1;:5;:7::i;:::-;13061:15;12864:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13105:13;;;;;;;;;;;13098:29;;;13136:15;;;;;;;;;;;13154:14;13098:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13194:4;13180:11;;:18;;;;;;;;;;;;;;;;;;13223:4;13209:11;;:18;;;;;;;;;;;;;;;;;;12752:483::o:0;8235:168::-;8341:7;8368:11;:18;8380:5;8368:18;;;;;;;;;;;;;;;:27;8387:7;8368:27;;;;;;;;;;;;;;;;8361:34;;8235:168;;;;:::o;1688:98::-;1741:7;1768:10;1761:17;;1688:98;:::o;9059:335::-;9169:1;9152:19;;:5;:19;;;9144:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9250:1;9231:21;;:7;:21;;;9223:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9332:6;9302:11;:18;9314:5;9302:18;;;;;;;;;;;;;;;:27;9321:7;9302:27;;;;;;;;;;;;;;;:36;;;;9370:7;9354:32;;9363:5;9354:32;;;9379:6;9354:32;;;;;;:::i;:::-;;;;;;;;9059:335;;;:::o;9402:2466::-;9506:1;9490:18;;:4;:18;;;9482:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9583:1;9569:16;;:2;:16;;;9561:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9653:1;9644:6;:10;9636:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9711:17;9755:7;:5;:7::i;:::-;9747:15;;:4;:15;;;;:32;;;;;9772:7;:5;:7::i;:::-;9766:13;;:2;:13;;;;9747:32;9743:1754;;;9808:208;10012:3;9808:181;9872:15;;9860:9;;:27;9859:111;;9956:14;;9859:111;;;9916:12;;9859:111;9808:6;:28;;:181;;;;:::i;:::-;:203;;:208;;;;:::i;:::-;9796:220;;10063:13;;;;;;;;;;;10055:21;;:4;:21;;;:72;;;;;10111:15;;;;;;;;;;;10097:30;;:2;:30;;;;10055:72;:116;;;;;10149:18;:22;10168:2;10149:22;;;;;;;;;;;;;;;;;;;;;;;;;10148:23;10055:116;10033:438;;;10224:12;;10214:6;:22;;10206:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10341:14;;10331:6;10315:13;10325:2;10315:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10285:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;10444:9;;:11;;;;;;;;;:::i;:::-;;;;;;10033:438;10497:13;;;;;;;;;;;10491:19;;:2;:19;;;:44;;;;;10530:4;10514:21;;:4;:21;;;;10491:44;10487:332;;;10568:235;10799:3;10568:204;10640:16;;10628:9;;:28;10627:122;;10734:15;;10627:122;;;10689:13;;10627:122;10568:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;10556:247;;10487:332;10835:28;10866:24;10884:4;10866:9;:24::i;:::-;10835:55;;10928:6;;;;;;;;;;;10927:7;:47;;;;;10961:13;;;;;;;;;;;10955:19;;:2;:19;;;10927:47;:79;;;;;10995:11;;;;;;;;;;;10927:79;:140;;;;;11050:17;;11027:20;:40;10927:140;:191;;;;;11100:18;;11088:9;;:30;10927:191;10905:581;;;11153:109;11192:51;11196:6;11204:38;11208:20;11230:11;;11204:3;:38::i;:::-;11192:3;:51::i;:::-;11153:16;:109::i;:::-;11281:26;11310:21;11281:50;;11375:16;11354:18;:37;11350:121;;;11416:35;11429:21;11416:12;:35::i;:::-;11350:121;11134:352;10905:581;9781:1716;9743:1754;11525:1;11513:9;:13;11509:172;;;11570:39;11599:9;11570;:24;11588:4;11570:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11543:9;:24;11561:4;11543:24;;;;;;;;;;;;;;;:66;;;;11652:4;11629:40;;11638:4;11629:40;;;11659:9;11629:40;;;;;;:::i;:::-;;;;;;;;11509:172;11709:27;11729:6;11709:9;:15;11719:4;11709:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11691:9;:15;11701:4;11691:15;;;;;;;;;;;;;;;:45;;;;11763:40;11781:21;11792:9;11781:6;:10;;:21;;;;:::i;:::-;11763:9;:13;11773:2;11763:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11747:9;:13;11757:2;11747:13;;;;;;;;;;;;;;;:56;;;;11834:2;11819:41;;11828:4;11819:41;;;11838:21;11849:9;11838:6;:10;;:21;;;;:::i;:::-;11819:41;;;;;;:::i;:::-;;;;;;;;9471:2397;9402:2466;;;:::o;2955:224::-;3075:7;3108:1;3103;:6;;3111:12;3095:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3135:9;3151:1;3147;:5;;;;:::i;:::-;3135:17;;3170:1;3163:8;;;2955:224;;;;;:::o;11991:483::-;6803:4;6794:6;;:13;;;;;;;;;;;;;;;;;;12069:21:::1;12107:1;12093:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12069:40;;12138:4;12120;12125:1;12120:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12164:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12154:4;12159:1;12154:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12197:62;12214:4;12229:15;;;;;;;;;;;12247:11;12197:8;:62::i;:::-;12270:15;;;;;;;;;;;:66;;;12351:11;12377:1;12393:4;12420;12440:15;12270:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12058:416;6839:5:::0;6830:6;;:14;;;;;;;;;;;;;;;;;;11991:483;:::o;12652:92::-;12709:10;;;;;;;;;;;:19;;:27;12729:6;12709:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12652:92;:::o;3187:246::-;3245:7;3274:1;3269;:6;3265:47;;3299:1;3292:8;;;;3265:47;3322:9;3338:1;3334;:5;;;;:::i;:::-;3322:17;;3367:1;3362;3358;:5;;;;:::i;:::-;:10;3350:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3424:1;3417:8;;;3187:246;;;;;:::o;3441:132::-;3499:7;3526:39;3530:1;3533;3526:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3519:46;;3441:132;;;;:::o;11876:107::-;11933:7;11965:1;11961;:5;11960:15;;11974:1;11960:15;;;11970:1;11960:15;11953:22;;11876:107;;;;:::o;2624:179::-;2682:7;2702:9;2718:1;2714;:5;;;;:::i;:::-;2702:17;;2743:1;2738;:6;;2730:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2794:1;2787:8;;;2624:179;;;;:::o;2811:136::-;2869:7;2896:43;2900:1;2903;2896:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2889:50;;2811:136;;;;:::o;3581:223::-;3701:7;3733:1;3729;:5;3736:12;3721:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3760:9;3776:1;3772;:5;;;;:::i;:::-;3760:17;;3795:1;3788:8;;;3581:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:173::-;10075:25;10071:1;10063:6;10059:14;10052:49;9935:173;:::o;10114:366::-;10256:3;10277:67;10341:2;10336:3;10277:67;:::i;:::-;10270:74;;10353:93;10442:3;10353:93;:::i;:::-;10471:2;10466:3;10462:12;10455:19;;10114:366;;;:::o;10486:419::-;10652:4;10690:2;10679:9;10675:18;10667:26;;10739:9;10733:4;10729:20;10725:1;10714:9;10710:17;10703:47;10767:131;10893:4;10767:131;:::i;:::-;10759:139;;10486:419;;;:::o;10911:85::-;10956:7;10985:5;10974:16;;10911:85;;;:::o;11002:60::-;11030:3;11051:5;11044:12;;11002:60;;;:::o;11068:158::-;11126:9;11159:61;11177:42;11186:32;11212:5;11186:32;:::i;:::-;11177:42;:::i;:::-;11159:61;:::i;:::-;11146:74;;11068:158;;;:::o;11232:147::-;11327:45;11366:5;11327:45;:::i;:::-;11322:3;11315:58;11232:147;;:::o;11385:807::-;11634:4;11672:3;11661:9;11657:19;11649:27;;11686:71;11754:1;11743:9;11739:17;11730:6;11686:71;:::i;:::-;11767:72;11835:2;11824:9;11820:18;11811:6;11767:72;:::i;:::-;11849:80;11925:2;11914:9;11910:18;11901:6;11849:80;:::i;:::-;11939;12015:2;12004:9;12000:18;11991:6;11939:80;:::i;:::-;12029:73;12097:3;12086:9;12082:19;12073:6;12029:73;:::i;:::-;12112;12180:3;12169:9;12165:19;12156:6;12112:73;:::i;:::-;11385:807;;;;;;;;;:::o;12198:143::-;12255:5;12286:6;12280:13;12271:22;;12302:33;12329:5;12302:33;:::i;:::-;12198:143;;;;:::o;12347:663::-;12435:6;12443;12451;12500:2;12488:9;12479:7;12475:23;12471:32;12468:119;;;12506:79;;:::i;:::-;12468:119;12626:1;12651:64;12707:7;12698:6;12687:9;12683:22;12651:64;:::i;:::-;12641:74;;12597:128;12764:2;12790:64;12846:7;12837:6;12826:9;12822:22;12790:64;:::i;:::-;12780:74;;12735:129;12903:2;12929:64;12985:7;12976:6;12965:9;12961:22;12929:64;:::i;:::-;12919:74;;12874:129;12347:663;;;;;:::o;13016:332::-;13137:4;13175:2;13164:9;13160:18;13152:26;;13188:71;13256:1;13245:9;13241:17;13232:6;13188:71;:::i;:::-;13269:72;13337:2;13326:9;13322:18;13313:6;13269:72;:::i;:::-;13016:332;;;;;:::o;13354:116::-;13424:21;13439:5;13424:21;:::i;:::-;13417:5;13414:32;13404:60;;13460:1;13457;13450:12;13404:60;13354:116;:::o;13476:137::-;13530:5;13561:6;13555:13;13546:22;;13577:30;13601:5;13577:30;:::i;:::-;13476:137;;;;:::o;13619:345::-;13686:6;13735:2;13723:9;13714:7;13710:23;13706:32;13703:119;;;13741:79;;:::i;:::-;13703:119;13861:1;13886:61;13939:7;13930:6;13919:9;13915:22;13886:61;:::i;:::-;13876:71;;13832:125;13619:345;;;;:::o;13970:223::-;14110:34;14106:1;14098:6;14094:14;14087:58;14179:6;14174:2;14166:6;14162:15;14155:31;13970:223;:::o;14199:366::-;14341:3;14362:67;14426:2;14421:3;14362:67;:::i;:::-;14355:74;;14438:93;14527:3;14438:93;:::i;:::-;14556:2;14551:3;14547:12;14540:19;;14199:366;;;:::o;14571:419::-;14737:4;14775:2;14764:9;14760:18;14752:26;;14824:9;14818:4;14814:20;14810:1;14799:9;14795:17;14788:47;14852:131;14978:4;14852:131;:::i;:::-;14844:139;;14571:419;;;:::o;14996:221::-;15136:34;15132:1;15124:6;15120:14;15113:58;15205:4;15200:2;15192:6;15188:15;15181:29;14996:221;:::o;15223:366::-;15365:3;15386:67;15450:2;15445:3;15386:67;:::i;:::-;15379:74;;15462:93;15551:3;15462:93;:::i;:::-;15580:2;15575:3;15571:12;15564:19;;15223:366;;;:::o;15595:419::-;15761:4;15799:2;15788:9;15784:18;15776:26;;15848:9;15842:4;15838:20;15834:1;15823:9;15819:17;15812:47;15876:131;16002:4;15876:131;:::i;:::-;15868:139;;15595:419;;;:::o;16020:224::-;16160:34;16156:1;16148:6;16144:14;16137:58;16229:7;16224:2;16216:6;16212:15;16205:32;16020:224;:::o;16250:366::-;16392:3;16413:67;16477:2;16472:3;16413:67;:::i;:::-;16406:74;;16489:93;16578:3;16489:93;:::i;:::-;16607:2;16602:3;16598:12;16591:19;;16250:366;;;:::o;16622:419::-;16788:4;16826:2;16815:9;16811:18;16803:26;;16875:9;16869:4;16865:20;16861:1;16850:9;16846:17;16839:47;16903:131;17029:4;16903:131;:::i;:::-;16895:139;;16622:419;;;:::o;17047:222::-;17187:34;17183:1;17175:6;17171:14;17164:58;17256:5;17251:2;17243:6;17239:15;17232:30;17047:222;:::o;17275:366::-;17417:3;17438:67;17502:2;17497:3;17438:67;:::i;:::-;17431:74;;17514:93;17603:3;17514:93;:::i;:::-;17632:2;17627:3;17623:12;17616:19;;17275:366;;;:::o;17647:419::-;17813:4;17851:2;17840:9;17836:18;17828:26;;17900:9;17894:4;17890:20;17886:1;17875:9;17871:17;17864:47;17928:131;18054:4;17928:131;:::i;:::-;17920:139;;17647:419;;;:::o;18072:228::-;18212:34;18208:1;18200:6;18196:14;18189:58;18281:11;18276:2;18268:6;18264:15;18257:36;18072:228;:::o;18306:366::-;18448:3;18469:67;18533:2;18528:3;18469:67;:::i;:::-;18462:74;;18545:93;18634:3;18545:93;:::i;:::-;18663:2;18658:3;18654:12;18647:19;;18306:366;;;:::o;18678:419::-;18844:4;18882:2;18871:9;18867:18;18859:26;;18931:9;18925:4;18921:20;18917:1;18906:9;18902:17;18895:47;18959:131;19085:4;18959:131;:::i;:::-;18951:139;;18678:419;;;:::o;19103:175::-;19243:27;19239:1;19231:6;19227:14;19220:51;19103:175;:::o;19284:366::-;19426:3;19447:67;19511:2;19506:3;19447:67;:::i;:::-;19440:74;;19523:93;19612:3;19523:93;:::i;:::-;19641:2;19636:3;19632:12;19625:19;;19284:366;;;:::o;19656:419::-;19822:4;19860:2;19849:9;19845:18;19837:26;;19909:9;19903:4;19899:20;19895:1;19884:9;19880:17;19873:47;19937:131;20063:4;19937:131;:::i;:::-;19929:139;;19656:419;;;:::o;20081:191::-;20121:3;20140:20;20158:1;20140:20;:::i;:::-;20135:25;;20174:20;20192:1;20174:20;:::i;:::-;20169:25;;20217:1;20214;20210:9;20203:16;;20238:3;20235:1;20232:10;20229:36;;;20245:18;;:::i;:::-;20229:36;20081:191;;;;:::o;20278:176::-;20418:28;20414:1;20406:6;20402:14;20395:52;20278:176;:::o;20460:366::-;20602:3;20623:67;20687:2;20682:3;20623:67;:::i;:::-;20616:74;;20699:93;20788:3;20699:93;:::i;:::-;20817:2;20812:3;20808:12;20801:19;;20460:366;;;:::o;20832:419::-;20998:4;21036:2;21025:9;21021:18;21013:26;;21085:9;21079:4;21075:20;21071:1;21060:9;21056:17;21049:47;21113:131;21239:4;21113:131;:::i;:::-;21105:139;;20832:419;;;:::o;21257:233::-;21296:3;21319:24;21337:5;21319:24;:::i;:::-;21310:33;;21365:66;21358:5;21355:77;21352:103;;21435:18;;:::i;:::-;21352:103;21482:1;21475:5;21471:13;21464:20;;21257:233;;;:::o;21496:194::-;21536:4;21556:20;21574:1;21556:20;:::i;:::-;21551:25;;21590:20;21608:1;21590:20;:::i;:::-;21585:25;;21634:1;21631;21627:9;21619:17;;21658:1;21652:4;21649:11;21646:37;;;21663:18;;:::i;:::-;21646:37;21496:194;;;;:::o;21696:180::-;21744:77;21741:1;21734:88;21841:4;21838:1;21831:15;21865:4;21862:1;21855:15;21882:180;21930:77;21927:1;21920:88;22027:4;22024:1;22017:15;22051:4;22048:1;22041:15;22068:143;22125:5;22156:6;22150:13;22141:22;;22172:33;22199:5;22172:33;:::i;:::-;22068:143;;;;:::o;22217:351::-;22287:6;22336:2;22324:9;22315:7;22311:23;22307:32;22304:119;;;22342:79;;:::i;:::-;22304:119;22462:1;22487:64;22543:7;22534:6;22523:9;22519:22;22487:64;:::i;:::-;22477:74;;22433:128;22217:351;;;;:::o;22574:114::-;22641:6;22675:5;22669:12;22659:22;;22574:114;;;:::o;22694:184::-;22793:11;22827:6;22822:3;22815:19;22867:4;22862:3;22858:14;22843:29;;22694:184;;;;:::o;22884:132::-;22951:4;22974:3;22966:11;;23004:4;22999:3;22995:14;22987:22;;22884:132;;;:::o;23022:108::-;23099:24;23117:5;23099:24;:::i;:::-;23094:3;23087:37;23022:108;;:::o;23136:179::-;23205:10;23226:46;23268:3;23260:6;23226:46;:::i;:::-;23304:4;23299:3;23295:14;23281:28;;23136:179;;;;:::o;23321:113::-;23391:4;23423;23418:3;23414:14;23406:22;;23321:113;;;:::o;23470:732::-;23589:3;23618:54;23666:5;23618:54;:::i;:::-;23688:86;23767:6;23762:3;23688:86;:::i;:::-;23681:93;;23798:56;23848:5;23798:56;:::i;:::-;23877:7;23908:1;23893:284;23918:6;23915:1;23912:13;23893:284;;;23994:6;23988:13;24021:63;24080:3;24065:13;24021:63;:::i;:::-;24014:70;;24107:60;24160:6;24107:60;:::i;:::-;24097:70;;23953:224;23940:1;23937;23933:9;23928:14;;23893:284;;;23897:14;24193:3;24186:10;;23594:608;;;23470:732;;;;:::o;24208:831::-;24471:4;24509:3;24498:9;24494:19;24486:27;;24523:71;24591:1;24580:9;24576:17;24567:6;24523:71;:::i;:::-;24604:80;24680:2;24669:9;24665:18;24656:6;24604:80;:::i;:::-;24731:9;24725:4;24721:20;24716:2;24705:9;24701:18;24694:48;24759:108;24862:4;24853:6;24759:108;:::i;:::-;24751:116;;24877:72;24945:2;24934:9;24930:18;24921:6;24877:72;:::i;:::-;24959:73;25027:3;25016:9;25012:19;25003:6;24959:73;:::i;:::-;24208:831;;;;;;;;:::o;25045:180::-;25093:77;25090:1;25083:88;25190:4;25187:1;25180:15;25214:4;25211:1;25204:15;25231:185;25271:1;25288:20;25306:1;25288:20;:::i;:::-;25283:25;;25322:20;25340:1;25322:20;:::i;:::-;25317:25;;25361:1;25351:35;;25366:18;;:::i;:::-;25351:35;25408:1;25405;25401:9;25396:14;;25231:185;;;;:::o;25422:220::-;25562:34;25558:1;25550:6;25546:14;25539:58;25631:3;25626:2;25618:6;25614:15;25607:28;25422:220;:::o;25648:366::-;25790:3;25811:67;25875:2;25870:3;25811:67;:::i;:::-;25804:74;;25887:93;25976:3;25887:93;:::i;:::-;26005:2;26000:3;25996:12;25989:19;;25648:366;;;:::o;26020:419::-;26186:4;26224:2;26213:9;26209:18;26201:26;;26273:9;26267:4;26263:20;26259:1;26248:9;26244:17;26237:47;26301:131;26427:4;26301:131;:::i;:::-;26293:139;;26020:419;;;:::o;26445:177::-;26585:29;26581:1;26573:6;26569:14;26562:53;26445:177;:::o;26628:366::-;26770:3;26791:67;26855:2;26850:3;26791:67;:::i;:::-;26784:74;;26867:93;26956:3;26867:93;:::i;:::-;26985:2;26980:3;26976:12;26969:19;;26628:366;;;:::o;27000:419::-;27166:4;27204:2;27193:9;27189:18;27181:26;;27253:9;27247:4;27243:20;27239:1;27228:9;27224:17;27217:47;27281:131;27407:4;27281:131;:::i;:::-;27273:139;;27000:419;;;:::o
Swarm Source
ipfs://41bba870c5e071efb6cc7dd269c31e00b2579846b440d556a02815fd608e5193
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.