ERC-20
Technology
Overview
Max Total Supply
100,000,000 FLASH
Holders
732 (0.00%)
Market
Price
$0.01 @ 0.000002 ETH
Onchain Market Cap
$618,855.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FLASH
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-07 */ // SPDX-License-Identifier: MIT pragma solidity >=0.8.0 <0.9.0; interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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 IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { 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); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } interface Initializer { function setLaunch(address _initialLpPair, uint32 _liqAddBlock, uint64 _liqAddStamp, uint8 dec) external; function getConfig() external returns (address, address); function setLpPair(address pair, bool enabled) external; } contract FLASH is IERC20 { mapping (address => uint256) private _tOwned; mapping (address => bool) lpPairs; uint256 private timeSinceLastPair = 0; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _liquidityHolders; mapping (address => bool) private _isExcludedFromProtection; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) private presaleAddresses; bool private allowedPresaleExclusion = true; uint256 constant private startingSupply = 100_000_000; string constant private _name = "Flash 3.0"; string constant private _symbol = "FLASH"; uint8 constant private _decimals = 18; uint256 private _tTotal = startingSupply * 10**_decimals; IRouter02 public dexRouter; address public lpPair; bool public tradingEnabled = false; bool public _hasLiqBeenAdded = false; Initializer initializer; constructor () payable { _tOwned[msg.sender] = _tTotal; emit Transfer(address(0), msg.sender, _tTotal); // Set the owner. _owner = msg.sender; _liquidityHolders[_owner] = true; } receive() external payable {} //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== // Ownable removed as a lib and added here to allow for custom transfers and renouncements. // This allows for removal of ownership privileges from the owner once renounced or transferred. address private _owner; modifier onlyOwner() { require(_owner == msg.sender, "Caller =/= owner."); _; } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function transferOwner(address newOwner) external onlyOwner { require(newOwner != address(0), "Call renounceOwnership to transfer owner to the zero address."); require(newOwner != address(0xDead), "Call renounceOwnership to transfer owner to the zero address."); if (balanceOf(_owner) > 0) { finalizeTransfer(_owner, newOwner, balanceOf(_owner), true); } address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function renounceOwnership() external onlyOwner { require(tradingEnabled, "Cannot renounce until trading has been enabled."); address oldOwner = _owner; _owner = address(0); emit OwnershipTransferred(oldOwner, address(0)); } //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== function totalSupply() external view override returns (uint256) { return _tTotal; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return _owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function setInitializer(address _initializer) public onlyOwner { require(!tradingEnabled); require(_initializer != address(this), "Can't be self."); initializer = Initializer(_initializer); try initializer.getConfig() returns (address router, address constructorLP) { require(router != address(0) && constructorLP != address(0)); dexRouter = IRouter02(router); lpPair = constructorLP; lpPairs[constructorLP] = true; _approve(_owner, address(dexRouter), type(uint256).max); } catch {} } function isExcludedFromProtection(address account) external view returns (bool) { return _isExcludedFromProtection[account]; } event ExcludedFromProtection(address indexed account, bool enabled); function setExcludedFromProtection(address account, bool enabled) external onlyOwner { _isExcludedFromProtection[account] = enabled; emit ExcludedFromProtection(account, enabled); } event PresaleAddressExcluded(address indexed presale); event PresaleAddressesExcluded(address indexed presale, address indexed router); function excludePresaleAddresses(address router, address presale) external onlyOwner { require(allowedPresaleExclusion); require(router != address(this) && presale != address(this) && lpPair != router && lpPair != presale, "Just don't."); if (router == presale) { _liquidityHolders[presale] = true; emit PresaleAddressesExcluded(presale, router); } else { _liquidityHolders[router] = true; _liquidityHolders[presale] = true; emit PresaleAddressesExcluded(presale, router); } } function _hasLimits(address from, address to) internal view returns (bool) { return from != _owner && to != _owner && tx.origin != _owner && !_liquidityHolders[to] && !_liquidityHolders[from] && to != address(0xDead) && to != address(0) && from != address(this) && from != address(initializer) && to != address(initializer); } function _transfer(address from, address to, uint256 amount) internal returns (bool) { 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"); bool buy = false; bool sell = false; bool other = false; if (lpPairs[from]) { buy = true; } else if (lpPairs[to]) { sell = true; } else { other = true; } if (_hasLimits(from, to)) { if(!tradingEnabled) { if (!other) { revert("Trading not yet enabled!"); } else if (!_isExcludedFromProtection[from] && !_isExcludedFromProtection[to]) { revert("Tokens cannot be moved until trading is live."); } } } return finalizeTransfer(from, to, amount, other); } function _checkLiquidityAdd(address from, address to) internal { require(!_hasLiqBeenAdded, "Liquidity already added and marked."); if (!_hasLimits(from, to) && to == lpPair) { if (address(initializer) == address(0)){ initializer = Initializer(address(this)); } else { _liquidityHolders[from] = true; _hasLiqBeenAdded = true; tradingEnabled = true; allowedPresaleExclusion = false; } } } function finalizeTransfer(address from, address to, uint256 amount, bool other) internal returns (bool) { _tOwned[from] -= amount; _tOwned[to] += amount; emit Transfer(from, to, amount); if (!_hasLiqBeenAdded) { _checkLiquidityAdd(from, to); if (!_hasLiqBeenAdded && _hasLimits(from, to) && !_isExcludedFromProtection[from] && !_isExcludedFromProtection[to] && !other) { revert("Pre-liquidity transfer protection."); } } return true; } function burn(uint256 amountTokens) external { address sender = msg.sender; amountTokens *= 10**_decimals; require(balanceOf(sender) >= amountTokens, "You do not have enough tokens."); _tOwned[sender] -= amountTokens; _tTotal -= amountTokens; emit Transfer(sender, address(0), amountTokens); } function sweepContingency() external onlyOwner { payable(_owner).call{value: address(this).balance, gas: 55000}(""); } function sweepTokens(address token) external onlyOwner { IERC20 TOKEN = IERC20(token); TOKEN.transfer(_owner, TOKEN.balanceOf(address(this))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ExcludedFromProtection","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":"presale","type":"address"}],"name":"PresaleAddressExcluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"presale","type":"address"},{"indexed":true,"internalType":"address","name":"router","type":"address"}],"name":"PresaleAddressesExcluded","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":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"presale","type":"address"}],"name":"excludePresaleAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromProtection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setExcludedFromProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_initializer","type":"address"}],"name":"setInitializer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sweepContingency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"sweepTokens","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":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260006002556008805460ff19166001179055620000246012600a620001d6565b62000034906305f5e100620001ee565b6009819055600b805461ffff60a01b191690553360008181526020818152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600d80546001600160a01b031916339081179091556000908152600460205260409020805460ff1916600117905562000208565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000118578160001904821115620000fc57620000fc620000c1565b808516156200010a57918102915b93841c9390800290620000dc565b509250929050565b6000826200013157506001620001d0565b816200014057506000620001d0565b8160018114620001595760028114620001645762000184565b6001915050620001d0565b60ff841115620001785762000178620000c1565b50506001821b620001d0565b5060208310610133831016604e8410600b8410161715620001a9575081810a620001d0565b620001b58383620000d7565b8060001904821115620001cc57620001cc620000c1565b0290505b92915050565b6000620001e760ff84168362000120565b9392505050565b8082028115828204841417620001d057620001d0620000c1565b611a7d80620002186000396000f3fe6080604052600436106101745760003560e01c80634fb2e45d116100d657806395d89b411161007f578063ee5d9c2d11610059578063ee5d9c2d146104a1578063f5f6d3af146104b6578063feadde9c146104d657600080fd5b806395d89b411461040d578063a9059cbb1461043b578063dd62ed3e1461045b57600080fd5b806370a08231116100b057806370a08231146103a4578063715018a6146103da578063893d20e8146103ef57600080fd5b80634fb2e45d1461034357806350a8e016146103635780635c24b0741461038457600080fd5b806318160ddd1161013857806342966c681161011257806342966c68146102e2578063452ed4f1146103025780634ada218b1461032257600080fd5b806318160ddd1461028757806323b872dd146102a6578063313ce567146102c657600080fd5b806306fdde03146101805780630758d924146101c4578063095ea7b3146101fc5780630dcbcf1c1461022c57806313b4a7f41461026557600080fd5b3661017b57005b600080fd5b34801561018c57600080fd5b506040805180820190915260098152680466c61736820332e360bc1b60208201525b6040516101bb9190611721565b60405180910390f35b3480156101d057600080fd5b50600a546101e4906001600160a01b031681565b6040516001600160a01b0390911681526020016101bb565b34801561020857600080fd5b5061021c610217366004611784565b6104f6565b60405190151581526020016101bb565b34801561023857600080fd5b5061021c6102473660046117b0565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561027157600080fd5b506102856102803660046117cd565b61050d565b005b34801561029357600080fd5b506009545b6040519081526020016101bb565b3480156102b257600080fd5b5061021c6102c1366004611806565b6106d4565b3480156102d257600080fd5b50604051601281526020016101bb565b3480156102ee57600080fd5b506102856102fd366004611847565b61074c565b34801561030e57600080fd5b50600b546101e4906001600160a01b031681565b34801561032e57600080fd5b50600b5461021c90600160a01b900460ff1681565b34801561034f57600080fd5b5061028561035e3660046117b0565b61085e565b34801561036f57600080fd5b50600b5461021c90600160a81b900460ff1681565b34801561039057600080fd5b5061028561039f3660046117b0565b610a46565b3480156103b057600080fd5b506102986103bf3660046117b0565b6001600160a01b031660009081526020819052604090205490565b3480156103e657600080fd5b50610285610c08565b3480156103fb57600080fd5b50600d546001600160a01b03166101e4565b34801561041957600080fd5b5060408051808201909152600581526408c9882a6960db1b60208201526101ae565b34801561044757600080fd5b5061021c610456366004611784565b610d23565b34801561046757600080fd5b506102986104763660046117cd565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156104ad57600080fd5b50610285610d3a565b3480156104c257600080fd5b506102856104d13660046117b0565b610dda565b3480156104e257600080fd5b506102856104f136600461186e565b610f2a565b6000610503338484610fd7565b5060015b92915050565b600d546001600160a01b031633146105605760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b60085460ff1661056f57600080fd5b6001600160a01b038216301480159061059157506001600160a01b0381163014155b80156105ab5750600b546001600160a01b03838116911614155b80156105c55750600b546001600160a01b03828116911614155b6105ff5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba103237b713ba1760a91b6044820152606401610557565b806001600160a01b0316826001600160a01b03160361066a576001600160a01b03808216600081815260046020526040808220805460ff1916600117905551928516927fd0b29ed63fa4498a6774aaaee0e7580a2a3b5c128ac07130f2e7e0e588732b2d9190a35050565b6001600160a01b038281166000818152600460205260408082208054600160ff1991821681179092559486168084528284208054909616909117909455519192917fd0b29ed63fa4498a6774aaaee0e7580a2a3b5c128ac07130f2e7e0e588732b2d9190a35b5050565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610739576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107339084906118b2565b90915550505b6107448484846110d0565b949350505050565b336107596012600a6119a9565b61076390836119b8565b915081610785826001600160a01b031660009081526020819052604090205490565b10156107d35760405162461bcd60e51b815260206004820152601e60248201527f596f7520646f206e6f74206861766520656e6f75676820746f6b656e732e00006044820152606401610557565b6001600160a01b038116600090815260208190526040812080548492906107fb9084906118b2565b92505081905550816009600082825461081491906118b2565b90915550506040518281526000906001600160a01b038316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600d546001600160a01b031633146108ac5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b6001600160a01b0381166109285760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610557565b61deac196001600160a01b038216016109a95760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610557565b600d546001600160a01b0316600090815260208190526040902054156109f457600d546001600160a01b03166000818152602081905260409020546109f291908390600161137f565b505b600d80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600d546001600160a01b03163314610a945760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600b54600160a01b900460ff1615610aab57600080fd5b306001600160a01b03821603610b035760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610557565b600c80546001600160a01b0319166001600160a01b038316908117909155604080516330fe427560e21b8152815163c3f909d49260048084019391929182900301816000875af1925050508015610b77575060408051601f3d908101601f19168201909252610b74918101906119cf565b60015b15610c05576001600160a01b03821615801590610b9c57506001600160a01b03811615155b610ba557600080fd5b600a80546001600160a01b038085166001600160a01b0319928316178355600b80548583169316831790556000918252600160208190526040909220805460ff1916909217909155600d549154610c029282169116600019610fd7565b50505b50565b600d546001600160a01b03163314610c565760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600b54600160a01b900460ff16610cd55760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e00000000000000000000000000000000006064820152608401610557565b600d80546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6000610d303384846110d0565b5060019392505050565b600d546001600160a01b03163314610d885760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600d546040516001600160a01b039091169061d6d89047906000818181858888f193505050503d8060008114610c02576040519150601f19603f3d011682016040523d82523d6000602084013e610c02565b600d546001600160a01b03163314610e285760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600d546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea391906119fe565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190611a17565b600d546001600160a01b03163314610f785760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b6001600160a01b038216600081815260056020908152604091829020805460ff191685151590811790915591519182527f7f5ce2a14ac5d831e88d6e5cc41dcecd553ffd745e8558d7934978d386856f70910160405180910390a25050565b6001600160a01b0383166110235760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b03821661106f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166111365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610557565b6001600160a01b0383166111985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610557565b600082116111fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610557565b6001600160a01b0384166000908152600160205260408120548190819060ff16156112285760019250611256565b6001600160a01b03861660009081526001602052604090205460ff16156112525760019150611256565b5060015b611260878761151b565b1561136857600b54600160a01b900460ff1661136857806112c35760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610557565b6001600160a01b03871660009081526005602052604090205460ff1615801561130557506001600160a01b03861660009081526005602052604090205460ff16155b156113685760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610557565b6113748787878461137f565b979650505050505050565b6001600160a01b0384166000908152602081905260408120805484919083906113a99084906118b2565b90915550506001600160a01b038416600090815260208190526040812080548592906113d6908490611a34565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161142291815260200190565b60405180910390a3600b54600160a81b900460ff16611510576114458585611626565b600b54600160a81b900460ff161580156114645750611464858561151b565b801561148957506001600160a01b03851660009081526005602052604090205460ff16155b80156114ae57506001600160a01b03841660009081526005602052604090205460ff16155b80156114b8575081155b156115105760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610557565b506001949350505050565b600d546000906001600160a01b0384811691161480159061154a5750600d546001600160a01b03838116911614155b80156115615750600d546001600160a01b03163214155b801561158657506001600160a01b03821660009081526004602052604090205460ff16155b80156115ab57506001600160a01b03831660009081526004602052604090205460ff16155b80156115c257506001600160a01b03821661dead14155b80156115d657506001600160a01b03821615155b80156115eb57506001600160a01b0383163014155b80156116055750600c546001600160a01b03848116911614155b801561161f5750600c546001600160a01b03838116911614155b9392505050565b600b54600160a81b900460ff161561168c5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610557565b611696828261151b565b1580156116b05750600b546001600160a01b038281169116145b156106d057600c546001600160a01b03166116db57600c80546001600160a01b031916301790555050565b506001600160a01b031660009081526004602052604090208054600160ff1991821617909155600b805461ffff60a01b191661010160a01b179055600880549091169055565b600060208083528351808285015260005b8181101561174e57858101830151858201604001528201611732565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c0557600080fd5b6000806040838503121561179757600080fd5b82356117a28161176f565b946020939093013593505050565b6000602082840312156117c257600080fd5b813561161f8161176f565b600080604083850312156117e057600080fd5b82356117eb8161176f565b915060208301356117fb8161176f565b809150509250929050565b60008060006060848603121561181b57600080fd5b83356118268161176f565b925060208401356118368161176f565b929592945050506040919091013590565b60006020828403121561185957600080fd5b5035919050565b8015158114610c0557600080fd5b6000806040838503121561188157600080fd5b823561188c8161176f565b915060208301356117fb81611860565b634e487b7160e01b600052601160045260246000fd5b818103818111156105075761050761189c565b600181815b808511156119005781600019048211156118e6576118e661189c565b808516156118f357918102915b93841c93908002906118ca565b509250929050565b60008261191757506001610507565b8161192457506000610507565b816001811461193a576002811461194457611960565b6001915050610507565b60ff8411156119555761195561189c565b50506001821b610507565b5060208310610133831016604e8410600b8410161715611983575081810a610507565b61198d83836118c5565b80600019048211156119a1576119a161189c565b029392505050565b600061161f60ff841683611908565b80820281158282048414176105075761050761189c565b600080604083850312156119e257600080fd5b82516119ed8161176f565b60208401519092506117fb8161176f565b600060208284031215611a1057600080fd5b5051919050565b600060208284031215611a2957600080fd5b815161161f81611860565b808201808211156105075761050761189c56fea2646970667358221220bd1a027b2964a71f99c1ffa3115cf89203cb1455bfa4d0dbf2a06699938b888864736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101745760003560e01c80634fb2e45d116100d657806395d89b411161007f578063ee5d9c2d11610059578063ee5d9c2d146104a1578063f5f6d3af146104b6578063feadde9c146104d657600080fd5b806395d89b411461040d578063a9059cbb1461043b578063dd62ed3e1461045b57600080fd5b806370a08231116100b057806370a08231146103a4578063715018a6146103da578063893d20e8146103ef57600080fd5b80634fb2e45d1461034357806350a8e016146103635780635c24b0741461038457600080fd5b806318160ddd1161013857806342966c681161011257806342966c68146102e2578063452ed4f1146103025780634ada218b1461032257600080fd5b806318160ddd1461028757806323b872dd146102a6578063313ce567146102c657600080fd5b806306fdde03146101805780630758d924146101c4578063095ea7b3146101fc5780630dcbcf1c1461022c57806313b4a7f41461026557600080fd5b3661017b57005b600080fd5b34801561018c57600080fd5b506040805180820190915260098152680466c61736820332e360bc1b60208201525b6040516101bb9190611721565b60405180910390f35b3480156101d057600080fd5b50600a546101e4906001600160a01b031681565b6040516001600160a01b0390911681526020016101bb565b34801561020857600080fd5b5061021c610217366004611784565b6104f6565b60405190151581526020016101bb565b34801561023857600080fd5b5061021c6102473660046117b0565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561027157600080fd5b506102856102803660046117cd565b61050d565b005b34801561029357600080fd5b506009545b6040519081526020016101bb565b3480156102b257600080fd5b5061021c6102c1366004611806565b6106d4565b3480156102d257600080fd5b50604051601281526020016101bb565b3480156102ee57600080fd5b506102856102fd366004611847565b61074c565b34801561030e57600080fd5b50600b546101e4906001600160a01b031681565b34801561032e57600080fd5b50600b5461021c90600160a01b900460ff1681565b34801561034f57600080fd5b5061028561035e3660046117b0565b61085e565b34801561036f57600080fd5b50600b5461021c90600160a81b900460ff1681565b34801561039057600080fd5b5061028561039f3660046117b0565b610a46565b3480156103b057600080fd5b506102986103bf3660046117b0565b6001600160a01b031660009081526020819052604090205490565b3480156103e657600080fd5b50610285610c08565b3480156103fb57600080fd5b50600d546001600160a01b03166101e4565b34801561041957600080fd5b5060408051808201909152600581526408c9882a6960db1b60208201526101ae565b34801561044757600080fd5b5061021c610456366004611784565b610d23565b34801561046757600080fd5b506102986104763660046117cd565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156104ad57600080fd5b50610285610d3a565b3480156104c257600080fd5b506102856104d13660046117b0565b610dda565b3480156104e257600080fd5b506102856104f136600461186e565b610f2a565b6000610503338484610fd7565b5060015b92915050565b600d546001600160a01b031633146105605760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b60085460ff1661056f57600080fd5b6001600160a01b038216301480159061059157506001600160a01b0381163014155b80156105ab5750600b546001600160a01b03838116911614155b80156105c55750600b546001600160a01b03828116911614155b6105ff5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba103237b713ba1760a91b6044820152606401610557565b806001600160a01b0316826001600160a01b03160361066a576001600160a01b03808216600081815260046020526040808220805460ff1916600117905551928516927fd0b29ed63fa4498a6774aaaee0e7580a2a3b5c128ac07130f2e7e0e588732b2d9190a35050565b6001600160a01b038281166000818152600460205260408082208054600160ff1991821681179092559486168084528284208054909616909117909455519192917fd0b29ed63fa4498a6774aaaee0e7580a2a3b5c128ac07130f2e7e0e588732b2d9190a35b5050565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610739576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107339084906118b2565b90915550505b6107448484846110d0565b949350505050565b336107596012600a6119a9565b61076390836119b8565b915081610785826001600160a01b031660009081526020819052604090205490565b10156107d35760405162461bcd60e51b815260206004820152601e60248201527f596f7520646f206e6f74206861766520656e6f75676820746f6b656e732e00006044820152606401610557565b6001600160a01b038116600090815260208190526040812080548492906107fb9084906118b2565b92505081905550816009600082825461081491906118b2565b90915550506040518281526000906001600160a01b038316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600d546001600160a01b031633146108ac5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b6001600160a01b0381166109285760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610557565b61deac196001600160a01b038216016109a95760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610557565b600d546001600160a01b0316600090815260208190526040902054156109f457600d546001600160a01b03166000818152602081905260409020546109f291908390600161137f565b505b600d80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600d546001600160a01b03163314610a945760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600b54600160a01b900460ff1615610aab57600080fd5b306001600160a01b03821603610b035760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610557565b600c80546001600160a01b0319166001600160a01b038316908117909155604080516330fe427560e21b8152815163c3f909d49260048084019391929182900301816000875af1925050508015610b77575060408051601f3d908101601f19168201909252610b74918101906119cf565b60015b15610c05576001600160a01b03821615801590610b9c57506001600160a01b03811615155b610ba557600080fd5b600a80546001600160a01b038085166001600160a01b0319928316178355600b80548583169316831790556000918252600160208190526040909220805460ff1916909217909155600d549154610c029282169116600019610fd7565b50505b50565b600d546001600160a01b03163314610c565760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600b54600160a01b900460ff16610cd55760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e00000000000000000000000000000000006064820152608401610557565b600d80546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6000610d303384846110d0565b5060019392505050565b600d546001600160a01b03163314610d885760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600d546040516001600160a01b039091169061d6d89047906000818181858888f193505050503d8060008114610c02576040519150601f19603f3d011682016040523d82523d6000602084013e610c02565b600d546001600160a01b03163314610e285760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b600d546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea391906119fe565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190611a17565b600d546001600160a01b03163314610f785760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b6044820152606401610557565b6001600160a01b038216600081815260056020908152604091829020805460ff191685151590811790915591519182527f7f5ce2a14ac5d831e88d6e5cc41dcecd553ffd745e8558d7934978d386856f70910160405180910390a25050565b6001600160a01b0383166110235760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b03821661106f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166111365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610557565b6001600160a01b0383166111985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610557565b600082116111fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610557565b6001600160a01b0384166000908152600160205260408120548190819060ff16156112285760019250611256565b6001600160a01b03861660009081526001602052604090205460ff16156112525760019150611256565b5060015b611260878761151b565b1561136857600b54600160a01b900460ff1661136857806112c35760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610557565b6001600160a01b03871660009081526005602052604090205460ff1615801561130557506001600160a01b03861660009081526005602052604090205460ff16155b156113685760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610557565b6113748787878461137f565b979650505050505050565b6001600160a01b0384166000908152602081905260408120805484919083906113a99084906118b2565b90915550506001600160a01b038416600090815260208190526040812080548592906113d6908490611a34565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161142291815260200190565b60405180910390a3600b54600160a81b900460ff16611510576114458585611626565b600b54600160a81b900460ff161580156114645750611464858561151b565b801561148957506001600160a01b03851660009081526005602052604090205460ff16155b80156114ae57506001600160a01b03841660009081526005602052604090205460ff16155b80156114b8575081155b156115105760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610557565b506001949350505050565b600d546000906001600160a01b0384811691161480159061154a5750600d546001600160a01b03838116911614155b80156115615750600d546001600160a01b03163214155b801561158657506001600160a01b03821660009081526004602052604090205460ff16155b80156115ab57506001600160a01b03831660009081526004602052604090205460ff16155b80156115c257506001600160a01b03821661dead14155b80156115d657506001600160a01b03821615155b80156115eb57506001600160a01b0383163014155b80156116055750600c546001600160a01b03848116911614155b801561161f5750600c546001600160a01b03838116911614155b9392505050565b600b54600160a81b900460ff161561168c5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610557565b611696828261151b565b1580156116b05750600b546001600160a01b038281169116145b156106d057600c546001600160a01b03166116db57600c80546001600160a01b031916301790555050565b506001600160a01b031660009081526004602052604090208054600160ff1991821617909155600b805461ffff60a01b191661010160a01b179055600880549091169055565b600060208083528351808285015260005b8181101561174e57858101830151858201604001528201611732565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c0557600080fd5b6000806040838503121561179757600080fd5b82356117a28161176f565b946020939093013593505050565b6000602082840312156117c257600080fd5b813561161f8161176f565b600080604083850312156117e057600080fd5b82356117eb8161176f565b915060208301356117fb8161176f565b809150509250929050565b60008060006060848603121561181b57600080fd5b83356118268161176f565b925060208401356118368161176f565b929592945050506040919091013590565b60006020828403121561185957600080fd5b5035919050565b8015158114610c0557600080fd5b6000806040838503121561188157600080fd5b823561188c8161176f565b915060208301356117fb81611860565b634e487b7160e01b600052601160045260246000fd5b818103818111156105075761050761189c565b600181815b808511156119005781600019048211156118e6576118e661189c565b808516156118f357918102915b93841c93908002906118ca565b509250929050565b60008261191757506001610507565b8161192457506000610507565b816001811461193a576002811461194457611960565b6001915050610507565b60ff8411156119555761195561189c565b50506001821b610507565b5060208310610133831016604e8410600b8410161715611983575081810a610507565b61198d83836118c5565b80600019048211156119a1576119a161189c565b029392505050565b600061161f60ff841683611908565b80820281158282048414176105075761050761189c565b600080604083850312156119e257600080fd5b82516119ed8161176f565b60208401519092506117fb8161176f565b600060208284031215611a1057600080fd5b5051919050565b600060208284031215611a2957600080fd5b815161161f81611860565b808201808211156105075761050761189c56fea2646970667358221220bd1a027b2964a71f99c1ffa3115cf89203cb1455bfa4d0dbf2a06699938b888864736f6c63430008130033
Deployed Bytecode Sourcemap
3813:9951:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7268:80;;;;;;;;;;-1:-1:-1;7340:5:0;;;;;;;;;;;;-1:-1:-1;;;7340:5:0;;;;7268:80;;;;;;;:::i;:::-;;;;;;;;4619:26;;;;;;;;;;-1:-1:-1;4619:26:0;;;;-1:-1:-1;;;;;4619:26:0;;;;;;-1:-1:-1;;;;;748:55:1;;;730:74;;718:2;703:18;4619:26:0;567:243:1;7876:161:0;;;;;;;;;;-1:-1:-1;7876:161:0;;;;;:::i;:::-;;:::i;:::-;;;1459:14:1;;1452:22;1434:41;;1422:2;1407:18;7876:161:0;1294:187:1;9259:140:0;;;;;;;;;;-1:-1:-1;9259:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;9357:34:0;9333:4;9357:34;;;:25;:34;;;;;;;;;9259:140;9839:645;;;;;;;;;;-1:-1:-1;9839:645:0;;;;;:::i;:::-;;:::i;:::-;;7003:83;;;;;;;;;;-1:-1:-1;7076:7:0;;7003:83;;;2277:25:1;;;2265:2;2250:18;7003:83:0;2131:177:1;8363:306:0;;;;;;;;;;-1:-1:-1;8363:306:0;;;;;:::i;:::-;;:::i;7092:80::-;;;;;;;;;;-1:-1:-1;7092:80:0;;4547:2;2916:36:1;;2904:2;2889:18;7092:80:0;2774:184:1;13094:352:0;;;;;;;;;;-1:-1:-1;13094:352:0;;;;;:::i;:::-;;:::i;4652:21::-;;;;;;;;;;-1:-1:-1;4652:21:0;;;;-1:-1:-1;;;;;4652:21:0;;;4680:34;;;;;;;;;;-1:-1:-1;4680:34:0;;;;-1:-1:-1;;;4680:34:0;;;;;;5825:550;;;;;;;;;;-1:-1:-1;5825:550:0;;;;;:::i;:::-;;:::i;4721:36::-;;;;;;;;;;-1:-1:-1;4721:36:0;;;;-1:-1:-1;;;4721:36:0;;;;;;8677:574;;;;;;;;;;-1:-1:-1;8677:574:0;;;;;:::i;:::-;;:::i;7578:117::-;;;;;;;;;;-1:-1:-1;7578:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7671:16:0;7644:7;7671:16;;;;;;;;;;;;7578:117;6383:265;;;;;;;;;;;;;:::i;7354:79::-;;;;;;;;;;-1:-1:-1;7424:6:0;;-1:-1:-1;;;;;7424:6:0;7354:79;;7178:84;;;;;;;;;;-1:-1:-1;7252:7:0;;;;;;;;;;;;-1:-1:-1;;;7252:7:0;;;;7178:84;;7703:165;;;;;;;;;;-1:-1:-1;7703:165:0;;;;;:::i;:::-;;:::i;7439:133::-;;;;;;;;;;-1:-1:-1;7439:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7541:19:0;;;7523:7;7541:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7439:133;13454:132;;;;;;;;;;;;;:::i;13594:167::-;;;;;;;;;;-1:-1:-1;13594:167:0;;;;;:::i;:::-;;:::i;9481:204::-;;;;;;;;;;-1:-1:-1;9481:204:0;;;;;:::i;:::-;;:::i;7876:161::-;7953:4;7970:37;7979:10;7991:7;8000:6;7970:8;:37::i;:::-;-1:-1:-1;8025:4:0;7876:161;;;;;:::o;9839:645::-;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;;;;;;;;;9943:23:::1;::::0;::::1;;9935:32;;;::::0;::::1;;-1:-1:-1::0;;;;;9986:23:0;::::1;10004:4;9986:23;::::0;::::1;::::0;:69:::1;;-1:-1:-1::0;;;;;;10031:24:0;::::1;10050:4;10031:24;;9986:69;:107;;;;-1:-1:-1::0;10077:6:0::1;::::0;-1:-1:-1;;;;;10077:16:0;;::::1;:6:::0;::::1;:16;;9986:107;:146;;;;-1:-1:-1::0;10115:6:0::1;::::0;-1:-1:-1;;;;;10115:17:0;;::::1;:6:::0;::::1;:17;;9986:146;9978:170;;;::::0;-1:-1:-1;;;9978:170:0;;4437:2:1;9978:170:0::1;::::0;::::1;4419:21:1::0;4476:2;4456:18;;;4449:30;-1:-1:-1;;;4495:18:1;;;4488:41;4546:18;;9978:170:0::1;4235:335:1::0;9978:170:0::1;10173:7;-1:-1:-1::0;;;;;10163:17:0::1;:6;-1:-1:-1::0;;;;;10163:17:0::1;::::0;10159:318:::1;;-1:-1:-1::0;;;;;10197:26:0;;::::1;;::::0;;;:17:::1;:26;::::0;;;;;:33;;-1:-1:-1;;10197:33:0::1;10226:4;10197:33;::::0;;10250:41;;;::::1;::::0;::::1;::::0;10197:26;10250:41:::1;9839:645:::0;;:::o;10159:318::-:1;-1:-1:-1::0;;;;;10324:25:0;;::::1;;::::0;;;:17:::1;:25;::::0;;;;;:32;;10352:4:::1;-1:-1:-1::0;;10324:32:0;;::::1;::::0;::::1;::::0;;;10371:26;;::::1;::::0;;;;;;:33;;;;::::1;::::0;;::::1;::::0;;;10424:41;10324:25;;10371:26;10424:41:::1;::::0;10324:25;10424:41:::1;10159:318;9839:645:::0;;:::o;8363:306::-;-1:-1:-1;;;;;8484:19:0;;8463:4;8484:19;;;:11;:19;;;;;;;;8504:10;8484:31;;;;;;;;-1:-1:-1;;8484:52:0;8480:126;;-1:-1:-1;;;;;8553:19:0;;;;;;:11;:19;;;;;;;;8573:10;8553:31;;;;;;;:41;;8588:6;;8553:19;:41;;8588:6;;8553:41;:::i;:::-;;;;-1:-1:-1;;8480:126:0;8625:36;8635:6;8643:9;8654:6;8625:9;:36::i;:::-;8618:43;8363:306;-1:-1:-1;;;;8363:306:0:o;13094:352::-;13167:10;13204:13;4547:2;13204;:13;:::i;:::-;13188:29;;;;:::i;:::-;;;13257:12;13236:17;13246:6;-1:-1:-1;;;;;7671:16:0;7644:7;7671:16;;;;;;;;;;;;7578:117;13236:17;:33;;13228:76;;;;-1:-1:-1;;;13228:76:0;;6598:2:1;13228:76:0;;;6580:21:1;6637:2;6617:18;;;6610:30;6676:32;6656:18;;;6649:60;6726:18;;13228:76:0;6396:354:1;13228:76:0;-1:-1:-1;;;;;13315:15:0;;:7;:15;;;;;;;;;;:31;;13334:12;;13315:7;:31;;13334:12;;13315:31;:::i;:::-;;;;;;;;13368:12;13357:7;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13396:42:0;;2277:25:1;;;13421:1:0;;-1:-1:-1;;;;;13396:42:0;;;;;2265:2:1;2250:18;13396:42:0;;;;;;;13139:307;13094:352;:::o;5825:550::-;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;-1:-1:-1;;;;;5904:22:0;::::1;5896:96;;;::::0;-1:-1:-1;;;5896:96:0;;6957:2:1;5896:96:0::1;::::0;::::1;6939:21:1::0;6996:2;6976:18;;;6969:30;7035:34;7015:18;;;7008:62;7106:31;7086:18;;;7079:59;7155:19;;5896:96:0::1;6755:425:1::0;5896:96:0::1;-1:-1:-1::0;;;;;;;6011:27:0;::::1;::::0;6003:101:::1;;;::::0;-1:-1:-1;;;6003:101:0;;6957:2:1;6003:101:0::1;::::0;::::1;6939:21:1::0;6996:2;6976:18;;;6969:30;7035:34;7015:18;;;7008:62;7106:31;7086:18;;;7079:59;7155:19;;6003:101:0::1;6755:425:1::0;6003:101:0::1;6129:6;::::0;-1:-1:-1;;;;;6129:6:0::1;6139:1;7671:16:::0;;;;;;;;;;;6119:21;6115:113:::1;;6174:6;::::0;-1:-1:-1;;;;;6174:6:0::1;7644:7:::0;7671:16;;;;;;;;;;;6157:59:::1;::::0;6174:6;6182:8;;6211:4:::1;6157:16;:59::i;:::-;;6115:113;6267:6;::::0;;-1:-1:-1;;;;;6284:17:0;;::::1;-1:-1:-1::0;;;;;;6284:17:0;::::1;::::0;::::1;::::0;;;6317:40:::1;::::0;6267:6;::::1;::::0;6284:17;6267:6;;6317:40:::1;::::0;6248:16:::1;::::0;6317:40:::1;5885:490;5825:550:::0;:::o;8677:574::-;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;8760:14:::1;::::0;-1:-1:-1;;;8760:14:0;::::1;;;8759:15;8751:24;;;::::0;::::1;;8818:4;-1:-1:-1::0;;;;;8794:29:0;::::1;::::0;8786:56:::1;;;::::0;-1:-1:-1;;;8786:56:0;;7387:2:1;8786:56:0::1;::::0;::::1;7369:21:1::0;7426:2;7406:18;;;7399:30;7465:16;7445:18;;;7438:44;7499:18;;8786:56:0::1;7185:338:1::0;8786:56:0::1;8853:11;:39:::0;;-1:-1:-1;;;;;;8853:39:0::1;-1:-1:-1::0;;;;;8853:39:0;::::1;::::0;;::::1;::::0;;;8907:23:::1;::::0;;-1:-1:-1;;;8907:23:0;;;;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;8853:39:0;8907:23:::1;;;;;;;;;;-1:-1:-1::0;8907:23:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;8907:23:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;8903:341:::0;::::1;;-1:-1:-1::0;;;;;9002:20:0;::::1;::::0;;::::1;::::0;:51:::1;;-1:-1:-1::0;;;;;;9026:27:0;::::1;::::0;::::1;9002:51;8994:60;;;::::0;::::1;;9069:9;:29:::0;;-1:-1:-1;;;;;9069:29:0;;::::1;-1:-1:-1::0;;;;;;9069:29:0;;::::1;;::::0;;9100:6:::1;:22:::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;9069:9:::1;9124:22:::0;;;9069:29;9124:22:::1;::::0;;;;;;;:29;;-1:-1:-1;;9124:29:0::1;::::0;;::::1;::::0;;;9177:6:::1;::::0;9193:9;;9168:55:::1;::::0;9177:6;::::1;::::0;9193:9:::1;-1:-1:-1::0;;9168:8:0::1;:55::i;:::-;8931:304;;8903:341;8677:574:::0;:::o;6383:265::-;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;6450:14:::1;::::0;-1:-1:-1;;;6450:14:0;::::1;;;6442:74;;;::::0;-1:-1:-1;;;6442:74:0;;8120:2:1;6442:74:0::1;::::0;::::1;8102:21:1::0;8159:2;8139:18;;;8132:30;8198:34;8178:18;;;8171:62;8269:17;8249:18;;;8242:45;8304:19;;6442:74:0::1;7918:411:1::0;6442:74:0::1;6546:6;::::0;;-1:-1:-1;;;;;;6563:19:0;::::1;::::0;;;6598:42:::1;::::0;-1:-1:-1;;;;;6546:6:0;;::::1;::::0;6527:16:::1;::::0;6546:6;;6598:42:::1;::::0;6527:16;;6598:42:::1;6431:217;6383:265::o:0;7703:165::-;7781:4;7798:40;7808:10;7820:9;7831:6;7798:9;:40::i;:::-;-1:-1:-1;7856:4:0;;7703:165;-1:-1:-1;;;7703:165:0:o;13454:132::-;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;13520:6:::1;::::0;13512:66:::1;::::0;-1:-1:-1;;;;;13520:6:0;;::::1;::::0;13568:5:::1;::::0;13540:21:::1;::::0;13512:66:::1;::::0;;;13540:21;13520:6;13568:5;13512:66:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13594:167:::0;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;13714:6:::1;::::0;13722:30:::1;::::0;-1:-1:-1;;;13722:30:0;;13746:4:::1;13722:30;::::0;::::1;730:74:1::0;13682:5:0;;-1:-1:-1;;;;;13699:14:0;;::::1;::::0;::::1;::::0;13714:6;;;::::1;::::0;13699:14;;13722:15:::1;::::0;703:18:1;;13722:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13699:54;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;8925:55:1;;;13699:54:0::1;::::0;::::1;8907:74:1::0;8997:18;;;8990:34;8880:18;;13699:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9481:204::-:0;5679:6;;-1:-1:-1;;;;;5679:6:0;5689:10;5679:20;5671:50;;;;-1:-1:-1;;;5671:50:0;;4091:2:1;5671:50:0;;;4073:21:1;4130:2;4110:18;;;4103:30;-1:-1:-1;;;4149:18:1;;;4142:47;4206:18;;5671:50:0;3889:341:1;5671:50:0;-1:-1:-1;;;;;9577:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;;;;:44;;-1:-1:-1;;9577:44:0::1;::::0;::::1;;::::0;;::::1;::::0;;;9637:40;;1434:41:1;;;9637:40:0::1;::::0;1407:18:1;9637:40:0::1;;;;;;;9481:204:::0;;:::o;8045:310::-;-1:-1:-1;;;;;8140:20:0;;8132:52;;;;-1:-1:-1;;;8132:52:0;;9487:2:1;8132:52:0;;;9469:21:1;9526:2;9506:18;;;9499:30;-1:-1:-1;;;9545:18:1;;;9538:49;9604:18;;8132:52:0;9285:343:1;8132:52:0;-1:-1:-1;;;;;8203:21:0;;8195:53;;;;-1:-1:-1;;;8195:53:0;;9487:2:1;8195:53:0;;;9469:21:1;9526:2;9506:18;;;9499:30;-1:-1:-1;;;9545:18:1;;;9538:49;9604:18;;8195:53:0;9285:343:1;8195:53:0;-1:-1:-1;;;;;8261:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;8314:33;;2277:25:1;;;8314:33:0;;2250:18:1;8314:33:0;;;;;;;8045:310;;;:::o;10957:1020::-;11036:4;-1:-1:-1;;;;;11061:18:0;;11053:68;;;;-1:-1:-1;;;11053:68:0;;9835:2:1;11053:68:0;;;9817:21:1;9874:2;9854:18;;;9847:30;9913:34;9893:18;;;9886:62;-1:-1:-1;;;9964:18:1;;;9957:35;10009:19;;11053:68:0;9633:401:1;11053:68:0;-1:-1:-1;;;;;11140:16:0;;11132:64;;;;-1:-1:-1;;;11132:64:0;;10241:2:1;11132:64:0;;;10223:21:1;10280:2;10260:18;;;10253:30;10319:34;10299:18;;;10292:62;-1:-1:-1;;;10370:18:1;;;10363:33;10413:19;;11132:64:0;10039:399:1;11132:64:0;11224:1;11215:6;:10;11207:64;;;;-1:-1:-1;;;11207:64:0;;10645:2:1;11207:64:0;;;10627:21:1;10684:2;10664:18;;;10657:30;10723:34;10703:18;;;10696:62;-1:-1:-1;;;10774:18:1;;;10767:39;10823:19;;11207:64:0;10443:405:1;11207:64:0;-1:-1:-1;;;;;11370:13:0;;11282:8;11370:13;;;:7;:13;;;;;;11282:8;;;;11370:13;;11366:162;;;11406:4;11400:10;;11366:162;;;-1:-1:-1;;;;;11432:11:0;;;;;;:7;:11;;;;;;;;11428:100;;;11467:4;11460:11;;11428:100;;;-1:-1:-1;11512:4:0;11428:100;11542:20;11553:4;11559:2;11542:10;:20::i;:::-;11538:371;;;11583:14;;-1:-1:-1;;;11583:14:0;;;;11579:319;;11623:5;11618:265;;11653:34;;-1:-1:-1;;;11653:34:0;;11055:2:1;11653:34:0;;;11037:21:1;11094:2;11074:18;;;11067:30;11133:26;11113:18;;;11106:54;11177:18;;11653:34:0;10853:348:1;11618:265:0;-1:-1:-1;;;;;11718:31:0;;;;;;:25;:31;;;;;;;;11717:32;:66;;;;-1:-1:-1;;;;;;11754:29:0;;;;;;:25;:29;;;;;;;;11753:30;11717:66;11713:170;;;11808:55;;-1:-1:-1;;;11808:55:0;;11408:2:1;11808:55:0;;;11390:21:1;11447:2;11427:18;;;11420:30;11486:34;11466:18;;;11459:62;-1:-1:-1;;;11537:18:1;;;11530:43;11590:19;;11808:55:0;11206:409:1;11713:170:0;11928:41;11945:4;11951:2;11955:6;11963:5;11928:16;:41::i;:::-;11921:48;10957:1020;-1:-1:-1;;;;;;;10957:1020:0:o;12536:550::-;-1:-1:-1;;;;;12651:13:0;;12634:4;12651:13;;;;;;;;;;:23;;12668:6;;12651:13;12634:4;;12651:23;;12668:6;;12651:23;:::i;:::-;;;;-1:-1:-1;;;;;;;12685:11:0;;:7;:11;;;;;;;;;;:21;;12700:6;;12685:7;:21;;12700:6;;12685:21;:::i;:::-;;;;;;;;12737:2;-1:-1:-1;;;;;12722:26:0;12731:4;-1:-1:-1;;;;;12722:26:0;;12741:6;12722:26;;;;2277:25:1;;2265:2;2250:18;;2131:177;12722:26:0;;;;;;;;12764:16;;-1:-1:-1;;;12764:16:0;;;;12759:298;;12797:28;12816:4;12822:2;12797:18;:28::i;:::-;12845:16;;-1:-1:-1;;;12845:16:0;;;;12844:17;:41;;;;;12865:20;12876:4;12882:2;12865:10;:20::i;:::-;12844:77;;;;-1:-1:-1;;;;;;12890:31:0;;;;;;:25;:31;;;;;;;;12889:32;12844:77;:111;;;;-1:-1:-1;;;;;;12926:29:0;;;;;;:25;:29;;;;;;;;12925:30;12844:111;:121;;;;;12960:5;12959:6;12844:121;12840:206;;;12986:44;;-1:-1:-1;;;12986:44:0;;11952:2:1;12986:44:0;;;11934:21:1;11991:2;11971:18;;;11964:30;12030:34;12010:18;;;12003:62;-1:-1:-1;;;12081:18:1;;;12074:32;12123:19;;12986:44:0;11750:398:1;12840:206:0;-1:-1:-1;13074:4:0;12536:550;;;;;;:::o;10492:457::-;10593:6;;10561:4;;-1:-1:-1;;;;;10585:14:0;;;10593:6;;10585:14;;;;:43;;-1:-1:-1;10622:6:0;;-1:-1:-1;;;;;10616:12:0;;;10622:6;;10616:12;;10585:43;:79;;;;-1:-1:-1;10658:6:0;;-1:-1:-1;;;;;10658:6:0;10645:9;:19;;10585:79;:118;;;;-1:-1:-1;;;;;;10682:21:0;;;;;;:17;:21;;;;;;;;10681:22;10585:118;:159;;;;-1:-1:-1;;;;;;10721:23:0;;;;;;:17;:23;;;;;;;;10720:24;10585:159;:197;;;;-1:-1:-1;;;;;;10761:21:0;;10775:6;10761:21;;10585:197;:230;;;;-1:-1:-1;;;;;;10799:16:0;;;;10585:230;:268;;;;-1:-1:-1;;;;;;10832:21:0;;10848:4;10832:21;;10585:268;:313;;;;-1:-1:-1;10886:11:0;;-1:-1:-1;;;;;10870:28:0;;;10886:11;;10870:28;;10585:313;:356;;;;-1:-1:-1;10929:11:0;;-1:-1:-1;;;;;10915:26:0;;;10929:11;;10915:26;;10585:356;10578:363;10492:457;-1:-1:-1;;;10492:457:0:o;11985:543::-;12068:16;;-1:-1:-1;;;12068:16:0;;;;12067:17;12059:65;;;;-1:-1:-1;;;12059:65:0;;12355:2:1;12059:65:0;;;12337:21:1;12394:2;12374:18;;;12367:30;12433:34;12413:18;;;12406:62;-1:-1:-1;;;12484:18:1;;;12477:33;12527:19;;12059:65:0;12153:399:1;12059:65:0;12140:20;12151:4;12157:2;12140:10;:20::i;:::-;12139:21;:37;;;;-1:-1:-1;12170:6:0;;-1:-1:-1;;;;;12164:12:0;;;12170:6;;12164:12;12139:37;12135:386;;;12205:11;;-1:-1:-1;;;;;12205:11:0;12193:317;;12251:11;:40;;-1:-1:-1;;;;;;12251:40:0;12285:4;12251:40;;;9839:645;;:::o;12193:317::-;-1:-1:-1;;;;;;12332:23:0;;;;;:17;:23;;;;;:30;;12358:4;-1:-1:-1;;12332:30:0;;;;;;;12381:16;:23;;-1:-1:-1;;;;12423:21:0;-1:-1:-1;;;12423:21:0;;;12463:23;:31;;;;;;;11985:543::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;815:154::-;-1:-1:-1;;;;;894:5:1;890:54;883:5;880:65;870:93;;959:1;956;949:12;974:315;1042:6;1050;1103:2;1091:9;1082:7;1078:23;1074:32;1071:52;;;1119:1;1116;1109:12;1071:52;1158:9;1145:23;1177:31;1202:5;1177:31;:::i;:::-;1227:5;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;974:315:1:o;1486:247::-;1545:6;1598:2;1586:9;1577:7;1573:23;1569:32;1566:52;;;1614:1;1611;1604:12;1566:52;1653:9;1640:23;1672:31;1697:5;1672:31;:::i;1738:388::-;1806:6;1814;1867:2;1855:9;1846:7;1842:23;1838:32;1835:52;;;1883:1;1880;1873:12;1835:52;1922:9;1909:23;1941:31;1966:5;1941:31;:::i;:::-;1991:5;-1:-1:-1;2048:2:1;2033:18;;2020:32;2061:33;2020:32;2061:33;:::i;:::-;2113:7;2103:17;;;1738:388;;;;;:::o;2313:456::-;2390:6;2398;2406;2459:2;2447:9;2438:7;2434:23;2430:32;2427:52;;;2475:1;2472;2465:12;2427:52;2514:9;2501:23;2533:31;2558:5;2533:31;:::i;:::-;2583:5;-1:-1:-1;2640:2:1;2625:18;;2612:32;2653:33;2612:32;2653:33;:::i;:::-;2313:456;;2705:7;;-1:-1:-1;;;2759:2:1;2744:18;;;;2731:32;;2313:456::o;2963:180::-;3022:6;3075:2;3063:9;3054:7;3050:23;3046:32;3043:52;;;3091:1;3088;3081:12;3043:52;-1:-1:-1;3114:23:1;;2963:180;-1:-1:-1;2963:180:1:o;3379:118::-;3465:5;3458:13;3451:21;3444:5;3441:32;3431:60;;3487:1;3484;3477:12;3502:382;3567:6;3575;3628:2;3616:9;3607:7;3603:23;3599:32;3596:52;;;3644:1;3641;3634:12;3596:52;3683:9;3670:23;3702:31;3727:5;3702:31;:::i;:::-;3752:5;-1:-1:-1;3809:2:1;3794:18;;3781:32;3822:30;3781:32;3822:30;:::i;4575:127::-;4636:10;4631:3;4627:20;4624:1;4617:31;4667:4;4664:1;4657:15;4691:4;4688:1;4681:15;4707:128;4774:9;;;4795:11;;;4792:37;;;4809:18;;:::i;4840:422::-;4929:1;4972:5;4929:1;4986:270;5007:7;4997:8;4994:21;4986:270;;;5066:4;5062:1;5058:6;5054:17;5048:4;5045:27;5042:53;;;5075:18;;:::i;:::-;5125:7;5115:8;5111:22;5108:55;;;5145:16;;;;5108:55;5224:22;;;;5184:15;;;;4986:270;;;4990:3;4840:422;;;;;:::o;5267:806::-;5316:5;5346:8;5336:80;;-1:-1:-1;5387:1:1;5401:5;;5336:80;5435:4;5425:76;;-1:-1:-1;5472:1:1;5486:5;;5425:76;5517:4;5535:1;5530:59;;;;5603:1;5598:130;;;;5510:218;;5530:59;5560:1;5551:10;;5574:5;;;5598:130;5635:3;5625:8;5622:17;5619:43;;;5642:18;;:::i;:::-;-1:-1:-1;;5698:1:1;5684:16;;5713:5;;5510:218;;5812:2;5802:8;5799:16;5793:3;5787:4;5784:13;5780:36;5774:2;5764:8;5761:16;5756:2;5750:4;5747:12;5743:35;5740:77;5737:159;;;-1:-1:-1;5849:19:1;;;5881:5;;5737:159;5928:34;5953:8;5947:4;5928:34;:::i;:::-;5998:6;5994:1;5990:6;5986:19;5977:7;5974:32;5971:58;;;6009:18;;:::i;:::-;6047:20;;5267:806;-1:-1:-1;;;5267:806:1:o;6078:140::-;6136:5;6165:47;6206:4;6196:8;6192:19;6186:4;6165:47;:::i;6223:168::-;6296:9;;;6327;;6344:15;;;6338:22;;6324:37;6314:71;;6365:18;;:::i;7528:385::-;7607:6;7615;7668:2;7656:9;7647:7;7643:23;7639:32;7636:52;;;7684:1;7681;7674:12;7636:52;7716:9;7710:16;7735:31;7760:5;7735:31;:::i;:::-;7835:2;7820:18;;7814:25;7785:5;;-1:-1:-1;7848:33:1;7814:25;7848:33;:::i;8544:184::-;8614:6;8667:2;8655:9;8646:7;8642:23;8638:32;8635:52;;;8683:1;8680;8673:12;8635:52;-1:-1:-1;8706:16:1;;8544:184;-1:-1:-1;8544:184:1:o;9035:245::-;9102:6;9155:2;9143:9;9134:7;9130:23;9126:32;9123:52;;;9171:1;9168;9161:12;9123:52;9203:9;9197:16;9222:28;9244:5;9222:28;:::i;11620:125::-;11685:9;;;11706:10;;;11703:36;;;11719:18;;:::i
Swarm Source
ipfs://bd1a027b2964a71f99c1ffa3115cf89203cb1455bfa4d0dbf2a06699938b8888
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.