Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
998,800,592.824 DEGENS
Holders
91
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
113,649,576.826900531 DEGENSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DEGENS
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-06 */ // SPDX-License-Identifier: MIT /* Decentralized sports betting exchange using Ethereum smart contracts. Bet with DAI and ETH! Website: https://www.degenstrade.com Telegram: https://t.me/degens_eth Twitter: https://twitter.com/degens_erc */ pragma solidity 0.8.21; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { 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 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); } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() public onlyOwner { emit OwnershipTransferred(address(0)); owner = address(0); } event OwnershipTransferred(address owner); } interface IUniswapFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); } interface iUniswapRouter { 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract DEGENS is IERC20, Ownable { using SafeMath for uint256; string private constant _name = unicode"DEGENS"; string private constant _symbol = unicode"DEGENS"; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); iUniswapRouter router; address public pair; bool private tradestarted = false; bool private swapEnabled = true; uint256 private feeSwapcount; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public exemptFromFee; bool private swappin; uint256 taxswapthreshold; uint256 private _maxtaxswap = ( _totalSupply * 1000 ) / 100000; uint256 private _mintaxswap = ( _totalSupply * 10 ) / 100000; modifier lockswap {swappin = true; _; swappin = false;} uint256 private _maxTrxnAmount = ( _totalSupply * 300 ) / 10000; uint256 private _maxTransferAmount = ( _totalSupply * 300 ) / 10000; uint256 private _maxWalletAmount = ( _totalSupply * 300 ) / 10000; uint256 private lpweight = 0; uint256 private marketingweight = 0; uint256 private devweight = 100; uint256 private burnweight = 0; uint256 private buytax = 1400; uint256 private selltax = 1400; uint256 private transfertax = 1400; uint256 private denominator = 10000; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal marketingaddress = 0xb9fa8f099359477E5d038a7508272d17B35804e7; address internal lpprovideraddress = 0xb9fa8f099359477E5d038a7508272d17B35804e7; address internal devfeeaddress = 0xb9fa8f099359477E5d038a7508272d17B35804e7; constructor() Ownable(msg.sender) { iUniswapRouter _router = iUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IUniswapFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; exemptFromFee[devfeeaddress] = true; exemptFromFee[lpprovideraddress] = true; exemptFromFee[marketingaddress] = true; exemptFromFee[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function startTrading() external onlyOwner {tradestarted = true;} function getOwner() external view override returns (address) { return owner; } 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 totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !exemptFromFee[sender] && !exemptFromFee[recipient]; } function swapandliquidify(uint256 tokens) private lockswap { uint256 _denominator = (lpweight.add(1).add(marketingweight).add(devweight)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(lpweight).div(_denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(lpweight)); uint256 ETHToAddLiquidityWith = unitBalance.mul(lpweight); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingweight); if(marketingAmt > 0){payable(marketingaddress).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(devfeeaddress).transfer(contractBalance);} } function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner { uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000); _maxTrxnAmount = newTx; _maxTransferAmount = newTransfer; _maxWalletAmount = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%"); } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, lpprovideraddress, block.timestamp); } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(recipient == pair){return selltax;} if(sender == pair){return buytax;} return transfertax; } function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { lpweight = _liquidity; marketingweight = _marketing; burnweight = _burn; devweight = _development; buytax = _total; selltax = _sell; transfertax = _trans; require(buytax <= denominator.div(1) && selltax <= denominator.div(1) && transfertax <= denominator.div(1), "buytax and selltax cannot be more than 20%"); } function setContractSwapSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner { taxswapthreshold = _swapAmount; _maxtaxswap = _totalSupply.mul(_swapThreshold).div(uint256(100000)); _mintaxswap = _totalSupply.mul(_minTokenAmount).div(uint256(100000)); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { if (exemptFromFee[recipient]) {return _maxTrxnAmount;} if(getTotalFee(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnweight > uint256(0) && getTotalFee(sender, recipient) > burnweight){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnweight));} return amount.sub(feeAmount);} return amount; } function shouldTaxSwapFee(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _mintaxswap; bool aboveThreshold = balanceOf(address(this)) >= _maxtaxswap; return !swappin && swapEnabled && tradestarted && aboveMin && !exemptFromFee[sender] && recipient == pair && feeSwapcount >= taxswapthreshold && aboveThreshold; } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount <= balanceOf(sender),"You are trying to transfer more than your balance"); if(!exemptFromFee[sender] && !exemptFromFee[recipient]){require(tradestarted, "tradestarted");} if(!exemptFromFee[sender] && !exemptFromFee[recipient] && recipient != address(pair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxWalletAmount, "Exceeds maximum wallet amount.");} if(sender != pair){require(amount <= _maxTransferAmount || exemptFromFee[sender] || exemptFromFee[recipient], "TX Limit Exceeded");} require(amount <= _maxTrxnAmount || exemptFromFee[sender] || exemptFromFee[recipient], "TX Limit Exceeded"); if(recipient == pair && !exemptFromFee[sender]){feeSwapcount += uint256(1);} if(shouldTaxSwapFee(sender, recipient, amount)){swapandliquidify(_maxtaxswap); feeSwapcount = uint256(0);} _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = !exemptFromFee[sender] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setContractSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":[{"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a620004b2565b6200002290633b9aca00620004c9565b60018190556003805461ffff60a01b1916600160a81b179055620186a0906200004e906103e8620004c9565b6200005a9190620004e3565b600a55620186a0600154600a620000729190620004c9565b6200007e9190620004e3565b600b5561271060015461012c620000969190620004c9565b620000a29190620004e3565b600c5561271060015461012c620000ba9190620004c9565b620000c69190620004e3565b600d5561271060015461012c620000de9190620004c9565b620000ea9190620004e3565b600e555f600f81905560108190556064601155601255610578601381905560148190556015556127106016556017805473b9fa8f099359477e5d038a7508272d17b35804e76001600160a01b031991821681179092556018805482168317905560198054909116909117905534801562000162575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001c7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ed919062000503565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000239573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025f919062000503565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d0919062000503565b600280546001600160a01b038581166001600160a01b03199283161790925560038054848416921691909117905560195481165f908152600760209081526040808320805460ff19908116600190811790925560185486168552828520805482168317905560175490951684528184208054861682179055338085528285208054909616821790955554600583528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200052b565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f757815f1904821115620003db57620003db620003a3565b80851615620003e957918102915b93841c9390800290620003bc565b509250929050565b5f826200040f57506001620004ac565b816200041d57505f620004ac565b8160018114620004365760028114620004415762000461565b6001915050620004ac565b60ff841115620004555762000455620003a3565b50506001821b620004ac565b5060208310610133831016604e8410600b841016171562000486575081810a620004ac565b620004928383620003b7565b805f1904821115620004a857620004a8620003a3565b0290505b92915050565b5f620004c260ff841683620003ff565b9392505050565b8082028115828204841417620004ac57620004ac620003a3565b5f82620004fe57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000514575f80fd5b81516001600160a01b0381168114620004c2575f80fd5b61182580620005395f395ff3fe608060405260043610610113575f3560e01c8063715018a61161009d578063a8aa1b3111610062578063a8aa1b311461030d578063a9059cbb1461032c578063cb7f97d71461034b578063dd62ed3e1461036a578063f2fde38b146103ae575f80fd5b8063715018a61461028b578063893d20e81461029f57806395d89b411461011e5780639cc35351146102cf5780639d8740cb146102ee575f80fd5b8063293230b8116100e3578063293230b8146101cb5780632f54bf6e146101e1578063313ce5671461020e57806358e4b7311461022957806370a0823114610257575f80fd5b806306fdde031461011e578063095ea7b31461015b57806318160ddd1461018a57806323b872dd146101ac575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820182526006815265444547454e5360d01b6020820152905161015291906114e2565b60405180910390f35b348015610166575f80fd5b5061017a610175366004611544565b6103cd565b6040519015158152602001610152565b348015610195575f80fd5b5061019e6103e3565b604051908152602001610152565b3480156101b7575f80fd5b5061017a6101c636600461156e565b610453565b3480156101d6575f80fd5b506101df6104bb565b005b3480156101ec575f80fd5b5061017a6101fb3660046115ac565b5f546001600160a01b0391821691161490565b348015610219575f80fd5b5060405160098152602001610152565b348015610234575f80fd5b5061017a6102433660046115ac565b60076020525f908152604090205460ff1681565b348015610262575f80fd5b5061019e6102713660046115ac565b6001600160a01b03165f9081526005602052604090205490565b348015610296575f80fd5b506101df610502565b3480156102aa575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610152565b3480156102da575f80fd5b506101df6102e93660046115c7565b61056f565b3480156102f9575f80fd5b506101df6103083660046115c7565b6106ab565b348015610318575f80fd5b506003546102b7906001600160a01b031681565b348015610337575f80fd5b5061017a610346366004611544565b610710565b348015610356575f80fd5b506101df6103653660046115f0565b61071c565b348015610375575f80fd5b5061019e610384366004611637565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156103b9575f80fd5b506101df6103c83660046115ac565b610810565b5f6103d933848461088c565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead5f9081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261044e92909161044891906109af565b906109af565b905090565b5f61045f8484846109ba565b6104b084336104ab856040518060600160405280602881526020016117c8602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610ef9565b61088c565b5060015b9392505050565b5f546001600160a01b031633146104ed5760405162461bcd60e51b81526004016104e49061166e565b60405180910390fd5b6003805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461052b5760405162461bcd60e51b81526004016104e49061166e565b6040515f81527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a15f80546001600160a01b0319169055565b5f546001600160a01b031633146105985760405162461bcd60e51b81526004016104e49061166e565b5f6105ba6127106105b486600154610f2490919063ffffffff16565b90610f2f565b90505f6105d86127106105b486600154610f2490919063ffffffff16565b90505f6105f66127106105b486600154610f2490919063ffffffff16565b600c849055600d839055600e81905590505f6106216103e86105b4600561061b6103e3565b90610f24565b90508084101580156106335750808310155b801561063f5750808210155b6106a25760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104e4565b50505050505050565b5f546001600160a01b031633146106d45760405162461bcd60e51b81526004016104e49061166e565b60098390556001546106ef90620186a0906105b49085610f24565b600a5560015461070890620186a0906105b49084610f24565b600b55505050565b5f6103d93384846109ba565b5f546001600160a01b031633146107455760405162461bcd60e51b81526004016104e49061166e565b600f879055601086905560128590556011849055601383905560148290556015819055601654610776906001610f2f565b601354111580156107965750601654610790906001610f2f565b60145411155b80156107b157506016546107ab906001610f2f565b60155411155b6106a25760405162461bcd60e51b815260206004820152602a60248201527f62757974617820616e642073656c6c7461782063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b60648201526084016104e4565b5f546001600160a01b031633146108395760405162461bcd60e51b81526004016104e49061166e565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e4565b6001600160a01b03821661094f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e4565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6104b482846116a2565b6001600160a01b038316610a1e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e4565b6001600160a01b038216610a805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e4565b6001600160a01b0383165f90815260056020526040902054811115610b015760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104e4565b6001600160a01b0383165f9081526007602052604090205460ff16158015610b4157506001600160a01b0382165f9081526007602052604090205460ff16155b15610b8e57600354600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600c60248201526b1d1c9859195cdd185c9d195960a21b60448201526064016104e4565b6001600160a01b0383165f9081526007602052604090205460ff16158015610bce57506001600160a01b0382165f9081526007602052604090205460ff16155b8015610be857506003546001600160a01b03838116911614155b8015610bff57506001600160a01b03821661dead14155b15610c7757600e546001600160a01b0383165f90815260056020526040902054610c299083610f3a565b1115610c775760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104e4565b6003546001600160a01b03848116911614610d1657600d5481111580610cb457506001600160a01b0383165f9081526007602052604090205460ff165b80610cd657506001600160a01b0382165f9081526007602052604090205460ff165b610d165760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e4565b600c5481111580610d3e57506001600160a01b0383165f9081526007602052604090205460ff165b80610d6057506001600160a01b0382165f9081526007602052604090205460ff165b610da05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e4565b6003546001600160a01b038381169116148015610dd557506001600160a01b0383165f9081526007602052604090205460ff16155b15610df257600160045f828254610dec91906116b5565b90915550505b610dfd838383610f45565b15610e1257610e0d600a54610ffd565b5f6004555b6001600160a01b0383165f90815260056020526040902054610e3490826109af565b6001600160a01b0384165f90815260056020908152604080832093909355600790529081205460ff1615610e685781610e73565b610e7384848461116d565b6001600160a01b0384165f90815260056020526040902054909150610e989082610f3a565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eeb9085815260200190565b60405180910390a350505050565b5f8184841115610f1c5760405162461bcd60e51b81526004016104e491906114e2565b505050900390565b5f6104b482846116c8565b5f6104b482846116df565b5f6104b482846116b5565b600b54600a54305f9081526005602052604081205460085491938510159211159060ff16158015610f7f5750600354600160a81b900460ff165b8015610f945750600354600160a01b900460ff165b8015610f9d5750815b8015610fc157506001600160a01b0386165f9081526007602052604090205460ff16155b8015610fda57506003546001600160a01b038681169116145b8015610fea575060095460045410155b8015610ff35750805b9695505050505050565b6008805460ff19166001908117909155601154601054600f545f936110369360029361061b939192611030928391610f3a565b90610f3a565b90505f611052826105b4600f5486610f2490919063ffffffff16565b90505f61105f84836109af565b90504761106b82611297565b5f61107647836109af565b90505f611098611091600f54886109af90919063ffffffff16565b8390610f2f565b90505f6110b0600f5483610f2490919063ffffffff16565b905080156110c2576110c286826113e7565b6010545f906110d69061061b856002610f24565b90508015611117576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611115573d5f803e3d5ffd5b505b478015611157576019546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611155573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b6001600160a01b0382165f9081526007602052604081205460ff16156111965750600c546104b4565b5f6111a18585611498565b1115611290575f6111c36111b58686611498565b60165461061b908690610f2f565b305f908152600560205260409020549091506111df9082610f3a565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122f9085815260200190565b60405180910390a35f60125411801561125257506012546112508686611498565b115b1561127e5761127e3061dead61127960125461061b60165489610f2f90919063ffffffff16565b6109ba565b61128883826109af565b9150506104b4565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106112ca576112ca6116fe565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611321573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113459190611712565b81600181518110611358576113586116fe565b6001600160a01b03928316602091820292909201015260025461137e913091168461088c565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b69085905f9086903090429060040161172d565b5f604051808303815f87803b1580156113cd575f80fd5b505af11580156113df573d5f803e3d5ffd5b505050505050565b6002546113ff9030906001600160a01b03168461088c565b60025460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561146c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611491919061179c565b5050505050565b6003545f906001600160a01b03908116908316036114b957506014546103dd565b6003546001600160a01b03908116908416036114d857506013546103dd565b5060155492915050565b5f6020808352835180828501525f5b8181101561150d578581018301518582016040015282016114f1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611541575f80fd5b50565b5f8060408385031215611555575f80fd5b82356115608161152d565b946020939093013593505050565b5f805f60608486031215611580575f80fd5b833561158b8161152d565b9250602084013561159b8161152d565b929592945050506040919091013590565b5f602082840312156115bc575f80fd5b81356104b48161152d565b5f805f606084860312156115d9575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a031215611606575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611648575f80fd5b82356116538161152d565b915060208301356116638161152d565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103dd576103dd61168e565b808201808211156103dd576103dd61168e565b80820281158282048414176103dd576103dd61168e565b5f826116f957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611722575f80fd5b81516104b48161152d565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561177b5784516001600160a01b031683529383019391830191600101611756565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156117ae575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201ba1e8e5a16892bc8163596374f8e1e425b7a5ce43514d2c7bba99ef52c9a4f964736f6c63430008150033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063715018a61161009d578063a8aa1b3111610062578063a8aa1b311461030d578063a9059cbb1461032c578063cb7f97d71461034b578063dd62ed3e1461036a578063f2fde38b146103ae575f80fd5b8063715018a61461028b578063893d20e81461029f57806395d89b411461011e5780639cc35351146102cf5780639d8740cb146102ee575f80fd5b8063293230b8116100e3578063293230b8146101cb5780632f54bf6e146101e1578063313ce5671461020e57806358e4b7311461022957806370a0823114610257575f80fd5b806306fdde031461011e578063095ea7b31461015b57806318160ddd1461018a57806323b872dd146101ac575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820182526006815265444547454e5360d01b6020820152905161015291906114e2565b60405180910390f35b348015610166575f80fd5b5061017a610175366004611544565b6103cd565b6040519015158152602001610152565b348015610195575f80fd5b5061019e6103e3565b604051908152602001610152565b3480156101b7575f80fd5b5061017a6101c636600461156e565b610453565b3480156101d6575f80fd5b506101df6104bb565b005b3480156101ec575f80fd5b5061017a6101fb3660046115ac565b5f546001600160a01b0391821691161490565b348015610219575f80fd5b5060405160098152602001610152565b348015610234575f80fd5b5061017a6102433660046115ac565b60076020525f908152604090205460ff1681565b348015610262575f80fd5b5061019e6102713660046115ac565b6001600160a01b03165f9081526005602052604090205490565b348015610296575f80fd5b506101df610502565b3480156102aa575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610152565b3480156102da575f80fd5b506101df6102e93660046115c7565b61056f565b3480156102f9575f80fd5b506101df6103083660046115c7565b6106ab565b348015610318575f80fd5b506003546102b7906001600160a01b031681565b348015610337575f80fd5b5061017a610346366004611544565b610710565b348015610356575f80fd5b506101df6103653660046115f0565b61071c565b348015610375575f80fd5b5061019e610384366004611637565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156103b9575f80fd5b506101df6103c83660046115ac565b610810565b5f6103d933848461088c565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead5f9081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261044e92909161044891906109af565b906109af565b905090565b5f61045f8484846109ba565b6104b084336104ab856040518060600160405280602881526020016117c8602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610ef9565b61088c565b5060015b9392505050565b5f546001600160a01b031633146104ed5760405162461bcd60e51b81526004016104e49061166e565b60405180910390fd5b6003805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461052b5760405162461bcd60e51b81526004016104e49061166e565b6040515f81527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a15f80546001600160a01b0319169055565b5f546001600160a01b031633146105985760405162461bcd60e51b81526004016104e49061166e565b5f6105ba6127106105b486600154610f2490919063ffffffff16565b90610f2f565b90505f6105d86127106105b486600154610f2490919063ffffffff16565b90505f6105f66127106105b486600154610f2490919063ffffffff16565b600c849055600d839055600e81905590505f6106216103e86105b4600561061b6103e3565b90610f24565b90508084101580156106335750808310155b801561063f5750808210155b6106a25760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104e4565b50505050505050565b5f546001600160a01b031633146106d45760405162461bcd60e51b81526004016104e49061166e565b60098390556001546106ef90620186a0906105b49085610f24565b600a5560015461070890620186a0906105b49084610f24565b600b55505050565b5f6103d93384846109ba565b5f546001600160a01b031633146107455760405162461bcd60e51b81526004016104e49061166e565b600f879055601086905560128590556011849055601383905560148290556015819055601654610776906001610f2f565b601354111580156107965750601654610790906001610f2f565b60145411155b80156107b157506016546107ab906001610f2f565b60155411155b6106a25760405162461bcd60e51b815260206004820152602a60248201527f62757974617820616e642073656c6c7461782063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b60648201526084016104e4565b5f546001600160a01b031633146108395760405162461bcd60e51b81526004016104e49061166e565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108ee5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e4565b6001600160a01b03821661094f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e4565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6104b482846116a2565b6001600160a01b038316610a1e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e4565b6001600160a01b038216610a805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e4565b6001600160a01b0383165f90815260056020526040902054811115610b015760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104e4565b6001600160a01b0383165f9081526007602052604090205460ff16158015610b4157506001600160a01b0382165f9081526007602052604090205460ff16155b15610b8e57600354600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600c60248201526b1d1c9859195cdd185c9d195960a21b60448201526064016104e4565b6001600160a01b0383165f9081526007602052604090205460ff16158015610bce57506001600160a01b0382165f9081526007602052604090205460ff16155b8015610be857506003546001600160a01b03838116911614155b8015610bff57506001600160a01b03821661dead14155b15610c7757600e546001600160a01b0383165f90815260056020526040902054610c299083610f3a565b1115610c775760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104e4565b6003546001600160a01b03848116911614610d1657600d5481111580610cb457506001600160a01b0383165f9081526007602052604090205460ff165b80610cd657506001600160a01b0382165f9081526007602052604090205460ff165b610d165760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e4565b600c5481111580610d3e57506001600160a01b0383165f9081526007602052604090205460ff165b80610d6057506001600160a01b0382165f9081526007602052604090205460ff165b610da05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104e4565b6003546001600160a01b038381169116148015610dd557506001600160a01b0383165f9081526007602052604090205460ff16155b15610df257600160045f828254610dec91906116b5565b90915550505b610dfd838383610f45565b15610e1257610e0d600a54610ffd565b5f6004555b6001600160a01b0383165f90815260056020526040902054610e3490826109af565b6001600160a01b0384165f90815260056020908152604080832093909355600790529081205460ff1615610e685781610e73565b610e7384848461116d565b6001600160a01b0384165f90815260056020526040902054909150610e989082610f3a565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eeb9085815260200190565b60405180910390a350505050565b5f8184841115610f1c5760405162461bcd60e51b81526004016104e491906114e2565b505050900390565b5f6104b482846116c8565b5f6104b482846116df565b5f6104b482846116b5565b600b54600a54305f9081526005602052604081205460085491938510159211159060ff16158015610f7f5750600354600160a81b900460ff165b8015610f945750600354600160a01b900460ff165b8015610f9d5750815b8015610fc157506001600160a01b0386165f9081526007602052604090205460ff16155b8015610fda57506003546001600160a01b038681169116145b8015610fea575060095460045410155b8015610ff35750805b9695505050505050565b6008805460ff19166001908117909155601154601054600f545f936110369360029361061b939192611030928391610f3a565b90610f3a565b90505f611052826105b4600f5486610f2490919063ffffffff16565b90505f61105f84836109af565b90504761106b82611297565b5f61107647836109af565b90505f611098611091600f54886109af90919063ffffffff16565b8390610f2f565b90505f6110b0600f5483610f2490919063ffffffff16565b905080156110c2576110c286826113e7565b6010545f906110d69061061b856002610f24565b90508015611117576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611115573d5f803e3d5ffd5b505b478015611157576019546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611155573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b6001600160a01b0382165f9081526007602052604081205460ff16156111965750600c546104b4565b5f6111a18585611498565b1115611290575f6111c36111b58686611498565b60165461061b908690610f2f565b305f908152600560205260409020549091506111df9082610f3a565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122f9085815260200190565b60405180910390a35f60125411801561125257506012546112508686611498565b115b1561127e5761127e3061dead61127960125461061b60165489610f2f90919063ffffffff16565b6109ba565b61128883826109af565b9150506104b4565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106112ca576112ca6116fe565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611321573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113459190611712565b81600181518110611358576113586116fe565b6001600160a01b03928316602091820292909201015260025461137e913091168461088c565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b69085905f9086903090429060040161172d565b5f604051808303815f87803b1580156113cd575f80fd5b505af11580156113df573d5f803e3d5ffd5b505050505050565b6002546113ff9030906001600160a01b03168461088c565b60025460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561146c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611491919061179c565b5050505050565b6003545f906001600160a01b03908116908316036114b957506014546103dd565b6003546001600160a01b03908116908416036114d857506013546103dd565b5060155492915050565b5f6020808352835180828501525f5b8181101561150d578581018301518582016040015282016114f1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611541575f80fd5b50565b5f8060408385031215611555575f80fd5b82356115608161152d565b946020939093013593505050565b5f805f60608486031215611580575f80fd5b833561158b8161152d565b9250602084013561159b8161152d565b929592945050506040919091013590565b5f602082840312156115bc575f80fd5b81356104b48161152d565b5f805f606084860312156115d9575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a031215611606575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611648575f80fd5b82356116538161152d565b915060208301356116638161152d565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103dd576103dd61168e565b808201808211156103dd576103dd61168e565b80820281158282048414176103dd576103dd61168e565b5f826116f957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611722575f80fd5b81516104b48161152d565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561177b5784516001600160a01b031683529383019391830191600101611756565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156117ae575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201ba1e8e5a16892bc8163596374f8e1e425b7a5ce43514d2c7bba99ef52c9a4f964736f6c63430008150033
Deployed Bytecode Sourcemap
3807:10263:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6181:67;;;;;;;;;;-1:-1:-1;6241:5:0;;;;;;;;;;;-1:-1:-1;;;6241:5:0;;;;6181:67;;;;6241:5;6181:67;:::i;:::-;;;;;;;;6946:133;;;;;;;;;;-1:-1:-1;6946:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6946:133:0;1023:187:1;7085:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7085:132:0;1215:177:1;10781:309:0;;;;;;;;;;-1:-1:-1;10781:309:0;;;;;:::i;:::-;;:::i;6404:65::-;;;;;;;;;;;;;:::i;:::-;;2660:87;;;;;;;;;;-1:-1:-1;2660:87:0;;;;;:::i;:::-;2715:4;2740:5;-1:-1:-1;;;;;2729:16:0;;;2740:5;;2729:16;;2660:87;6331:67;;;;;;;;;;-1:-1:-1;6331:67:0;;4027:1;2252:36:1;;2240:2;2225:18;6331:67:0;2110:184:1;4391:46:0;;;;;;;;;;-1:-1:-1;4391:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6559:103;;;;;;;;;;-1:-1:-1;6559:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6642:18:0;6625:7;6642:18;;;:9;:18;;;;;;;6559:103;2870:131;;;;;;;;;;;;;:::i;6475:78::-;;;;;;;;;;-1:-1:-1;6527:7:0;6545:5;-1:-1:-1;;;;;6545:5:0;6475:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6475:78:0;2299:203:1;8786:563:0;;;;;;;;;;-1:-1:-1;8786:563:0;;;;;:::i;:::-;;:::i;10453:320::-;;;;;;;;;;-1:-1:-1;10453:320:0;;;;;:::i;:::-;;:::i;4131:19::-;;;;;;;;;;-1:-1:-1;4131:19:0;;;;-1:-1:-1;;;;;4131:19:0;;;6668:139;;;;;;;;;;-1:-1:-1;6668:139:0;;;;;:::i;:::-;;:::i;9930:515::-;;;;;;;;;;-1:-1:-1;9930:515:0;;;;;:::i;:::-;;:::i;6813:127::-;;;;;;;;;;-1:-1:-1;6813:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6911:18:0;;;6894:7;6911:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6813:127;2753:111;;;;;;;;;;-1:-1:-1;2753:111:0;;;;;:::i;:::-;;:::i;6946:133::-;7021:4;7028:37;7037:10;7049:7;7058:6;7028:8;:37::i;:::-;-1:-1:-1;7073:4:0;6946:133;;;;;:::o;7085:132::-;6642:9;:18;;;;5256:42;7138:7;6642:18;;;;;7155:12;;7138:7;;7155:60;;6642:18;;7155:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;7148:67;;7085:132;:::o;10781:309::-;10879:4;10896:36;10906:6;10914:9;10925:6;10896:9;:36::i;:::-;10943:117;10952:6;10960:10;10972:87;11008:6;10972:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10972:19:0;;;;;;:11;:19;;;;;;;;10992:10;10972:31;;;;;;;;;:87;:35;:87::i;:::-;10943:8;:117::i;:::-;-1:-1:-1;11078:4:0;10781:309;;;;;;:::o;6404:65::-;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;;;;;;;;;6448:12:::1;:19:::0;;-1:-1:-1;;;;6448:19:0::1;-1:-1:-1::0;;;6448:19:0::1;::::0;;6404:65::o;2870:131::-;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;2932:32:::1;::::0;2961:1:::1;2445:51:1::0;;2932:32:0::1;::::0;2433:2:1;2418:18;2932:32:0::1;;;;;;;2991:1;2975:18:::0;;-1:-1:-1;;;;;;2975:18:0::1;::::0;;2870:131::o;8786:563::-;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;8892:13:::1;8908:33;8935:5;8908:22;8925:4;8908:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;8892:49;;8943:19;8965:34;8993:5;8965:23;8982:5;8965:12;;:16;;:23;;;;:::i;:34::-;8943:56;;9001:17;9021:36;9051:5;9021:25;9038:7;9021:12;;:16;;:25;;;;:::i;:36::-;9068:14;:22:::0;;;9092:18:::1;:32:::0;;;9126:16:::1;:28:::0;;;9001:56;-1:-1:-1;;9181:30:0::1;9206:4;9181:20;9199:1;9181:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;9165:46;;9239:5;9230;:14;;:38;;;;;9263:5;9248:11;:20;;9230:38;:60;;;;;9285:5;9272:9;:18;;9230:60;9222:119;;;::::0;-1:-1:-1;;;9222:119:0;;4614:2:1;9222:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;9222:119:0::1;4412:410:1::0;9222:119:0::1;8881:468;;;;8786:563:::0;;;:::o;10453:320::-;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;10586:16:::1;:30:::0;;;10632:12:::1;::::0;:53:::1;::::0;10677:6:::1;::::0;10632:32:::1;::::0;10649:14;10632:16:::1;:32::i;:53::-;10618:11;:67:::0;10711:12:::1;::::0;:54:::1;::::0;10757:6:::1;::::0;10711:33:::1;::::0;10728:15;10711:16:::1;:33::i;:54::-;10697:11;:68:::0;-1:-1:-1;;;10453:320:0:o;6668:139::-;6746:4;6753:40;6763:10;6775:9;6786:6;6753:9;:40::i;9930:515::-;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;10120:8:::1;:21:::0;;;10143:15:::1;:28:::0;;;10173:10:::1;:18:::0;;;10193:9:::1;:24:::0;;;10219:6:::1;:15:::0;;;10236:7:::1;:15:::0;;;10253:11:::1;:20:::0;;;10302:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10302:15:0::1;:18::i;:::-;10292:6;;:28;;:61;;;;-1:-1:-1::0;10335:11:0::1;::::0;:18:::1;::::0;10351:1:::1;10335:15;:18::i;:::-;10324:7;;:29;;10292:61;:98;;;;-1:-1:-1::0;10372:11:0::1;::::0;:18:::1;::::0;10388:1:::1;10372:15;:18::i;:::-;10357:11;;:33;;10292:98;10284:153;;;::::0;-1:-1:-1;;;10284:153:0;;5029:2:1;10284:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;10284:153:0::1;4827:406:1::0;2753:111:0;2715:4;2740:5;-1:-1:-1;;;;;2740:5:0;2627:10;2729:16;2611:38;;;;-1:-1:-1;;;2611:38:0;;;;;;;:::i;:::-;2819:5:::1;:11:::0;;-1:-1:-1;;;;;;2819:11:0::1;-1:-1:-1::0;;;;;2819:11:0;::::1;::::0;;::::1;::::0;;;2837:25:::1;::::0;2445:51:1;;;2837:25:0::1;::::0;2433:2:1;2418:18;2837:25:0::1;;;;;;;2753:111:::0;:::o;7227:335::-;-1:-1:-1;;;;;7320:19:0;;7312:68;;;;-1:-1:-1;;;7312:68:0;;5656:2:1;7312:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;7312:68:0;5454:400:1;7312:68:0;-1:-1:-1;;;;;7399:21:0;;7391:68;;;;-1:-1:-1;;;7391:68:0;;6061:2:1;7391:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;7391:68:0;5859:398:1;7391:68:0;-1:-1:-1;;;;;7470:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7522:32;;1361:25:1;;;7522:32:0;;1334:18:1;7522:32:0;;;;;;;7227:335;;;:::o;409:98::-;467:7;494:5;498:1;494;:5;:::i;12619:1448::-;-1:-1:-1;;;;;12716:20:0;;12708:70;;;;-1:-1:-1;;;12708:70:0;;6729:2:1;12708:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;12708:70:0;6527:401:1;12708:70:0;-1:-1:-1;;;;;12797:23:0;;12789:71;;;;-1:-1:-1;;;12789:71:0;;7135:2:1;12789:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;12789:71:0;6933:399:1;12789:71:0;-1:-1:-1;;;;;6642:18:0;;6625:7;6642:18;;;:9;:18;;;;;;12879:6;:27;;12871:88;;;;-1:-1:-1;;;12871:88:0;;7539:2:1;12871:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;12871:88:0;7337:413:1;12871:88:0;-1:-1:-1;;;;;12974:21:0;;;;;;:13;:21;;;;;;;;12973:22;:51;;;;-1:-1:-1;;;;;;13000:24:0;;;;;;:13;:24;;;;;;;;12999:25;12973:51;12970:95;;;13034:12;;-1:-1:-1;;;13034:12:0;;;;13026:37;;;;-1:-1:-1;;;13026:37:0;;7957:2:1;13026:37:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:42;8067:18;;13026:37:0;7755:336:1;13026:37:0;-1:-1:-1;;;;;13079:21:0;;;;;;:13;:21;;;;;;;;13078:22;:51;;;;-1:-1:-1;;;;;;13105:24:0;;;;;;:13;:24;;;;;;;;13104:25;13078:51;:81;;;;-1:-1:-1;13154:4:0;;-1:-1:-1;;;;;13133:26:0;;;13154:4;;13133:26;;13078:81;:111;;;;-1:-1:-1;;;;;;13163:26:0;;5256:42;13163:26;;13078:111;13075:225;;;13247:16;;-1:-1:-1;;;;;13210:20:0;;;;;;:9;:20;;;;;;:32;;13235:6;13210:24;:32::i;:::-;13209:54;;13201:97;;;;-1:-1:-1;;;13201:97:0;;8298:2:1;13201:97:0;;;8280:21:1;8337:2;8317:18;;;8310:30;8376:32;8356:18;;;8349:60;8426:18;;13201:97:0;8096:354:1;13201:97:0;13323:4;;-1:-1:-1;;;;;13313:14:0;;;13323:4;;13313:14;13310:132;;13347:18;;13337:6;:28;;:53;;;-1:-1:-1;;;;;;13369:21:0;;;;;;:13;:21;;;;;;;;13337:53;:81;;;-1:-1:-1;;;;;;13394:24:0;;;;;;:13;:24;;;;;;;;13337:81;13329:111;;;;-1:-1:-1;;;13329:111:0;;8657:2:1;13329:111:0;;;8639:21:1;8696:2;8676:18;;;8669:30;-1:-1:-1;;;8715:18:1;;;8708:47;8772:18;;13329:111:0;8455:341:1;13329:111:0;13470:14;;13460:6;:24;;:49;;;-1:-1:-1;;;;;;13488:21:0;;;;;;:13;:21;;;;;;;;13460:49;:77;;;-1:-1:-1;;;;;;13513:24:0;;;;;;:13;:24;;;;;;;;13460:77;13452:107;;;;-1:-1:-1;;;13452:107:0;;8657:2:1;13452:107:0;;;8639:21:1;8696:2;8676:18;;;8669:30;-1:-1:-1;;;8715:18:1;;;8708:47;8772:18;;13452:107:0;8455:341:1;13452:107:0;13587:4;;-1:-1:-1;;;;;13574:17:0;;;13587:4;;13574:17;:43;;;;-1:-1:-1;;;;;;13596:21:0;;;;;;:13;:21;;;;;;;;13595:22;13574:43;13571:76;;;13643:1;13619:12;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;13571:76:0;13660:43;13677:6;13685:9;13696:6;13660:16;:43::i;:::-;13657:106;;;13705:29;13722:11;;13705:16;:29::i;:::-;13759:1;13736:12;:25;13657:106;-1:-1:-1;;;;;13793:17:0;;;;;;:9;:17;;;;;;:29;;13815:6;13793:21;:29::i;:::-;-1:-1:-1;;;;;13773:17:0;;;;;;:9;:17;;;;;;;;:49;;;;13859:13;:21;;;;;;;;13858:22;:68;;13920:6;13858:68;;;13883:34;13891:6;13899:9;13910:6;13883:7;:34::i;:::-;-1:-1:-1;;;;;13960:20:0;;;;;;:9;:20;;;;;;13833:93;;-1:-1:-1;13960:40:0;;13833:93;13960:24;:40::i;:::-;-1:-1:-1;;;;;13937:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14016:43;;;;;;;;;;14044:14;1361:25:1;;1349:2;1334:18;;1215:177;14016:43:0;;;;;;;;12697:1370;12619:1448;;;:::o;825:240::-;945:7;1006:12;998:6;;;;990:29;;;;-1:-1:-1;;;990:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1041:5:0;;;825:240::o;513:98::-;571:7;598:5;602:1;598;:5;:::i;617:98::-;675:7;702:5;706:1;702;:5;:::i;305:98::-;363:7;390:5;394:1;390;:5;:::i;11767:404::-;11910:11;;11982;;11972:4;11867;6642:18;;;:9;:18;;;;;;12012:7;;11867:4;;11900:21;;;;-1:-1:-1;11954:39:0;;12012:7;;12011:8;:23;;;;-1:-1:-1;12023:11:0;;-1:-1:-1;;;12023:11:0;;;;12011:23;:39;;;;-1:-1:-1;12038:12:0;;-1:-1:-1;;;12038:12:0;;;;12011:39;:51;;;;;12054:8;12011:51;:77;;;;-1:-1:-1;;;;;;12067:21:0;;;;;;:13;:21;;;;;;;;12066:22;12011:77;:98;;;;-1:-1:-1;12105:4:0;;-1:-1:-1;;;;;12092:17:0;;;12105:4;;12092:17;12011:98;:134;;;;;12129:16;;12113:12;;:32;;12011:134;:152;;;;;12149:14;12011:152;12004:159;11767:404;-1:-1:-1;;;;;;11767:404:0:o;7740:1038::-;4657:7;:14;;-1:-1:-1;;4657:14:0;4667:4;4657:14;;;;;;7875:9:::1;::::0;7854:15:::1;::::0;7834:8:::1;::::0;4657:7;;7833:60:::1;::::0;7891:1:::1;::::0;7834:51:::1;::::0;7875:9;;7834:36:::1;::::0;;;:12:::1;:15::i;:::-;:19:::0;::::1;:36::i;7833:60::-;7810:83;;7904:32;7939:38;7964:12;7939:20;7950:8;;7939:6;:10;;:20;;;;:::i;:38::-;7904:73:::0;-1:-1:-1;7988:14:0::1;8005:36;:6:::0;7904:73;8005:10:::1;:36::i;:::-;7988:53:::0;-1:-1:-1;8077:21:0::1;8109:24;7988:53:::0;8109:16:::1;:24::i;:::-;8144:20;8167:41;:21;8193:14:::0;8167:25:::1;:41::i;:::-;8144:64;;8219:19;8240:44;8257:26;8274:8;;8257:12;:16;;:26;;;;:::i;:::-;8240:12:::0;;:16:::1;:44::i;:::-;8219:65;;8295:29;8327:25;8343:8;;8327:11;:15;;:25;;;;:::i;:::-;8295:57:::0;-1:-1:-1;8366:34:0;;8363:103:::1;;8402:61;8415:24;8441:21;8402:12;:61::i;:::-;8522:15;::::0;8476:20:::1;::::0;8499:39:::1;::::0;:18:::1;:11:::0;8515:1:::1;8499:15;:18::i;:39::-;8476:62:::0;-1:-1:-1;8552:16:0;;8549:71:::1;;8578:16;::::0;8570:48:::1;::::0;-1:-1:-1;;;;;8578:16:0;;::::1;::::0;8570:48;::::1;;;::::0;8605:12;;8578:16:::1;8570:48:::0;8578:16;8570:48;8605:12;8578:16;8570:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8549:71;8656:21;8691:28:::0;;8688:83:::1;;8729:13;::::0;8721:48:::1;::::0;-1:-1:-1;;;;;8729:13:0;;::::1;::::0;8721:48;::::1;;;::::0;8753:15;;8729:13:::1;8721:48:::0;8729:13;8721:48;8753:15;8729:13;8721:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8688:83;-1:-1:-1::0;;4676:7:0;:15;;-1:-1:-1;;4676:15:0;;;-1:-1:-1;;;;;;;;7740:1038:0:o;11098:663::-;-1:-1:-1;;;;;11208:24:0;;11184:7;11208:24;;;:13;:24;;;;;;;;11204:54;;;-1:-1:-1;11242:14:0;;11235:21;;11204:54;11304:1;11271:30;11283:6;11291:9;11271:11;:30::i;:::-;:34;11268:471;;;11317:17;11337:59;11365:30;11377:6;11385:9;11365:11;:30::i;:::-;11348:11;;11337:23;;:6;;:10;:23::i;:59::-;11452:4;11434:24;;;;:9;:24;;;;;;11317:79;;-1:-1:-1;11434:39:0;;11317:79;11434:28;:39::i;:::-;11425:4;11407:24;;;;:9;:24;;;;;;;:66;;;;11489:42;;-1:-1:-1;;;;;11489:42:0;;;;;;;11521:9;1361:25:1;;1349:2;1334:18;;1215:177;11489:42:0;;;;;;;;11566:1;11545:10;;:23;:70;;;;;11605:10;;11572:30;11584:6;11592:9;11572:11;:30::i;:::-;:43;11545:70;11542:157;;;11617:80;11635:4;5256:42;11657:39;11685:10;;11657:23;11668:11;;11657:6;:10;;:23;;;;:::i;:39::-;11617:9;:80::i;:::-;11716:21;:6;11727:9;11716:10;:21::i;:::-;11709:28;;;;;11268:471;-1:-1:-1;11747:6:0;11098:663;-1:-1:-1;;11098:663:0:o;12177:434::-;12267:16;;;12281:1;12267:16;;;;;;;;12243:21;;12267:16;;;;;;;;;;-1:-1:-1;12267:16:0;12243:40;;12312:4;12294;12299:1;12294:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12294:23:0;;;:7;;;;;;;;;;:23;;;;12338:6;;:13;;;-1:-1:-1;;;12338:13:0;;;;:6;;;;;:11;;:13;;;;;12294:7;;12338:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12328:4;12333:1;12328:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12328:23:0;;;:7;;;;;;;;;:23;12394:6;;12362:53;;12379:4;;12394:6;12403:11;12362:8;:53::i;:::-;12426:6;;:177;;-1:-1:-1;;;12426:177:0;;-1:-1:-1;;;;;12426:6:0;;;;:57;;:177;;12498:11;;12426:6;;12540:4;;12567;;12587:15;;12426:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12232:379;12177:434;:::o;9355:342::-;9468:6;;9436:53;;9453:4;;-1:-1:-1;;;;;9468:6:0;9477:11;9436:8;:53::i;:::-;9500:6;;9641:17;;9500:189;;-1:-1:-1;;;9500:189:0;;9563:4;9500:189;;;11172:34:1;11222:18;;;11215:34;;;9500:6:0;11265:18:1;;;11258:34;;;11308:18;;;11301:34;-1:-1:-1;;;;;9641:17:0;;;11351:19:1;;;11344:44;9673:15:0;11404:19:1;;;11397:35;9500:6:0;;;:22;;9530:9;;11106:19:1;;9500:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9355:342;;:::o;9705:217::-;9820:4;;9784:7;;-1:-1:-1;;;;;9820:4:0;;;9807:17;;;;9804:38;;-1:-1:-1;9833:7:0;;9826:14;;9804:38;9865:4;;-1:-1:-1;;;;;9865:4:0;;;9855:14;;;;9852:34;;-1:-1:-1;9878:6:0;;9871:13;;9852:34;-1:-1:-1;9903:11:0;;9705:217;;;;:::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;622:70;567:131;:::o;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;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8801:125::-;8866:9;;;8887:10;;;8884:36;;;8900:18;;:::i;8931:168::-;9004:9;;;9035;;9052:15;;;9046:22;;9032:37;9022:71;;9073:18;;:::i;9104:217::-;9144:1;9170;9160:132;;9214:10;9209:3;9205:20;9202:1;9195:31;9249:4;9246:1;9239:15;9277:4;9274:1;9267:15;9160:132;-1:-1:-1;9306:9:1;;9104:217::o;9458:127::-;9519:10;9514:3;9510:20;9507:1;9500:31;9550:4;9547:1;9540:15;9574:4;9571:1;9564:15;9590:251;9660:6;9713:2;9701:9;9692:7;9688:23;9684:32;9681:52;;;9729:1;9726;9719:12;9681:52;9761:9;9755:16;9780:31;9805:5;9780:31;:::i;9846:980::-;10108:4;10156:3;10145:9;10141:19;10187:6;10176:9;10169:25;10213:2;10251:6;10246:2;10235:9;10231:18;10224:34;10294:3;10289:2;10278:9;10274:18;10267:31;10318:6;10353;10347:13;10384:6;10376;10369:22;10422:3;10411:9;10407:19;10400:26;;10461:2;10453:6;10449:15;10435:29;;10482:1;10492:195;10506:6;10503:1;10500:13;10492:195;;;10571:13;;-1:-1:-1;;;;;10567:39:1;10555:52;;10662:15;;;;10627:12;;;;10603:1;10521:9;10492:195;;;-1:-1:-1;;;;;;;10743:32:1;;;;10738:2;10723:18;;10716:60;-1:-1:-1;;;10807:3:1;10792:19;10785:35;10704:3;9846:980;-1:-1:-1;;;9846:980:1:o;11443:306::-;11531:6;11539;11547;11600:2;11588:9;11579:7;11575:23;11571:32;11568:52;;;11616:1;11613;11606:12;11568:52;11645:9;11639:16;11629:26;;11695:2;11684:9;11680:18;11674:25;11664:35;;11739:2;11728:9;11724:18;11718:25;11708:35;;11443:306;;;;;:::o
Swarm Source
ipfs://1ba1e8e5a16892bc8163596374f8e1e425b7a5ce43514d2c7bba99ef52c9a4f9
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.