ERC-20
Overview
Max Total Supply
1,000,000,000 VSG
Holders
73
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 VSGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
VeryStableGenius
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-31 */ /* --------------------------- -------------------------------------- ---------------------------------------------- =------------------------------------------------------- ----------------------------------------------------------------- ------ -------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -------------=====---------------------------------------------------------------- -----------==+=+++====----------------------------------------------------------- ----------=+=============------------------------------------------------------= ---------=++===========+++=--------------------------------------------------=++ ---------++===========+++++ ----------------------------------------------==+++ ---------++=====+++++ -----------------------------------------=++=+++ ---------++=====++ -----------------------------------=======++ --------+=++++ =--------------------------==+++======+ --------+++ ------------ +++=======++ -------++ ++=====+++ ------ ++===++ ----- "I'm a very stable genius" +==+++ --- +++ ++ Typewriter: https://x.com/vsgeth Senate: https://t.me/VeryStableGeniusCoin Manifesto: https://stablegenius.vip/ */ // SPDX-License-Identifier: UNLICENSE pragma solidity ^0.8.27; 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 VeryStableGenius 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=15; uint256 private _initialSellTax=30; uint256 private _buyTax=0; uint256 private _sellTax=10; uint256 private _reduceBuyTaxAt=10; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=15; uint256 private _transferTax=15; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals; string private constant _name = unicode"Very Stable Genius"; string private constant _symbol = unicode"VSG"; uint256 public _maxTxAmount = 30_000_000 * 10**_decimals; uint256 public _maxWalletSize = 30_000_000 * 10**_decimals; uint256 public _taxSwapThreshold= 1_000_000 * 10**_decimals; uint256 public _maxTaxSwap= 7_500_000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _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() && to != _taxWallet) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the _maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_sellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimitW() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function updateTaxSwapThreshold(uint256 t) external onlyOwner() { _taxSwapThreshold = t * 10**_decimals; } function updateMaxTaxSwap(uint256 m) external onlyOwner() { _maxTaxSwap = m * 10**_decimals; } function reduceFee(uint256 _newBuyTax, uint256 _newSellTax, uint256 _newTransferTax) external{ require(_msgSender()==_taxWallet); require(_newBuyTax<=_buyTax && _newSellTax<=_sellTax && _newTransferTax<=_transferTax); _buyTax = _newBuyTax; _sellTax = _newSellTax; _transferTax = _newTransferTax; } 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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"internalType":"uint256","name":"_newBuyTax","type":"uint256"},{"internalType":"uint256","name":"_newSellTax","type":"uint256"},{"internalType":"uint256","name":"_newTransferTax","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimitW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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":"uint256","name":"m","type":"uint256"}],"name":"updateMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"t","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f600555601e6006555f600755600a600855600a6009556014600a55600f600b55600f600c555f600d556009600a61003d919061030b565b61004b906301c9c380610320565b600e5561005a6009600a61030b565b610068906301c9c380610320565b600f556100776009600a61030b565b61008490620f4240610320565b6010556100936009600a61030b565b6100a090627270e0610320565b6011556013805461ffff60a81b191690555f60148190556015553480156100c5575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556101246009600a61030b565b61013290633b9aca00610320565b335f90815260016020819052604082209290925560039061015a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556101b73390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101ee6009600a61030b565b6101fc90633b9aca00610320565b60405190815260200160405180910390a3610337565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102615780850481111561024557610245610212565b600184161561025357908102905b60019390931c92800261022a565b935093915050565b5f8261027757506001610305565b8161028357505f610305565b816001811461029957600281146102a3576102bf565b6001915050610305565b60ff8411156102b4576102b4610212565b50506001821b610305565b5060208310610133831016604e8410600b84101617156102e2575081810a610305565b6102ee5f198484610226565b805f190482111561030157610301610212565b0290505b92915050565b5f61031960ff841683610269565b9392505050565b808202811582820484141761030557610305610212565b6119cc806103445f395ff3fe608060405260043610610134575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b411461033f578063a9059cbb1461036a578063bf474bed14610389578063c9567bf91461039e578063cb4972a4146103b2578063dd62ed3e146103d1575f5ffd5b806370a08231146102a7578063715018a6146102db5780637d1db4a5146102ef5780638da5cb5b146103045780638f9a55c01461032a575f5ffd5b8063109daa99116100f9578063109daa991461021d57806318160ddd14610231578063234a6f2e1461024557806323b872dd14610259578063313ce5671461027857806351bc3c8514610293575f5ffd5b8063034832bd1461013f57806306fdde0314610160578063095ea7b3146101ac57806309df275e146101db5780630faee56f146101fa575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5061015e610159366004611591565b610415565b005b34801561016b575f5ffd5b506040805180820190915260128152715665727920537461626c652047656e69757360701b60208201525b6040516101a391906115a8565b60405180910390f35b3480156101b7575f5ffd5b506101cb6101c63660046115f4565b610463565b60405190151581526020016101a3565b3480156101e6575f5ffd5b5061015e6101f5366004611591565b610479565b348015610205575f5ffd5b5061020f60115481565b6040519081526020016101a3565b348015610228575f5ffd5b5061015e6104be565b34801561023c575f5ffd5b5061020f610523565b348015610250575f5ffd5b5061015e610543565b348015610264575f5ffd5b506101cb61027336600461161e565b6105ef565b348015610283575f5ffd5b50604051600981526020016101a3565b34801561029e575f5ffd5b5061015e610656565b3480156102b2575f5ffd5b5061020f6102c136600461165c565b6001600160a01b03165f9081526001602052604090205490565b3480156102e6575f5ffd5b5061015e6106a7565b3480156102fa575f5ffd5b5061020f600e5481565b34801561030f575f5ffd5b505f546040516001600160a01b0390911681526020016101a3565b348015610335575f5ffd5b5061020f600f5481565b34801561034a575f5ffd5b5060408051808201909152600381526256534760e81b6020820152610196565b348015610375575f5ffd5b506101cb6103843660046115f4565b610718565b348015610394575f5ffd5b5061020f60105481565b3480156103a9575f5ffd5b5061015e610724565b3480156103bd575f5ffd5b5061015e6103cc366004611677565b610acd565b3480156103dc575f5ffd5b5061020f6103eb3660046116a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104475760405162461bcd60e51b815260040161043e906116d7565b60405180910390fd5b6104536009600a611803565b61045d9082611811565b60105550565b5f61046f338484610b24565b5060015b92915050565b5f546001600160a01b031633146104a25760405162461bcd60e51b815260040161043e906116d7565b6104ae6009600a611803565b6104b89082611811565b60115550565b5f546001600160a01b031633146104e75760405162461bcd60e51b815260040161043e906116d7565b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6105306009600a611803565b61053e90633b9aca00611811565b905090565b5f546001600160a01b0316331461056c5760405162461bcd60e51b815260040161043e906116d7565b6105786009600a611803565b61058690633b9aca00611811565b600e556105956009600a611803565b6105a390633b9aca00611811565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105d36009600a611803565b6105e190633b9aca00611811565b604051908152602001610519565b5f6105fb848484610c47565b61064c84336106478560405180606001604052806028815260200161196f602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061120d565b610b24565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610675575f5ffd5b305f9081526001602052604090205480156106935761069381611245565b4780156106a3576106a3816113b5565b5050565b5f546001600160a01b031633146106d05760405162461bcd60e51b815260040161043e906116d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046f338484610c47565b5f546001600160a01b0316331461074d5760405162461bcd60e51b815260040161043e906116d7565b601354600160a01b900460ff16156107a75760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107f09030906107e26009600a611803565b61064790633b9aca00611811565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610840573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108649190611828565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190611828565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610931573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109559190611828565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061099c816001600160a01b03165f9081526001602052604090205490565b5f5f6109af5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a15573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a3a9190611843565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab3919061186e565b506013805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610aec575f5ffd5b6007548311158015610b0057506008548211155b8015610b0e5750600c548111155b610b16575f5ffd5b600792909255600855600c55565b6001600160a01b038316610b865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043e565b6001600160a01b038216610be75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043e565b6001600160a01b038216610d0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043e565b5f8111610d6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043e565b5f80546001600160a01b03858116911614801590610d9957505f546001600160a01b03848116911614155b8015610db357506004546001600160a01b03848116911614155b156110d057600d545f03610df057610ded6064610de7600954600d5411610ddc57600554610de0565b6007545b85906113ec565b90611471565b90505b600d5415610e1557610e126064610de7600c54856113ec90919063ffffffff16565b90505b6013546001600160a01b038581169116148015610e4057506012546001600160a01b03848116911614155b8015610e6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6757600e54821115610ebb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161043e565b600f5482610edd856001600160a01b03165f9081526001602052604090205490565b610ee7919061188d565b1115610f355760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865205f6d617857616c6c657453697a652e0000000000604482015260640161043e565b610f506064610de7600954600d5411610ddc57600554610de0565b600d80549192505f610f61836118a0565b91905055505b6013546001600160a01b038481169116148015610f8d57506001600160a01b0384163014155b15610fba57610fb76064610de7600a54600d5411610fad57600654610de0565b60085485906113ec565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ff057506013546001600160a01b038581169116145b80156110055750601354600160b01b900460ff165b8015611012575060105481115b80156110215750600b54600d54115b156110ce57601554431115611035575f6014555b6003601454106110875760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161043e565b6110a461109f8461109a846011546114b2565b6114b2565b611245565b4780156110b4576110b4476113b5565b60148054905f6110c3836118a0565b909155505043601555505b505b801561114857305f908152600160205260409020546110ef90826114c6565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461116a9083611524565b6001600160a01b0385165f908152600160205260409020556111ad61118f8383611524565b6001600160a01b0385165f90815260016020526040902054906114c6565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f68585611524565b60405190815260200160405180910390a350505050565b5f81848411156112305760405162461bcd60e51b815260040161043e91906115a8565b505f61123c84866118b8565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061128b5761128b6118cb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113069190611828565b81600181518110611319576113196118cb565b6001600160a01b03928316602091820292909201015260125461133f9130911684610b24565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113779085905f908690309042906004016118df565b5f604051808303815f87803b15801561138e575f5ffd5b505af11580156113a0573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a3573d5f5f3e3d5ffd5b5f825f036113fb57505f610473565b5f6114068385611811565b905082611413858361194f565b1461146a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043e565b9392505050565b5f61146a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611565565b5f8183116114c0578261146a565b50919050565b5f806114d2838561188d565b90508381101561146a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043e565b5f61146a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061120d565b5f81836115855760405162461bcd60e51b815260040161043e91906115a8565b505f61123c848661194f565b5f602082840312156115a1575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115f1575f5ffd5b50565b5f5f60408385031215611605575f5ffd5b8235611610816115dd565b946020939093013593505050565b5f5f5f60608486031215611630575f5ffd5b833561163b816115dd565b9250602084013561164b816115dd565b929592945050506040919091013590565b5f6020828403121561166c575f5ffd5b813561146a816115dd565b5f5f5f60608486031215611689575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156116b1575f5ffd5b82356116bc816115dd565b915060208301356116cc816115dd565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561175b5780850481111561173f5761173f61170c565b600184161561174d57908102905b60019390931c928002611724565b935093915050565b5f8261177157506001610473565b8161177d57505f610473565b8160018114611793576002811461179d576117b9565b6001915050610473565b60ff8411156117ae576117ae61170c565b50506001821b610473565b5060208310610133831016604e8410600b84101617156117dc575081810a610473565b6117e85f198484611720565b805f19048211156117fb576117fb61170c565b029392505050565b5f61146a60ff841683611763565b80820281158282048414176104735761047361170c565b5f60208284031215611838575f5ffd5b815161146a816115dd565b5f5f5f60608486031215611855575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561187e575f5ffd5b8151801515811461146a575f5ffd5b808201808211156104735761047361170c565b5f600182016118b1576118b161170c565b5060010190565b818103818111156104735761047361170c565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561192f5783516001600160a01b0316835260209384019390920191600101611908565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261196957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eda3bd64c3734abd52714f763ee26b81223b9167d196c15eefb9a3601e637af664736f6c634300081c0033
Deployed Bytecode
0x608060405260043610610134575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b411461033f578063a9059cbb1461036a578063bf474bed14610389578063c9567bf91461039e578063cb4972a4146103b2578063dd62ed3e146103d1575f5ffd5b806370a08231146102a7578063715018a6146102db5780637d1db4a5146102ef5780638da5cb5b146103045780638f9a55c01461032a575f5ffd5b8063109daa99116100f9578063109daa991461021d57806318160ddd14610231578063234a6f2e1461024557806323b872dd14610259578063313ce5671461027857806351bc3c8514610293575f5ffd5b8063034832bd1461013f57806306fdde0314610160578063095ea7b3146101ac57806309df275e146101db5780630faee56f146101fa575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5061015e610159366004611591565b610415565b005b34801561016b575f5ffd5b506040805180820190915260128152715665727920537461626c652047656e69757360701b60208201525b6040516101a391906115a8565b60405180910390f35b3480156101b7575f5ffd5b506101cb6101c63660046115f4565b610463565b60405190151581526020016101a3565b3480156101e6575f5ffd5b5061015e6101f5366004611591565b610479565b348015610205575f5ffd5b5061020f60115481565b6040519081526020016101a3565b348015610228575f5ffd5b5061015e6104be565b34801561023c575f5ffd5b5061020f610523565b348015610250575f5ffd5b5061015e610543565b348015610264575f5ffd5b506101cb61027336600461161e565b6105ef565b348015610283575f5ffd5b50604051600981526020016101a3565b34801561029e575f5ffd5b5061015e610656565b3480156102b2575f5ffd5b5061020f6102c136600461165c565b6001600160a01b03165f9081526001602052604090205490565b3480156102e6575f5ffd5b5061015e6106a7565b3480156102fa575f5ffd5b5061020f600e5481565b34801561030f575f5ffd5b505f546040516001600160a01b0390911681526020016101a3565b348015610335575f5ffd5b5061020f600f5481565b34801561034a575f5ffd5b5060408051808201909152600381526256534760e81b6020820152610196565b348015610375575f5ffd5b506101cb6103843660046115f4565b610718565b348015610394575f5ffd5b5061020f60105481565b3480156103a9575f5ffd5b5061015e610724565b3480156103bd575f5ffd5b5061015e6103cc366004611677565b610acd565b3480156103dc575f5ffd5b5061020f6103eb3660046116a0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104475760405162461bcd60e51b815260040161043e906116d7565b60405180910390fd5b6104536009600a611803565b61045d9082611811565b60105550565b5f61046f338484610b24565b5060015b92915050565b5f546001600160a01b031633146104a25760405162461bcd60e51b815260040161043e906116d7565b6104ae6009600a611803565b6104b89082611811565b60115550565b5f546001600160a01b031633146104e75760405162461bcd60e51b815260040161043e906116d7565b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6105306009600a611803565b61053e90633b9aca00611811565b905090565b5f546001600160a01b0316331461056c5760405162461bcd60e51b815260040161043e906116d7565b6105786009600a611803565b61058690633b9aca00611811565b600e556105956009600a611803565b6105a390633b9aca00611811565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105d36009600a611803565b6105e190633b9aca00611811565b604051908152602001610519565b5f6105fb848484610c47565b61064c84336106478560405180606001604052806028815260200161196f602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061120d565b610b24565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610675575f5ffd5b305f9081526001602052604090205480156106935761069381611245565b4780156106a3576106a3816113b5565b5050565b5f546001600160a01b031633146106d05760405162461bcd60e51b815260040161043e906116d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046f338484610c47565b5f546001600160a01b0316331461074d5760405162461bcd60e51b815260040161043e906116d7565b601354600160a01b900460ff16156107a75760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043e565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107f09030906107e26009600a611803565b61064790633b9aca00611811565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610840573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108649190611828565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190611828565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610931573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109559190611828565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061099c816001600160a01b03165f9081526001602052604090205490565b5f5f6109af5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a15573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a3a9190611843565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab3919061186e565b506013805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610aec575f5ffd5b6007548311158015610b0057506008548211155b8015610b0e5750600c548111155b610b16575f5ffd5b600792909255600855600c55565b6001600160a01b038316610b865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043e565b6001600160a01b038216610be75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043e565b6001600160a01b038216610d0d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043e565b5f8111610d6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043e565b5f80546001600160a01b03858116911614801590610d9957505f546001600160a01b03848116911614155b8015610db357506004546001600160a01b03848116911614155b156110d057600d545f03610df057610ded6064610de7600954600d5411610ddc57600554610de0565b6007545b85906113ec565b90611471565b90505b600d5415610e1557610e126064610de7600c54856113ec90919063ffffffff16565b90505b6013546001600160a01b038581169116148015610e4057506012546001600160a01b03848116911614155b8015610e6457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6757600e54821115610ebb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161043e565b600f5482610edd856001600160a01b03165f9081526001602052604090205490565b610ee7919061188d565b1115610f355760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865205f6d617857616c6c657453697a652e0000000000604482015260640161043e565b610f506064610de7600954600d5411610ddc57600554610de0565b600d80549192505f610f61836118a0565b91905055505b6013546001600160a01b038481169116148015610f8d57506001600160a01b0384163014155b15610fba57610fb76064610de7600a54600d5411610fad57600654610de0565b60085485906113ec565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ff057506013546001600160a01b038581169116145b80156110055750601354600160b01b900460ff165b8015611012575060105481115b80156110215750600b54600d54115b156110ce57601554431115611035575f6014555b6003601454106110875760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161043e565b6110a461109f8461109a846011546114b2565b6114b2565b611245565b4780156110b4576110b4476113b5565b60148054905f6110c3836118a0565b909155505043601555505b505b801561114857305f908152600160205260409020546110ef90826114c6565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113f9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461116a9083611524565b6001600160a01b0385165f908152600160205260409020556111ad61118f8383611524565b6001600160a01b0385165f90815260016020526040902054906114c6565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f68585611524565b60405190815260200160405180910390a350505050565b5f81848411156112305760405162461bcd60e51b815260040161043e91906115a8565b505f61123c84866118b8565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061128b5761128b6118cb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113069190611828565b81600181518110611319576113196118cb565b6001600160a01b03928316602091820292909201015260125461133f9130911684610b24565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113779085905f908690309042906004016118df565b5f604051808303815f87803b15801561138e575f5ffd5b505af11580156113a0573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106a3573d5f5f3e3d5ffd5b5f825f036113fb57505f610473565b5f6114068385611811565b905082611413858361194f565b1461146a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043e565b9392505050565b5f61146a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611565565b5f8183116114c0578261146a565b50919050565b5f806114d2838561188d565b90508381101561146a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043e565b5f61146a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061120d565b5f81836115855760405162461bcd60e51b815260040161043e91906115a8565b505f61123c848661194f565b5f602082840312156115a1575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115f1575f5ffd5b50565b5f5f60408385031215611605575f5ffd5b8235611610816115dd565b946020939093013593505050565b5f5f5f60608486031215611630575f5ffd5b833561163b816115dd565b9250602084013561164b816115dd565b929592945050506040919091013590565b5f6020828403121561166c575f5ffd5b813561146a816115dd565b5f5f5f60608486031215611689575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156116b1575f5ffd5b82356116bc816115dd565b915060208301356116cc816115dd565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561175b5780850481111561173f5761173f61170c565b600184161561174d57908102905b60019390931c928002611724565b935093915050565b5f8261177157506001610473565b8161177d57505f610473565b8160018114611793576002811461179d576117b9565b6001915050610473565b60ff8411156117ae576117ae61170c565b50506001821b610473565b5060208310610133831016604e8410600b84101617156117dc575081810a610473565b6117e85f198484611720565b805f19048211156117fb576117fb61170c565b029392505050565b5f61146a60ff841683611763565b80820281158282048414176104735761047361170c565b5f60208284031215611838575f5ffd5b815161146a816115dd565b5f5f5f60608486031215611855575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561187e575f5ffd5b8151801515811461146a575f5ffd5b808201808211156104735761047361170c565b5f600182016118b1576118b161170c565b5060010190565b818103818111156104735761047361170c565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561192f5783516001600160a01b0316835260209384019390920191600101611908565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261196957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eda3bd64c3734abd52714f763ee26b81223b9167d196c15eefb9a3601e637af664736f6c634300081c0033
Deployed Bytecode Sourcemap
6011:8680:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13710:120;;;;;;;;;;-1:-1:-1;13710:120:0;;;;;:::i;:::-;;:::i;:::-;;7957:83;;;;;;;;;;-1:-1:-1;8027:5:0;;;;;;;;;;;;-1:-1:-1;;;8027:5:0;;;;7957:83;;;;;;;:::i;:::-;;;;;;;;8790:161;;;;;;;;;;-1:-1:-1;8790:161:0;;;;;:::i;:::-;;:::i;:::-;;;1341:14:1;;1334:22;1316:41;;1304:2;1289:18;8790:161:0;1176:187:1;13838:108:0;;;;;;;;;;-1:-1:-1;13838:108:0;;;;;:::i;:::-;;:::i;7111:53::-;;;;;;;;;;;;;;;;;;;1514:25:1;;;1502:2;1487:18;7111:53:0;1368:177:1;12803:119:0;;;;;;;;;;;;;:::i;8234:95::-;;;;;;;;;;;;;:::i;12636:159::-;;;;;;;;;;;;;:::i;8959:313::-;;;;;;;;;;-1:-1:-1;8959:313:0;;;;;:::i;:::-;;:::i;8143:83::-;;;;;;;;;;-1:-1:-1;8143:83:0;;6719:1;2205:36:1;;2193:2;2178:18;8143:83:0;2063:184:1;14340:348:0;;;;;;;;;;;;;:::i;8337:119::-;;;;;;;;;;-1:-1:-1;8337:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8430:18:0;8403:7;8430:18;;;:9;:18;;;;;;;8337:119;5092:148;;;;;;;;;;;;;:::i;6917:56::-;;;;;;;;;;;;;;;;4878:79;;;;;;;;;;-1:-1:-1;4916:7:0;4943:6;4878:79;;-1:-1:-1;;;;;4943:6:0;;;2650:51:1;;2638:2;2623:18;4878:79:0;2504:203:1;6980:58:0;;;;;;;;;;;;;;;;8048:87;;;;;;;;;;-1:-1:-1;8120:7:0;;;;;;;;;;;;-1:-1:-1;;;8120:7:0;;;;8048:87;;8464:167;;;;;;;;;;-1:-1:-1;8464:167:0;;;;;:::i;:::-;;:::i;7045:59::-;;;;;;;;;;;;;;;;13030:672;;;;;;;;;;;;;:::i;13958:337::-;;;;;;;;;;-1:-1:-1;13958:337:0;;;;;:::i;:::-;;:::i;8639:143::-;;;;;;;;;;-1:-1:-1;8639:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8747:18:0;;;8720:7;8747:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8639:143;13710:120;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;;;;;;;;;13809:13:::1;6719:1;13809:2;:13;:::i;:::-;13805:17;::::0;:1;:17:::1;:::i;:::-;13785;:37:::0;-1:-1:-1;13710:120:0:o;8790:161::-;8865:4;8882:39;2713:10;8905:7;8914:6;8882:8;:39::i;:::-;-1:-1:-1;8939:4:0;8790:161;;;;;:::o;13838:108::-;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;13925:13:::1;6719:1;13925:2;:13;:::i;:::-;13921:17;::::0;:1;:17:::1;:::i;:::-;13907:11;:31:::0;-1:-1:-1;13838:108:0:o;12803:119::-;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;12876:1:::1;12861:12;:16:::0;;;12893:21:::1;::::0;1514:25:1;;;12893:21:0::1;::::0;1502:2:1;1487:18;12893:21:0::1;;;;;;;;12803:119::o:0;8234:95::-;8287:7;6778:13;6719:1;6778:2;:13;:::i;:::-;6762:29;;:13;:29;:::i;:::-;8307:14;;8234:95;:::o;12636:159::-;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;6778:13:::1;6719:1;6778:2;:13;:::i;:::-;6762:29;::::0;:13:::1;:29;:::i;:::-;12689:12;:22:::0;6778:13:::1;6719:1;6778:2;:13;:::i;:::-;6762:29;::::0;:13:::1;:29;:::i;:::-;12722:14;:22:::0;12760:27:::1;6778:13;6719:1;6778:2;:13;:::i;:::-;6762:29;::::0;:13:::1;:29;:::i;:::-;12760:27;::::0;1514:25:1;;;1502:2;1487:18;12760:27:0::1;1368:177:1::0;8959:313:0;9057:4;9074:36;9084:6;9092:9;9103:6;9074:9;:36::i;:::-;9121:121;9130:6;2713:10;9152:89;9190:6;9152:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9152:19:0;;;;;;:11;:19;;;;;;;;2713:10;9152:33;;;;;;;;;;:37;:89::i;:::-;9121:8;:121::i;:::-;-1:-1:-1;9260:4:0;8959:313;;;;;:::o;14340:348::-;14404:10;;-1:-1:-1;;;;;14404:10:0;2713;-1:-1:-1;;;;;14390:24:0;;14382:33;;;;;;14465:4;14426:20;8430:18;;;:9;:18;;;;;;14485:14;;14482:73;;14513:30;14530:12;14513:16;:30::i;:::-;14584:21;14619:12;;14616:65;;14645:24;14658:10;14645:12;:24::i;:::-;14371:317;;14340:348::o;5092:148::-;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;5199:1:::1;5183:6:::0;;5162:40:::1;::::0;-1:-1:-1;;;;;5183:6:0;;::::1;::::0;5162:40:::1;::::0;5199:1;;5162:40:::1;5230:1;5213:19:::0;;-1:-1:-1;;;;;;5213:19:0::1;::::0;;5092:148::o;8464:167::-;8542:4;8559:42;2713:10;8583:9;8594:6;8559:9;:42::i;13030:672::-;5005:6;;-1:-1:-1;;;;;5005:6:0;2713:10;5005:22;4997:67;;;;-1:-1:-1;;;4997:67:0;;;;;;;:::i;:::-;13094:11:::1;::::0;-1:-1:-1;;;13094:11:0;::::1;;;13093:12;13085:48;;;::::0;-1:-1:-1;;;13085:48:0;;6066:2:1;13085:48:0::1;::::0;::::1;6048:21:1::0;6105:2;6085:18;;;6078:30;6144:25;6124:18;;;6117:53;6187:18;;13085:48:0::1;5864:347:1::0;13085:48:0::1;13144:15;:80:::0;;-1:-1:-1;;;;;;13144:80:0::1;13181:42;13144:80:::0;;::::1;::::0;;;13235:58:::1;::::0;13252:4:::1;::::0;6778:13:::1;6719:1;6778:2;:13;:::i;:::-;6762:29;::::0;:13:::1;:29;:::i;13235:58::-;13338:15;;;;;;;;;-1:-1:-1::0;;;;;13338:15:0::1;-1:-1:-1::0;;;;;13338:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13320:55:0::1;;13384:4;13391:15;;;;;;;;;-1:-1:-1::0;;;;;13391:15:0::1;-1:-1:-1::0;;;;;13391:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13320:94;::::0;-1:-1:-1;;;;;;13320:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6664:32:1;;;13320:94:0::1;::::0;::::1;6646:51:1::0;6733:32;;6713:18;;;6706:60;6619:18;;13320:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13304:13;:110:::0;;-1:-1:-1;;;;;13304:110:0;;::::1;-1:-1:-1::0;;;;;;13304:110:0;;::::1;;::::0;;13425:15:::1;::::0;::::1;:31;13464:21;13495:4;13501:24;13495:4:::0;-1:-1:-1;;;;;8430:18:0;8403:7;8430:18;;;:9;:18;;;;;;;8337:119;13501:24:::1;13526:1;13528;13530:7;4916::::0;4943:6;-1:-1:-1;;;;;4943:6:0;;4878:79;13530:7:::1;13425:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13425:129:0;;;-1:-1:-1;;;;;7098:32:1;;;13425:129:0::1;::::0;::::1;7080:51:1::0;7147:18;;;7140:34;;;;7190:18;;;7183:34;;;;7233:18;;;7226:34;7297:32;;;7276:19;;;7269:61;13538:15:0::1;7346:19:1::0;;;7339:35;7052:19;;13425:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13572:13:0::1;::::0;13603:15:::1;::::0;13565:71:::1;::::0;-1:-1:-1;;;13565:71:0;;-1:-1:-1;;;;;13603:15:0;;::::1;13565:71;::::0;::::1;8020:51:1::0;-1:-1:-1;;8087:18:1;;;8080:34;13572:13:0;::::1;::::0;-1:-1:-1;13565:29:0::1;::::0;7993:18:1;;13565:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13647:11:0::1;:18:::0;;-1:-1:-1;;;;13676:18:0;-1:-1:-1;;;13676:18:0;;;13030:672::o;13958:337::-;14082:10;;-1:-1:-1;;;;;14082:10:0;2713;-1:-1:-1;;;;;14068:24:0;;14060:33;;;;;;14122:7;;14110:10;:19;;:44;;;;;14146:8;;14133:11;:21;;14110:44;:77;;;;;14175:12;;14158:15;:29;;14110:77;14102:86;;;;;;14197:7;:20;;;;14226:8;:22;14257:12;:30;13958:337::o;9280:335::-;-1:-1:-1;;;;;9373:19:0;;9365:68;;;;-1:-1:-1;;;9365:68:0;;8609:2:1;9365:68:0;;;8591:21:1;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:34;8782:19;;9365:68:0;8407:400:1;9365:68:0;-1:-1:-1;;;;;9452:21:0;;9444:68;;;;-1:-1:-1;;;9444:68:0;;9014:2:1;9444:68:0;;;8996:21:1;9053:2;9033:18;;;9026:30;9092:34;9072:18;;;9065:62;-1:-1:-1;;;9143:18:1;;;9136:32;9185:19;;9444:68:0;8812:398:1;9444:68:0;-1:-1:-1;;;;;9523:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9575:32;;1514:25:1;;;9575:32:0;;1487:18:1;9575:32:0;;;;;;;9280:335;;;:::o;9623:2406::-;-1:-1:-1;;;;;9711:18:0;;9703:68;;;;-1:-1:-1;;;9703:68:0;;9417:2:1;9703:68:0;;;9399:21:1;9456:2;9436:18;;;9429:30;9495:34;9475:18;;;9468:62;-1:-1:-1;;;9546:18:1;;;9539:35;9591:19;;9703:68:0;9215:401:1;9703:68:0;-1:-1:-1;;;;;9790:16:0;;9782:64;;;;-1:-1:-1;;;9782:64:0;;9823:2:1;9782:64:0;;;9805:21:1;9862:2;9842:18;;;9835:30;9901:34;9881:18;;;9874:62;-1:-1:-1;;;9952:18:1;;;9945:33;9995:19;;9782:64:0;9621:399:1;9782:64:0;9874:1;9865:6;:10;9857:64;;;;-1:-1:-1;;;9857:64:0;;10227:2:1;9857:64:0;;;10209:21:1;10266:2;10246:18;;;10239:30;10305:34;10285:18;;;10278:62;-1:-1:-1;;;10356:18:1;;;10349:39;10405:19;;9857:64:0;10025:405:1;9857:64:0;9932:17;4943:6;;-1:-1:-1;;;;;9966:15:0;;;4943:6;;9966:15;;;;:32;;-1:-1:-1;4916:7:0;4943:6;-1:-1:-1;;;;;9985:13:0;;;4943:6;;9985:13;;9966:32;:52;;;;-1:-1:-1;10008:10:0;;-1:-1:-1;;;;;10002:16:0;;;10008:10;;10002:16;;9966:52;9962:1711;;;10040:9;;10051:1;10040:12;10037:134;;10084:71;10151:3;10084:62;10106:15;;10096:9;;:25;10095:50;;10131:14;;10095:50;;;10123:7;;10095:50;10084:6;;:10;:62::i;:::-;:66;;:71::i;:::-;10072:83;;10037:134;10188:9;;:11;10185:95;;10231:33;10260:3;10231:24;10242:12;;10231:6;:10;;:24;;;;:::i;:33::-;10219:45;;10185:95;10308:13;;-1:-1:-1;;;;;10300:21:0;;;10308:13;;10300:21;:55;;;;-1:-1:-1;10339:15:0;;-1:-1:-1;;;;;10325:30:0;;;10339:15;;10325:30;;10300:55;:83;;;;-1:-1:-1;;;;;;10361:22:0;;;;;;:18;:22;;;;;;;;10359:24;10300:83;10296:416;;;10423:12;;10413:6;:22;;10405:60;;;;-1:-1:-1;;;10405:60:0;;10637:2:1;10405:60:0;;;10619:21:1;10676:2;10656:18;;;10649:30;10715:27;10695:18;;;10688:55;10760:18;;10405:60:0;10435:349:1;10405:60:0;10518:14;;10508:6;10492:13;10502:2;-1:-1:-1;;;;;8430:18:0;8403:7;8430:18;;;:9;:18;;;;;;;8337:119;10492:13;:22;;;;:::i;:::-;:40;;10484:80;;;;-1:-1:-1;;;10484:80:0;;11121:2:1;10484:80:0;;;11103:21:1;11160:2;11140:18;;;11133:30;11199:29;11179:18;;;11172:57;11246:18;;10484:80:0;10919:351:1;10484:80:0;10595:71;10662:3;10595:62;10617:15;;10607:9;;:25;10606:50;;10642:14;;10606:50;;10595:71;10685:9;:11;;10583:83;;-1:-1:-1;10685:9:0;:11;;;:::i;:::-;;;;;;10296:416;10737:13;;-1:-1:-1;;;;;10731:19:0;;;10737:13;;10731:19;:43;;;;-1:-1:-1;;;;;;10754:20:0;;10769:4;10754:20;;10731:43;10728:169;;;10807:74;10877:3;10807:65;10829:16;;10819:9;;:26;10818:53;;10856:15;;10818:53;;;10847:8;;10807:6;;:10;:65::i;:74::-;10795:86;;10728:169;10962:4;10913:28;8430:18;;;:9;:18;;;;;;10988:6;;-1:-1:-1;;;10988:6:0;;;;10987:7;:30;;;;-1:-1:-1;11004:13:0;;-1:-1:-1;;;;;10998:19:0;;;11004:13;;10998:19;10987:30;:45;;;;-1:-1:-1;11021:11:0;;-1:-1:-1;;;11021:11:0;;;;10987:45;:89;;;;;11059:17;;11036:20;:40;10987:89;:123;;;;;11092:18;;11080:9;;:30;10987:123;10983:679;;;11150:13;;11135:12;:28;11131:90;;;11200:1;11188:9;:13;11131:90;11259:1;11247:9;;:13;11239:49;;;;-1:-1:-1;;;11239:49:0;;11617:2:1;11239:49:0;;;11599:21:1;11656:2;11636:18;;;11629:30;11695:25;11675:18;;;11668:53;11738:18;;11239:49:0;11415:347:1;11239:49:0;11307:69;11324:51;11328:6;11336:38;11340:20;11362:11;;11336:3;:38::i;:::-;11324:3;:51::i;:::-;11307:16;:69::i;:::-;11424:21;11468:22;;11464:106;;11515:35;11528:21;11515:12;:35::i;:::-;11588:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;11634:12:0;11618:13;:28;-1:-1:-1;10983:679:0;10020:1653;9962:1711;11688:11;;11685:161;;11756:4;11738:24;;;;:9;:24;;;;;;:39;;11767:9;11738:28;:39::i;:::-;11731:4;11713:24;;;;:9;:24;;;;;;;:64;;;;11795:39;;-1:-1:-1;;;;;11795:39:0;;;;;;;11824:9;1514:25:1;;1502:2;1487:18;;1368:177;11795:39:0;;;;;;;;11685:161;-1:-1:-1;;;;;11872:15:0;;;;;;:9;:15;;;;;;:27;;11892:6;11872:19;:27::i;:::-;-1:-1:-1;;;;;11856:15:0;;;;;;:9;:15;;;;;:43;11924:40;11942:21;:6;11953:9;11942:10;:21::i;:::-;-1:-1:-1;;;;;11924:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11910:13:0;;;;;;;:9;:13;;;;;:54;;;;11980:41;;;11999:21;:6;12010:9;11999:10;:21::i;:::-;11980:41;;1514:25:1;;;1502:2;1487:18;11980:41:0;;;;;;;9692:2337;9623:2406;;;:::o;3770:190::-;3856:7;3892:12;3884:6;;;;3876:29;;;;-1:-1:-1;;;3876:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3916:9:0;3928:5;3932:1;3928;:5;:::i;:::-;3916:17;3770:190;-1:-1:-1;;;;;3770:190:0:o;12145:483::-;7566:6;:13;;-1:-1:-1;;;;7566:13:0;-1:-1:-1;;;7566:13:0;;;12247:16:::1;::::0;;12261:1:::1;12247:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12247:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12247:16:0::1;12223:40;;12292:4;12274;12279:1;12274:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12274:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12318:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12318:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12274:7;;12318:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12308:4;12313:1;12308:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12308:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12383:15:::1;::::0;12351:62:::1;::::0;12368:4:::1;::::0;12383:15:::1;12401:11:::0;12351:8:::1;:62::i;:::-;12424:15;::::0;:196:::1;::::0;-1:-1:-1;;;12424:196:0;;-1:-1:-1;;;;;12424:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12505:11;;12424:15:::1;::::0;12547:4;;12574::::1;::::0;12594:15:::1;::::0;12424:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;7602:6:0;:14;;-1:-1:-1;;;;7602:14:0;;;-1:-1:-1;;;;12145:483:0:o;12930:92::-;12987:10;;:27;;-1:-1:-1;;;;;12987:10:0;;;;:27;;;;;13007:6;;12987:10;:27;:10;:27;13007:6;12987:10;:27;;;;;;;;;;;;;;;;;;;3968:246;4026:7;4050:1;4055;4050:6;4046:47;;-1:-1:-1;4080:1:0;4073:8;;4046:47;4103:9;4115:5;4119:1;4115;:5;:::i;:::-;4103:17;-1:-1:-1;4148:1:0;4139:5;4143:1;4103:17;4139:5;:::i;:::-;:10;4131:56;;;;-1:-1:-1;;;4131:56:0;;13552:2:1;4131:56:0;;;13534:21:1;13591:2;13571:18;;;13564:30;13630:34;13610:18;;;13603:62;-1:-1:-1;;;13681:18:1;;;13674:31;13722:19;;4131:56:0;13350:397:1;4131:56:0;4205:1;3968:246;-1:-1:-1;;;3968:246:0:o;4222:132::-;4280:7;4307:39;4311:1;4314;4307:39;;;;;;;;;;;;;;;;;:3;:39::i;12039:98::-;12096:7;12123:1;12121;:3;12120:9;;12128:1;12120:9;;;-1:-1:-1;12126:1:0;12039:98;-1:-1:-1;12039:98:0:o;3439:179::-;3497:7;;3529:5;3533:1;3529;:5;:::i;:::-;3517:17;;3558:1;3553;:6;;3545:46;;;;-1:-1:-1;;;3545:46:0;;13954:2:1;3545:46:0;;;13936:21:1;13993:2;13973:18;;;13966:30;14032:29;14012:18;;;14005:57;14079:18;;3545:46:0;13752:351:1;3626:136:0;3684:7;3711:43;3715:1;3718;3711:43;;;;;;;;;;;;;;;;;:3;:43::i;4362:189::-;4448:7;4483:12;4476:5;4468:28;;;;-1:-1:-1;;;4468:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4507:9:0;4519:5;4523:1;4519;:5;:::i;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;245:418::-;394:2;383:9;376:21;357:4;426:6;420:13;469:6;464:2;453:9;449:18;442:34;528:6;523:2;515:6;511:15;506:2;495:9;491:18;485:50;584:1;579:2;570:6;559:9;555:22;551:31;544:42;654:2;647;643:7;638:2;630:6;626:15;622:29;611:9;607:45;603:54;595:62;;;245:418;;;;:::o;668:131::-;-1:-1:-1;;;;;743:31:1;;733:42;;723:70;;789:1;786;779:12;723:70;668:131;:::o;804:367::-;872:6;880;933:2;921:9;912:7;908:23;904:32;901:52;;;949:1;946;939:12;901:52;988:9;975:23;1007:31;1032:5;1007:31;:::i;:::-;1057:5;1135:2;1120:18;;;;1107:32;;-1:-1:-1;;;804:367:1:o;1550:508::-;1627:6;1635;1643;1696:2;1684:9;1675:7;1671:23;1667:32;1664:52;;;1712:1;1709;1702:12;1664:52;1751:9;1738:23;1770:31;1795:5;1770:31;:::i;:::-;1820:5;-1:-1:-1;1877:2:1;1862:18;;1849:32;1890:33;1849:32;1890:33;:::i;:::-;1550:508;;1942:7;;-1:-1:-1;;;2022:2:1;2007:18;;;;1994:32;;1550:508::o;2252:247::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2419:9;2406:23;2438:31;2463:5;2438:31;:::i;2712:466::-;2789:6;2797;2805;2858:2;2846:9;2837:7;2833:23;2829:32;2826:52;;;2874:1;2871;2864:12;2826:52;-1:-1:-1;;2919:23:1;;;3039:2;3024:18;;3011:32;;-1:-1:-1;3142:2:1;3127:18;;;3114:32;;2712:466;-1:-1:-1;2712:466:1:o;3183:388::-;3251:6;3259;3312:2;3300:9;3291:7;3287:23;3283:32;3280:52;;;3328:1;3325;3318:12;3280:52;3367:9;3354:23;3386:31;3411:5;3386:31;:::i;:::-;3436:5;-1:-1:-1;3493:2:1;3478:18;;3465:32;3506:33;3465:32;3506:33;:::i;:::-;3558:7;3548:17;;;3183:388;;;;;:::o;3576:356::-;3778:2;3760:21;;;3797:18;;;3790:30;3856:34;3851:2;3836:18;;3829:62;3923:2;3908:18;;3576:356::o;3937:127::-;3998:10;3993:3;3989:20;3986:1;3979:31;4029:4;4026:1;4019:15;4053:4;4050:1;4043:15;4069:375;4157:1;4175:5;4189:249;4210:1;4200:8;4197:15;4189:249;;;4260:4;4255:3;4251:14;4245:4;4242:24;4239:50;;;4269:18;;:::i;:::-;4319:1;4309:8;4305:16;4302:49;;;4333:16;;;;4302:49;4416:1;4412:16;;;;;4372:15;;4189:249;;;4069:375;;;;;;:::o;4449:902::-;4498:5;4528:8;4518:80;;-1:-1:-1;4569:1:1;4583:5;;4518:80;4617:4;4607:76;;-1:-1:-1;4654:1:1;4668:5;;4607:76;4699:4;4717:1;4712:59;;;;4785:1;4780:174;;;;4692:262;;4712:59;4742:1;4733:10;;4756:5;;;4780:174;4817:3;4807:8;4804:17;4801:43;;;4824:18;;:::i;:::-;-1:-1:-1;;4880:1:1;4866:16;;4939:5;;4692:262;;5038:2;5028:8;5025:16;5019:3;5013:4;5010:13;5006:36;5000:2;4990:8;4987:16;4982:2;4976:4;4973:12;4969:35;4966:77;4963:203;;;-1:-1:-1;5075:19:1;;;5151:5;;4963:203;5198:42;-1:-1:-1;;5223:8:1;5217:4;5198:42;:::i;:::-;5276:6;5272:1;5268:6;5264:19;5255:7;5252:32;5249:58;;;5287:18;;:::i;:::-;5325:20;;4449:902;-1:-1:-1;;;4449:902:1:o;5356:140::-;5414:5;5443:47;5484:4;5474:8;5470:19;5464:4;5443:47;:::i;5501:168::-;5574:9;;;5605;;5622:15;;;5616:22;;5602:37;5592:71;;5643:18;;:::i;6216:251::-;6286:6;6339:2;6327:9;6318:7;6314:23;6310:32;6307:52;;;6355:1;6352;6345:12;6307:52;6387:9;6381:16;6406:31;6431:5;6406:31;:::i;7385:456::-;7473:6;7481;7489;7542:2;7530:9;7521:7;7517:23;7513:32;7510:52;;;7558:1;7555;7548:12;7510:52;-1:-1:-1;;7603:16:1;;7709:2;7694:18;;7688:25;7805:2;7790:18;;;7784:25;7603:16;;7688:25;;-1:-1:-1;7784:25:1;7385:456;-1:-1:-1;7385:456:1:o;8125:277::-;8192:6;8245:2;8233:9;8224:7;8220:23;8216:32;8213:52;;;8261:1;8258;8251:12;8213:52;8293:9;8287:16;8346:5;8339:13;8332:21;8325:5;8322:32;8312:60;;8368:1;8365;8358:12;10789:125;10854:9;;;10875:10;;;10872:36;;;10888:18;;:::i;11275:135::-;11314:3;11335:17;;;11332:43;;11355:18;;:::i;:::-;-1:-1:-1;11402:1:1;11391:13;;11275:135::o;11767:128::-;11834:9;;;11855:11;;;11852:37;;;11869:18;;:::i;12032:127::-;12093:10;12088:3;12084:20;12081:1;12074:31;12124:4;12121:1;12114:15;12148:4;12145:1;12138:15;12164:959;12426:4;12474:3;12463:9;12459:19;12505:6;12494:9;12487:25;12548:6;12543:2;12532:9;12528:18;12521:34;12591:3;12586:2;12575:9;12571:18;12564:31;12615:6;12650;12644:13;12681:6;12673;12666:22;12719:3;12708:9;12704:19;12697:26;;12758:2;12750:6;12746:15;12732:29;;12779:1;12789:195;12803:6;12800:1;12797:13;12789:195;;;12868:13;;-1:-1:-1;;;;;12864:39:1;12852:52;;12933:2;12959:15;;;;12924:12;;;;12900:1;12818:9;12789:195;;;-1:-1:-1;;;;;;;13040:32:1;;;;13035:2;13020:18;;13013:60;-1:-1:-1;;13104:3:1;13089:19;13082:35;13001:3;12164:959;-1:-1:-1;;;12164:959:1:o;13128:217::-;13168:1;13194;13184:132;;13238:10;13233:3;13229:20;13226:1;13219:31;13273:4;13270:1;13263:15;13301:4;13298:1;13291:15;13184:132;-1:-1:-1;13330:9:1;;13128:217::o
Swarm Source
ipfs://eda3bd64c3734abd52714f763ee26b81223b9167d196c15eefb9a3601e637af6
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.