ERC-20
Overview
Max Total Supply
1,400,000 ERC20 ***
Holders
28
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,752.130442953 ERC20 ***Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DejitaruAI
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-03 */ // Telegram: : https://t.me/DejitaruAI // Twitter : https://twitter.com/DejitaruAI // SPDX-License-Identifier: MIT /* “An apprentice near a temple will recite the scriptures untaught.” ~Hyoshi ⚱️ */ pragma solidity ^0.8.13; 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } mapping (address => bool) internal AlphaDep; 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract DejitaruAI is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "DejitaruAI"; string private constant _symbol = "DAI"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping (address => bool) public _isTxLimitExempt; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1400000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 5; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x4204e1D28Df381449dCd98Bc28Cd71d08ef705C7); address payable private _marketingAddress = payable(0x4204e1D28Df381449dCd98Bc28Cd71d08ef705C7); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = _tTotal * 4/100; uint256 public _maxWalletSize = _tTotal * 4/100; uint256 public _swapTokensAtAmount = 1400000 * 2/1000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; _isExcludedFromFee[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true; _isTxLimitExempt[owner()] = true; _isTxLimitExempt[0x4204e1D28Df381449dCd98Bc28Cd71d08ef705C7]= 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require((amount <= _maxTxAmount) || _isTxLimitExempt[from] || _isTxLimitExempt[to], "Max TX Limit Exceeded"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 { _marketingAddress.transfer(amount); } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function SetTaxes(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } }
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"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"SetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_swapTokensAtAmount","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":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000196604f94ae6af800060001962000412565b62000027906000196200043f565b6008556000600a819055600b8190556005600c819055600d829055600e819055600f9190915560105560128054734204e1d28df381449dcd98bc28cd71d08ef705c76001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b1790556064620000b36604f94ae6af800060046200045b565b620000bf919062000475565b6016556064620000d86604f94ae6af800060046200045b565b620000e4919062000475565b60175565028bed016000601855348015620000fe57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506008543360009081526003602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e291906200048c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025691906200048c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ca91906200048c565b601580546001600160a01b0319166001600160a01b039283161790556000805482168152600660209081526040808320805460ff19908116600190811790925530855282852080548216831790556012548616855282852080548216831790556013548616855282852080548216831790557f8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b4805482168317905584549095168452600783528184208054861682179055734204e1d28df381449dcd98bc28cd71d08ef705c784527f09697ee17ceb5fbe4880aa997042cba62a9f180ca7ecc3ce5def219cf8c9d09d80549095161790935591516604f94ae6af8000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004be565b634e487b7160e01b600052601260045260246000fd5b600082620004245762000424620003fc565b500690565b634e487b7160e01b600052601160045260246000fd5b8181038181111562000455576200045562000429565b92915050565b808202811582820484141762000455576200045562000429565b600082620004875762000487620003fc565b500490565b6000602082840312156200049f57600080fd5b81516001600160a01b0381168114620004b757600080fd5b9392505050565b61177180620004ce6000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b411461036b578063a0c973f114610397578063a9059cbb146103c7578063c3c8cd80146103e7578063dd62ed3e146103fc578063f2fde38b1461044257600080fd5b8063715018a6146102df5780637d1db4a5146102f45780637f2feddc1461030a5780638da5cb5b146103375780638f9a55c01461035557600080fd5b80632fd689e3116100fd5780632fd689e314610236578063313ce5671461024c57806349bd5a5e146102685780636e68ff80146102885780636fc3eaec146102aa57806370a08231146102bf57600080fd5b806306fdde0314610145578063095ea7b31461018a5780631694505e146101ba57806318160ddd146101f257806323b872dd1461021657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a81526944656a6974617275414960b01b60208201525b604051610181919061147d565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046114e0565b610462565b6040519015158152602001610181565b3480156101c657600080fd5b506014546101da906001600160a01b031681565b6040516001600160a01b039091168152602001610181565b3480156101fe57600080fd5b506604f94ae6af80005b604051908152602001610181565b34801561022257600080fd5b506101aa61023136600461150c565b610479565b34801561024257600080fd5b5061020860185481565b34801561025857600080fd5b5060405160098152602001610181565b34801561027457600080fd5b506015546101da906001600160a01b031681565b34801561029457600080fd5b506102a86102a336600461154d565b6104e2565b005b3480156102b657600080fd5b506102a8610520565b3480156102cb57600080fd5b506102086102da36600461156f565b61056b565b3480156102eb57600080fd5b506102a861058d565b34801561030057600080fd5b5061020860165481565b34801561031657600080fd5b5061020861032536600461156f565b60116020526000908152604090205481565b34801561034357600080fd5b506000546001600160a01b03166101da565b34801561036157600080fd5b5061020860175481565b34801561037757600080fd5b5060408051808201909152600381526244414960e81b6020820152610174565b3480156103a357600080fd5b506101aa6103b236600461156f565b60076020526000908152604090205460ff1681565b3480156103d357600080fd5b506101aa6103e23660046114e0565b610601565b3480156103f357600080fd5b506102a861060e565b34801561040857600080fd5b5061020861041736600461158c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561044e57600080fd5b506102a861045d36600461156f565b610662565b600061046f33848461074c565b5060015b92915050565b6000610486848484610870565b6104d884336104d385604051806060016040528060288152602001611714602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610d50565b61074c565b5060019392505050565b6000546001600160a01b031633146105155760405162461bcd60e51b815260040161050c906115c5565b60405180910390fd5b600a91909155600c55565b6012546001600160a01b0316336001600160a01b0316148061055557506013546001600160a01b0316336001600160a01b0316145b61055e57600080fd5b4761056881610d8a565b50565b6001600160a01b03811660009081526003602052604081205461047390610dc8565b6000546001600160a01b031633146105b75760405162461bcd60e51b815260040161050c906115c5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061046f338484610870565b6012546001600160a01b0316336001600160a01b0316148061064357506013546001600160a01b0316336001600160a01b0316145b61064c57600080fd5b60006106573061056b565b905061056881610e4c565b6000546001600160a01b0316331461068c5760405162461bcd60e51b815260040161050c906115c5565b6001600160a01b0381166106f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161050c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050c565b6001600160a01b03821661080f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108d45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050c565b6001600160a01b0382166109365760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050c565b600081116109985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050c565b6000546001600160a01b038481169116148015906109c457506000546001600160a01b03838116911614155b15610c4957601554600160a01b900460ff16610a5d576000546001600160a01b03848116911614610a5d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161050c565b60165481111580610a8657506001600160a01b03831660009081526007602052604090205460ff165b80610aa957506001600160a01b03821660009081526007602052604090205460ff165b610aed5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b604482015260640161050c565b6015546001600160a01b03838116911614610b725760175481610b0f8461056b565b610b199190611610565b10610b725760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161050c565b6000610b7d3061056b565b601854601654919250821015908210610b965760165491505b808015610bad5750601554600160a81b900460ff16155b8015610bc757506015546001600160a01b03868116911614155b8015610bdc5750601554600160b01b900460ff165b8015610c0157506001600160a01b03851660009081526006602052604090205460ff16155b8015610c2657506001600160a01b03841660009081526006602052604090205460ff16155b15610c4657610c3482610e4c565b478015610c4457610c4447610d8a565b505b50505b6001600160a01b03831660009081526006602052604090205460019060ff1680610c8b57506001600160a01b03831660009081526006602052604090205460ff165b80610cbd57506015546001600160a01b03858116911614801590610cbd57506015546001600160a01b03848116911614155b15610cca57506000610d3e565b6015546001600160a01b038581169116148015610cf557506014546001600160a01b03848116911614155b15610d0157600a54600e555b6015546001600160a01b038481169116148015610d2c57506014546001600160a01b03858116911614155b15610d3e57600b54600d55600c54600e555b610d4a84848484610fc6565b50505050565b60008184841115610d745760405162461bcd60e51b815260040161050c919061147d565b506000610d818486611623565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dc4573d6000803e3d6000fd5b5050565b6000600854821115610e2f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161050c565b6000610e39610ff4565b9050610e458382611017565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e9457610e94611636565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f11919061164c565b81600181518110610f2457610f24611636565b6001600160a01b039283166020918202929092010152601454610f4a913091168461074c565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f83908590600090869030904290600401611669565b600060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80610fd357610fd3611059565b610fde848484611087565b80610d4a57610d4a600f54600d55601054600e55565b600080600061100161117e565b90925090506110108282611017565b9250505090565b6000610e4583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111bc565b600d541580156110695750600e54155b1561107057565b600d8054600f55600e805460105560009182905555565b600080600080600080611099876111ea565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506110cb9087611247565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546110fa9086611289565b6001600160a01b03891660009081526003602052604090205561111c816112e8565b6111268483611332565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161116b91815260200190565b60405180910390a3505050505050505050565b60085460009081906604f94ae6af80006111988282611017565b8210156111b3575050600854926604f94ae6af800092509050565b90939092509050565b600081836111dd5760405162461bcd60e51b815260040161050c919061147d565b506000610d8184866116da565b60008060008060008060008060006112078a600d54600e54611356565b9250925092506000611217610ff4565b9050600080600061122a8e8787876113ab565b919e509c509a509598509396509194505050505091939550919395565b6000610e4583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d50565b6000806112968385611610565b905083811015610e455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161050c565b60006112f2610ff4565b9050600061130083836113fb565b3060009081526003602052604090205490915061131d9082611289565b30600090815260036020526040902055505050565b60085461133f9083611247565b60085560095461134f9082611289565b6009555050565b6000808080611370606461136a89896113fb565b90611017565b90506000611383606461136a8a896113fb565b9050600061139b826113958b86611247565b90611247565b9992985090965090945050505050565b60008080806113ba88866113fb565b905060006113c888876113fb565b905060006113d688886113fb565b905060006113e8826113958686611247565b939b939a50919850919650505050505050565b60008260000361140d57506000610473565b600061141983856116fc565b90508261142685836116da565b14610e455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161050c565b600060208083528351808285015260005b818110156114aa5785810183015185820160400152820161148e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461056857600080fd5b600080604083850312156114f357600080fd5b82356114fe816114cb565b946020939093013593505050565b60008060006060848603121561152157600080fd5b833561152c816114cb565b9250602084013561153c816114cb565b929592945050506040919091013590565b6000806040838503121561156057600080fd5b50508035926020909101359150565b60006020828403121561158157600080fd5b8135610e45816114cb565b6000806040838503121561159f57600080fd5b82356115aa816114cb565b915060208301356115ba816114cb565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610473576104736115fa565b81810381811115610473576104736115fa565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561165e57600080fd5b8151610e45816114cb565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116b95784516001600160a01b031683529383019391830191600101611694565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826116f757634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610473576104736115fa56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3c047999bb1344f73e07478e680a20045483a902ed817b71b322d4e0f7f62a864736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063715018a6116100ab57806395d89b411161006f57806395d89b411461036b578063a0c973f114610397578063a9059cbb146103c7578063c3c8cd80146103e7578063dd62ed3e146103fc578063f2fde38b1461044257600080fd5b8063715018a6146102df5780637d1db4a5146102f45780637f2feddc1461030a5780638da5cb5b146103375780638f9a55c01461035557600080fd5b80632fd689e3116100fd5780632fd689e314610236578063313ce5671461024c57806349bd5a5e146102685780636e68ff80146102885780636fc3eaec146102aa57806370a08231146102bf57600080fd5b806306fdde0314610145578063095ea7b31461018a5780631694505e146101ba57806318160ddd146101f257806323b872dd1461021657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600a81526944656a6974617275414960b01b60208201525b604051610181919061147d565b60405180910390f35b34801561019657600080fd5b506101aa6101a53660046114e0565b610462565b6040519015158152602001610181565b3480156101c657600080fd5b506014546101da906001600160a01b031681565b6040516001600160a01b039091168152602001610181565b3480156101fe57600080fd5b506604f94ae6af80005b604051908152602001610181565b34801561022257600080fd5b506101aa61023136600461150c565b610479565b34801561024257600080fd5b5061020860185481565b34801561025857600080fd5b5060405160098152602001610181565b34801561027457600080fd5b506015546101da906001600160a01b031681565b34801561029457600080fd5b506102a86102a336600461154d565b6104e2565b005b3480156102b657600080fd5b506102a8610520565b3480156102cb57600080fd5b506102086102da36600461156f565b61056b565b3480156102eb57600080fd5b506102a861058d565b34801561030057600080fd5b5061020860165481565b34801561031657600080fd5b5061020861032536600461156f565b60116020526000908152604090205481565b34801561034357600080fd5b506000546001600160a01b03166101da565b34801561036157600080fd5b5061020860175481565b34801561037757600080fd5b5060408051808201909152600381526244414960e81b6020820152610174565b3480156103a357600080fd5b506101aa6103b236600461156f565b60076020526000908152604090205460ff1681565b3480156103d357600080fd5b506101aa6103e23660046114e0565b610601565b3480156103f357600080fd5b506102a861060e565b34801561040857600080fd5b5061020861041736600461158c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561044e57600080fd5b506102a861045d36600461156f565b610662565b600061046f33848461074c565b5060015b92915050565b6000610486848484610870565b6104d884336104d385604051806060016040528060288152602001611714602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610d50565b61074c565b5060019392505050565b6000546001600160a01b031633146105155760405162461bcd60e51b815260040161050c906115c5565b60405180910390fd5b600a91909155600c55565b6012546001600160a01b0316336001600160a01b0316148061055557506013546001600160a01b0316336001600160a01b0316145b61055e57600080fd5b4761056881610d8a565b50565b6001600160a01b03811660009081526003602052604081205461047390610dc8565b6000546001600160a01b031633146105b75760405162461bcd60e51b815260040161050c906115c5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061046f338484610870565b6012546001600160a01b0316336001600160a01b0316148061064357506013546001600160a01b0316336001600160a01b0316145b61064c57600080fd5b60006106573061056b565b905061056881610e4c565b6000546001600160a01b0316331461068c5760405162461bcd60e51b815260040161050c906115c5565b6001600160a01b0381166106f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161050c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161050c565b6001600160a01b03821661080f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161050c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108d45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161050c565b6001600160a01b0382166109365760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161050c565b600081116109985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161050c565b6000546001600160a01b038481169116148015906109c457506000546001600160a01b03838116911614155b15610c4957601554600160a01b900460ff16610a5d576000546001600160a01b03848116911614610a5d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161050c565b60165481111580610a8657506001600160a01b03831660009081526007602052604090205460ff165b80610aa957506001600160a01b03821660009081526007602052604090205460ff165b610aed5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b604482015260640161050c565b6015546001600160a01b03838116911614610b725760175481610b0f8461056b565b610b199190611610565b10610b725760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161050c565b6000610b7d3061056b565b601854601654919250821015908210610b965760165491505b808015610bad5750601554600160a81b900460ff16155b8015610bc757506015546001600160a01b03868116911614155b8015610bdc5750601554600160b01b900460ff165b8015610c0157506001600160a01b03851660009081526006602052604090205460ff16155b8015610c2657506001600160a01b03841660009081526006602052604090205460ff16155b15610c4657610c3482610e4c565b478015610c4457610c4447610d8a565b505b50505b6001600160a01b03831660009081526006602052604090205460019060ff1680610c8b57506001600160a01b03831660009081526006602052604090205460ff165b80610cbd57506015546001600160a01b03858116911614801590610cbd57506015546001600160a01b03848116911614155b15610cca57506000610d3e565b6015546001600160a01b038581169116148015610cf557506014546001600160a01b03848116911614155b15610d0157600a54600e555b6015546001600160a01b038481169116148015610d2c57506014546001600160a01b03858116911614155b15610d3e57600b54600d55600c54600e555b610d4a84848484610fc6565b50505050565b60008184841115610d745760405162461bcd60e51b815260040161050c919061147d565b506000610d818486611623565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dc4573d6000803e3d6000fd5b5050565b6000600854821115610e2f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161050c565b6000610e39610ff4565b9050610e458382611017565b9392505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e9457610e94611636565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f11919061164c565b81600181518110610f2457610f24611636565b6001600160a01b039283166020918202929092010152601454610f4a913091168461074c565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f83908590600090869030904290600401611669565b600060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b80610fd357610fd3611059565b610fde848484611087565b80610d4a57610d4a600f54600d55601054600e55565b600080600061100161117e565b90925090506110108282611017565b9250505090565b6000610e4583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111bc565b600d541580156110695750600e54155b1561107057565b600d8054600f55600e805460105560009182905555565b600080600080600080611099876111ea565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506110cb9087611247565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546110fa9086611289565b6001600160a01b03891660009081526003602052604090205561111c816112e8565b6111268483611332565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161116b91815260200190565b60405180910390a3505050505050505050565b60085460009081906604f94ae6af80006111988282611017565b8210156111b3575050600854926604f94ae6af800092509050565b90939092509050565b600081836111dd5760405162461bcd60e51b815260040161050c919061147d565b506000610d8184866116da565b60008060008060008060008060006112078a600d54600e54611356565b9250925092506000611217610ff4565b9050600080600061122a8e8787876113ab565b919e509c509a509598509396509194505050505091939550919395565b6000610e4583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d50565b6000806112968385611610565b905083811015610e455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161050c565b60006112f2610ff4565b9050600061130083836113fb565b3060009081526003602052604090205490915061131d9082611289565b30600090815260036020526040902055505050565b60085461133f9083611247565b60085560095461134f9082611289565b6009555050565b6000808080611370606461136a89896113fb565b90611017565b90506000611383606461136a8a896113fb565b9050600061139b826113958b86611247565b90611247565b9992985090965090945050505050565b60008080806113ba88866113fb565b905060006113c888876113fb565b905060006113d688886113fb565b905060006113e8826113958686611247565b939b939a50919850919650505050505050565b60008260000361140d57506000610473565b600061141983856116fc565b90508261142685836116da565b14610e455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161050c565b600060208083528351808285015260005b818110156114aa5785810183015185820160400152820161148e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461056857600080fd5b600080604083850312156114f357600080fd5b82356114fe816114cb565b946020939093013593505050565b60008060006060848603121561152157600080fd5b833561152c816114cb565b9250602084013561153c816114cb565b929592945050506040919091013590565b6000806040838503121561156057600080fd5b50508035926020909101359150565b60006020828403121561158157600080fd5b8135610e45816114cb565b6000806040838503121561159f57600080fd5b82356115aa816114cb565b915060208301356115ba816114cb565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610473576104736115fa565b81810381811115610473576104736115fa565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561165e57600080fd5b8151610e45816114cb565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116b95784516001600160a01b031683529383019391830191600101611694565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826116f757634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610473576104736115fa56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3c047999bb1344f73e07478e680a20045483a902ed817b71b322d4e0f7f62a864736f6c63430008110033
Deployed Bytecode Sourcemap
4304:12221:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:83;;;;;;;;;;-1:-1:-1;7056:5:0;;;;;;;;;;;;-1:-1:-1;;;7056:5:0;;;;6986:83;;;;;;;:::i;:::-;;;;;;;;7911:193;;;;;;;;;;-1:-1:-1;7911:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7911:193:0;1023:187:1;5622:41:0;;;;;;;;;;-1:-1:-1;5622:41:0;;;;-1:-1:-1;;;;;5622:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5622:41:0;1215:229:1;7263:95:0;;;;;;;;;;-1:-1:-1;4910:15:0;7263:95;;;1595:25:1;;;1583:2;1568:18;7263:95:0;1449:177:1;8112:446:0;;;;;;;;;;-1:-1:-1;8112:446:0;;;;;:::i;:::-;;:::i;5925:61::-;;;;;;;;;;;;;;;;7172:83;;;;;;;;;;-1:-1:-1;7172:83:0;;4528:1;2234:36:1;;2222:2;2207:18;7172:83:0;2092:184:1;5670:28:0;;;;;;;;;;-1:-1:-1;5670:28:0;;;;-1:-1:-1;;;;;5670:28:0;;;16360:162;;;;;;;;;;-1:-1:-1;16360:162:0;;;;;:::i;:::-;;:::i;:::-;;12719:235;;;;;;;;;;;;;:::i;7366:138::-;;;;;;;;;;-1:-1:-1;7366:138:0;;;;;:::i;:::-;;:::i;1793:148::-;;;;;;;;;;;;;:::i;5819:45::-;;;;;;;;;;;;;;;;5364:43;;;;;;;;;;-1:-1:-1;5364:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1579:79;;;;;;;;;;-1:-1:-1;1617:7:0;1644:6;-1:-1:-1;;;;;1644:6:0;1579:79;;5871:47;;;;;;;;;;;;;;;;7077:87;;;;;;;;;;-1:-1:-1;7149:7:0;;;;;;;;;;;;-1:-1:-1;;;7149:7:0;;;;7077:87;;4770:49;;;;;;;;;;-1:-1:-1;4770:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7512:199;;;;;;;;;;-1:-1:-1;7512:199:0;;;;;:::i;:::-;;:::i;12475:236::-;;;;;;;;;;;;;:::i;7719:184::-;;;;;;;;;;-1:-1:-1;7719:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7868:18:0;;;7836:7;7868:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7719:184;1949:244;;;;;;;;;;-1:-1:-1;1949:244:0;;;;;:::i;:::-;;:::i;7911:193::-;8013:4;8035:39;366:10;8058:7;8067:6;8035:8;:39::i;:::-;-1:-1:-1;8092:4:0;7911:193;;;;;:::o;8112:446::-;8244:4;8261:36;8271:6;8279:9;8290:6;8261:9;:36::i;:::-;8308:220;8331:6;366:10;8379:138;8435:6;8379:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8379:19:0;;;;;;:11;:19;;;;;;;;366:10;8379:33;;;;;;;;;;:37;:138::i;:::-;8308:8;:220::i;:::-;-1:-1:-1;8546:4:0;8112:446;;;;;:::o;16360:162::-;1706:6;;-1:-1:-1;;;;;1706:6:0;366:10;1706:22;1698:67;;;;-1:-1:-1;;;1698:67:0;;;;;;;:::i;:::-;;;;;;;;;16449:12:::1;:26:::0;;;;16486:13:::1;:28:::0;16360:162::o;12719:235::-;12785:19;;-1:-1:-1;;;;;12785:19:0;366:10;-1:-1:-1;;;;;12769:35:0;;:72;;;-1:-1:-1;12824:17:0;;-1:-1:-1;;;;;12824:17:0;366:10;-1:-1:-1;;;;;12808:33:0;;12769:72;12761:81;;;;;;12882:21;12914:32;12882:21;12914:12;:32::i;:::-;12750:204;12719:235::o;7366:138::-;-1:-1:-1;;;;;7479:16:0;;7432:7;7479:16;;;:7;:16;;;;;;7459:37;;:19;:37::i;1793:148::-;1706:6;;-1:-1:-1;;;;;1706:6:0;366:10;1706:22;1698:67;;;;-1:-1:-1;;;1698:67:0;;;;;;;:::i;:::-;1900:1:::1;1884:6:::0;;1863:40:::1;::::0;-1:-1:-1;;;;;1884:6:0;;::::1;::::0;1863:40:::1;::::0;1900:1;;1863:40:::1;1931:1;1914:19:::0;;-1:-1:-1;;;;;;1914:19:0::1;::::0;;1793:148::o;7512:199::-;7617:4;7639:42;366:10;7663:9;7674:6;7639:9;:42::i;12475:236::-;12541:19;;-1:-1:-1;;;;;12541:19:0;366:10;-1:-1:-1;;;;;12525:35:0;;:72;;;-1:-1:-1;12580:17:0;;-1:-1:-1;;;;;12580:17:0;366:10;-1:-1:-1;;;;;12564:33:0;;12525:72;12517:81;;;;;;12609:23;12635:24;12653:4;12635:9;:24::i;:::-;12609:50;;12670:33;12687:15;12670:16;:33::i;1949:244::-;1706:6;;-1:-1:-1;;;;;1706:6:0;366:10;1706:22;1698:67;;;;-1:-1:-1;;;1698:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2038:22:0;::::1;2030:73;;;::::0;-1:-1:-1;;;2030:73:0;;3950:2:1;2030:73:0::1;::::0;::::1;3932:21:1::0;3989:2;3969:18;;;3962:30;4028:34;4008:18;;;4001:62;-1:-1:-1;;;4079:18:1;;;4072:36;4125:19;;2030:73:0::1;3748:402:1::0;2030:73:0::1;2140:6;::::0;;2119:38:::1;::::0;-1:-1:-1;;;;;2119:38:0;;::::1;::::0;2140:6;::::1;::::0;2119:38:::1;::::0;::::1;2168:6;:17:::0;;-1:-1:-1;;;;;;2168:17:0::1;-1:-1:-1::0;;;;;2168:17:0;;;::::1;::::0;;;::::1;::::0;;1949:244::o;9249:369::-;-1:-1:-1;;;;;9376:19:0;;9368:68;;;;-1:-1:-1;;;9368:68:0;;4357:2:1;9368:68:0;;;4339:21:1;4396:2;4376:18;;;4369:30;4435:34;4415:18;;;4408:62;-1:-1:-1;;;4486:18:1;;;4479:34;4530:19;;9368:68:0;4155:400:1;9368:68:0;-1:-1:-1;;;;;9455:21:0;;9447:68;;;;-1:-1:-1;;;9447:68:0;;4762:2:1;9447:68:0;;;4744:21:1;4801:2;4781:18;;;4774:30;4840:34;4820:18;;;4813:62;-1:-1:-1;;;4891:18:1;;;4884:32;4933:19;;9447:68:0;4560:398:1;9447:68:0;-1:-1:-1;;;;;9526:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9578:32;;1595:25:1;;;9578:32:0;;1568:18:1;9578:32:0;;;;;;;9249:369;;;:::o;9626:2243::-;-1:-1:-1;;;;;9748:18:0;;9740:68;;;;-1:-1:-1;;;9740:68:0;;5165:2:1;9740:68:0;;;5147:21:1;5204:2;5184:18;;;5177:30;5243:34;5223:18;;;5216:62;-1:-1:-1;;;5294:18:1;;;5287:35;5339:19;;9740:68:0;4963:401:1;9740:68:0;-1:-1:-1;;;;;9827:16:0;;9819:64;;;;-1:-1:-1;;;9819:64:0;;5571:2:1;9819:64:0;;;5553:21:1;5610:2;5590:18;;;5583:30;5649:34;5629:18;;;5622:62;-1:-1:-1;;;5700:18:1;;;5693:33;5743:19;;9819:64:0;5369:399:1;9819:64:0;9911:1;9902:6;:10;9894:64;;;;-1:-1:-1;;;9894:64:0;;5975:2:1;9894:64:0;;;5957:21:1;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:39;6153:19;;9894:64:0;5773:405:1;9894:64:0;1617:7;1644:6;-1:-1:-1;;;;;9975:15:0;;;1644:6;;9975:15;;;;:32;;-1:-1:-1;1617:7:0;1644:6;-1:-1:-1;;;;;9994:13:0;;;1644:6;;9994:13;;9975:32;9971:1217;;;10064:11;;-1:-1:-1;;;10064:11:0;;;;10059:144;;1617:7;1644:6;-1:-1:-1;;;;;10104:15:0;;;1644:6;;10104:15;10096:91;;;;-1:-1:-1;;;10096:91:0;;6385:2:1;10096:91:0;;;6367:21:1;6424:2;6404:18;;;6397:30;6463:34;6443:18;;;6436:62;6534:33;6514:18;;;6507:61;6585:19;;10096:91:0;6183:427:1;10096:91:0;10238:12;;10228:6;:22;;10227:50;;;-1:-1:-1;;;;;;10255:22:0;;;;;;:16;:22;;;;;;;;10227:50;:74;;;-1:-1:-1;;;;;;10281:20:0;;;;;;:16;:20;;;;;;;;10227:74;10219:108;;;;-1:-1:-1;;;10219:108:0;;6817:2:1;10219:108:0;;;6799:21:1;6856:2;6836:18;;;6829:30;-1:-1:-1;;;6875:18:1;;;6868:51;6936:18;;10219:108:0;6615:345:1;10219:108:0;10353:13;;-1:-1:-1;;;;;10347:19:0;;;10353:13;;10347:19;10344:146;;10420:14;;10411:6;10395:13;10405:2;10395:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10387:87;;;;-1:-1:-1;;;10387:87:0;;7429:2:1;10387:87:0;;;7411:21:1;7468:2;7448:18;;;7441:30;7507:34;7487:18;;;7480:62;-1:-1:-1;;;7558:18:1;;;7551:33;7601:19;;10387:87:0;7227:399:1;10387:87:0;10506:28;10537:24;10555:4;10537:9;:24::i;:::-;10615:19;;10678:12;;10506:55;;-1:-1:-1;10591:43:0;;;;10654:36;;10651:124;;10747:12;;10724:35;;10651:124;10795:7;:18;;;;-1:-1:-1;10807:6:0;;-1:-1:-1;;;10807:6:0;;;;10806:7;10795:18;:43;;;;-1:-1:-1;10825:13:0;;-1:-1:-1;;;;;10817:21:0;;;10825:13;;10817:21;;10795:43;:58;;;;-1:-1:-1;10842:11:0;;-1:-1:-1;;;10842:11:0;;;;10795:58;:87;;;;-1:-1:-1;;;;;;10858:24:0;;;;;;:18;:24;;;;;;;;10857:25;10795:87;:114;;;;-1:-1:-1;;;;;;10887:22:0;;;;;;:18;:22;;;;;;;;10886:23;10795:114;10791:386;;;10930:38;10947:20;10930:16;:38::i;:::-;11016:21;11060:22;;11056:106;;11107:35;11120:21;11107:12;:35::i;:::-;10911:266;10791:386;10009:1179;;9971:1217;-1:-1:-1;;;;;11264:24:0;;11200:12;11264:24;;;:18;:24;;;;;;11215:4;;11264:24;;;:50;;-1:-1:-1;;;;;;11292:22:0;;;;;;:18;:22;;;;;;;;11264:50;11263:102;;;-1:-1:-1;11328:13:0;;-1:-1:-1;;;;;11320:21:0;;;11328:13;;11320:21;;;;:44;;-1:-1:-1;11351:13:0;;-1:-1:-1;;;;;11345:19:0;;;11351:13;;11345:19;;11320:44;11259:549;;;-1:-1:-1;11392:5:0;11259:549;;;11475:13;;-1:-1:-1;;;;;11467:21:0;;;11475:13;;11467:21;:55;;;;-1:-1:-1;11506:15:0;;-1:-1:-1;;;;;11492:30:0;;;11506:15;;11492:30;;11467:55;11464:117;;;11553:12;;11543:7;:22;11464:117;11640:13;;-1:-1:-1;;;;;11634:19:0;;;11640:13;;11634:19;:55;;;;-1:-1:-1;11673:15:0;;-1:-1:-1;;;;;11657:32:0;;;11673:15;;11657:32;;11634:55;11630:165;;;11722:15;;11710:9;:27;11766:13;;11756:7;:23;11630:165;11820:41;11835:4;11841:2;11845:6;11853:7;11820:14;:41::i;:::-;9729:2140;9626:2243;;;:::o;2555:224::-;2675:7;2711:12;2703:6;;;;2695:29;;;;-1:-1:-1;;;2695:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2735:9:0;2747:5;2751:1;2747;:5;:::i;:::-;2735:17;2555:224;-1:-1:-1;;;;;2555:224:0:o;12368:99::-;12425:17;;:34;;-1:-1:-1;;;;;12425:17:0;;;;:34;;;;;12452:6;;12425:17;:34;:17;:34;12452:6;12425:17;:34;;;;;;;;;;;;;;;;;;;;;12368:99;:::o;8566:323::-;8661:7;8719;;8708;:18;;8686:110;;;;-1:-1:-1;;;8686:110:0;;7966:2:1;8686:110:0;;;7948:21:1;8005:2;7985:18;;;7978:30;8044:34;8024:18;;;8017:62;-1:-1:-1;;;8095:18:1;;;8088:40;8145:19;;8686:110:0;7764:406:1;8686:110:0;8807:19;8829:10;:8;:10::i;:::-;8807:32;-1:-1:-1;8857:24:0;:7;8807:32;8857:11;:24::i;:::-;8850:31;8566:323;-1:-1:-1;;;8566:323:0:o;11877:483::-;6080:6;:13;;-1:-1:-1;;;;6080:13:0;-1:-1:-1;;;6080:13:0;;;11979:16:::1;::::0;;11993:1:::1;11979:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11979:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11979:16:0::1;11955:40;;12024:4;12006;12011:1;12006:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12006:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12050:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12050:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12006:7;;12050:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12040:4;12045:1;12040:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12040:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12115:15:::1;::::0;12083:62:::1;::::0;12100:4:::1;::::0;12115:15:::1;12133:11:::0;12083:8:::1;:62::i;:::-;12156:15;::::0;:196:::1;::::0;-1:-1:-1;;;12156:196:0;;-1:-1:-1;;;;;12156:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12237:11;;12156:15:::1;::::0;12279:4;;12306::::1;::::0;12326:15:::1;::::0;12156:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6116:6:0;:14;;-1:-1:-1;;;;6116:14:0;;;-1:-1:-1;;;;11877:483:0:o;12962:282::-;13118:7;13113:28;;13127:14;:12;:14::i;:::-;13152:44;13170:6;13178:9;13189:6;13152:17;:44::i;:::-;13212:7;13207:29;;13221:15;9180:17;;9168:9;:29;9218:15;;9208:7;:25;9124:117;15923:164;15965:7;15986:15;16003;16022:19;:17;:19::i;:::-;15985:56;;-1:-1:-1;15985:56:0;-1:-1:-1;16059:20:0;15985:56;;16059:11;:20::i;:::-;16052:27;;;;15923:164;:::o;3041:132::-;3099:7;3126:39;3130:1;3133;3126:39;;;;;;;;;;;;;;;;;:3;:39::i;8897:219::-;8944:9;;:14;:30;;;;-1:-1:-1;8962:7:0;;:12;8944:30;8940:43;;;8897:219::o;8940:43::-;9015:9;;;8995:17;:29;9053:7;;;9035:15;:25;-1:-1:-1;9073:13:0;;;;9097:11;8897:219::o;13252:610::-;13399:15;13429:23;13467:12;13494:23;13532:12;13559:13;13586:19;13597:7;13586:10;:19::i;:::-;-1:-1:-1;;;;;13634:15:0;;;;;;:7;:15;;;;;;13384:221;;-1:-1:-1;13384:221:0;;-1:-1:-1;13384:221:0;;-1:-1:-1;13384:221:0;-1:-1:-1;13384:221:0;-1:-1:-1;13384:221:0;-1:-1:-1;13634:28:0;;13384:221;13634:19;:28::i;:::-;-1:-1:-1;;;;;13616:15:0;;;;;;;:7;:15;;;;;;:46;;;;13694:18;;;;;;;:39;;13717:15;13694:22;:39::i;:::-;-1:-1:-1;;;;;13673:18:0;;;;;;:7;:18;;;;;:60;13744:16;13754:5;13744:9;:16::i;:::-;13771:23;13783:4;13789;13771:11;:23::i;:::-;13827:9;-1:-1:-1;;;;;13810:44:0;13819:6;-1:-1:-1;;;;;13810:44:0;;13838:15;13810:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;13810:44:0;;;;;;;;13373:489;;;;;;13252:610;;;:::o;16095:257::-;16193:7;;16146;;;;4910:15;16261:20;16193:7;4910:15;16261:11;:20::i;:::-;16251:7;:30;16247:61;;;-1:-1:-1;;16291:7:0;;;4910:15;;-1:-1:-1;16095:257:0;-1:-1:-1;16095:257:0:o;16247:61::-;16327:7;;16336;;-1:-1:-1;16095:257:0;-1:-1:-1;16095:257:0:o;3181:223::-;3301:7;3336:12;3329:5;3321:28;;;;-1:-1:-1;;;3321:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3360:9:0;3372:5;3376:1;3372;:5;:::i;14281:615::-;14381:7;14403;14425;14447;14469;14491;14527:23;14552:12;14566:13;14596:40;14608:7;14617:9;;14628:7;;14596:11;:40::i;:::-;14526:110;;;;;;14647:19;14669:10;:8;:10::i;:::-;14647:32;;14691:15;14708:23;14733:12;14762:46;14774:7;14783:4;14789:5;14796:11;14762;:46::i;:::-;14690:118;;-1:-1:-1;14690:118:0;-1:-1:-1;14690:118:0;-1:-1:-1;14859:15:0;;-1:-1:-1;14876:4:0;;-1:-1:-1;14882:5:0;;-1:-1:-1;;;;;14281:615:0;;;;;;;:::o;2411:136::-;2469:7;2496:43;2500:1;2503;2496:43;;;;;;;;;;;;;;;;;:3;:43::i;2224:179::-;2282:7;;2314:5;2318:1;2314;:5;:::i;:::-;2302:17;;2343:1;2338;:6;;2330:46;;;;-1:-1:-1;;;2330:46:0;;10104:2:1;2330:46:0;;;10086:21:1;10143:2;10123:18;;;10116:30;10182:29;10162:18;;;10155:57;10229:18;;2330:46:0;9902:351:1;13870:211:0;13923:19;13945:10;:8;:10::i;:::-;13923:32;-1:-1:-1;13966:13:0;13982:22;:5;13923:32;13982:9;:22::i;:::-;14056:4;14040:22;;;;:7;:22;;;;;;13966:38;;-1:-1:-1;14040:33:0;;13966:38;14040:26;:33::i;:::-;14031:4;14015:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13870:211:0:o;14089:147::-;14167:7;;:17;;14179:4;14167:11;:17::i;:::-;14157:7;:27;14208:10;;:20;;14223:4;14208:14;:20::i;:::-;14195:10;:33;-1:-1:-1;;14089:147:0:o;14904:469::-;15073:7;;;;15167:30;15193:3;15167:21;:7;15179:8;15167:11;:21::i;:::-;:25;;:30::i;:::-;15152:45;-1:-1:-1;15208:13:0;15224:28;15248:3;15224:19;:7;15236:6;15224:11;:19::i;:28::-;15208:44;-1:-1:-1;15263:23:0;15289:28;15208:44;15289:17;:7;15301:4;15289:11;:17::i;:::-;:21;;:28::i;:::-;15263:54;15353:4;;-1:-1:-1;15359:5:0;;-1:-1:-1;14904:469:0;;-1:-1:-1;;;;;14904:469:0:o;15381:534::-;15575:7;;;;15672:24;:7;15684:11;15672;:24::i;:::-;15654:42;-1:-1:-1;15707:12:0;15722:21;:4;15731:11;15722:8;:21::i;:::-;15707:36;-1:-1:-1;15754:13:0;15770:22;:5;15780:11;15770:9;:22::i;:::-;15754:38;-1:-1:-1;15803:23:0;15829:28;15754:38;15829:17;:7;15841:4;15829:11;:17::i;:28::-;15876:7;;;;-1:-1:-1;15902:4:0;;-1:-1:-1;15381:534:0;;-1:-1:-1;;;;;;;15381:534:0:o;2787:246::-;2845:7;2869:1;2874;2869:6;2865:47;;-1:-1:-1;2899:1:0;2892:8;;2865:47;2922:9;2934:5;2938:1;2934;:5;:::i;:::-;2922:17;-1:-1:-1;2967:1:0;2958:5;2962:1;2922:17;2958:5;:::i;:::-;:10;2950:56;;;;-1:-1:-1;;;2950:56:0;;10633:2:1;2950:56:0;;;10615:21:1;10672:2;10652:18;;;10645:30;10711:34;10691:18;;;10684:62;-1:-1:-1;;;10762:18:1;;;10755:31;10803:19;;2950:56:0;10431:397:1;14:548;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:248::-;2557:6;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;-1:-1:-1;;2657:23:1;;;2727:2;2712:18;;;2699:32;;-1:-1:-1;2489:248:1:o;2742:247::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;2909:9;2896:23;2928:31;2953:5;2928:31;:::i;2994:388::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3178:9;3165:23;3197:31;3222:5;3197:31;:::i;:::-;3247:5;-1:-1:-1;3304:2:1;3289:18;;3276:32;3317:33;3276:32;3317:33;:::i;:::-;3369:7;3359:17;;;2994:388;;;;;:::o;3387:356::-;3589:2;3571:21;;;3608:18;;;3601:30;3667:34;3662:2;3647:18;;3640:62;3734:2;3719:18;;3387:356::o;6965:127::-;7026:10;7021:3;7017:20;7014:1;7007:31;7057:4;7054:1;7047:15;7081:4;7078:1;7071:15;7097:125;7162:9;;;7183:10;;;7180:36;;;7196:18;;:::i;7631:128::-;7698:9;;;7719:11;;;7716:37;;;7733:18;;:::i;8307:127::-;8368:10;8363:3;8359:20;8356:1;8349:31;8399:4;8396:1;8389:15;8423:4;8420:1;8413:15;8439:251;8509:6;8562:2;8550:9;8541:7;8537:23;8533:32;8530:52;;;8578:1;8575;8568:12;8530:52;8610:9;8604:16;8629:31;8654:5;8629:31;:::i;8695:980::-;8957:4;9005:3;8994:9;8990:19;9036:6;9025:9;9018:25;9062:2;9100:6;9095:2;9084:9;9080:18;9073:34;9143:3;9138:2;9127:9;9123:18;9116:31;9167:6;9202;9196:13;9233:6;9225;9218:22;9271:3;9260:9;9256:19;9249:26;;9310:2;9302:6;9298:15;9284:29;;9331:1;9341:195;9355:6;9352:1;9349:13;9341:195;;;9420:13;;-1:-1:-1;;;;;9416:39:1;9404:52;;9511:15;;;;9476:12;;;;9452:1;9370:9;9341:195;;;-1:-1:-1;;;;;;;9592:32:1;;;;9587:2;9572:18;;9565:60;-1:-1:-1;;;9656:3:1;9641:19;9634:35;9553:3;8695:980;-1:-1:-1;;;8695:980:1:o;9680:217::-;9720:1;9746;9736:132;;9790:10;9785:3;9781:20;9778:1;9771:31;9825:4;9822:1;9815:15;9853:4;9850:1;9843:15;9736:132;-1:-1:-1;9882:9:1;;9680:217::o;10258:168::-;10331:9;;;10362;;10379:15;;;10373:22;;10359:37;10349:71;;10400:18;;:::i
Swarm Source
ipfs://d3c047999bb1344f73e07478e680a20045483a902ed817b71b322d4e0f7f62a8
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.