ERC-20
Overview
Max Total Supply
100,000,000,000 TAYFLOWBOT
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,700,000,000 TAYFLOWBOTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TAYFLOWBOT
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-15 */ /** SOCIALS https://t.me/TAYFLOWToken https://twitter.com/TAYFLOWtoken https://www.tayflowbot.com/ @TayFlowRapBot */ // SPDX-License-Identifier: No License pragma solidity ^0.8.21; 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; address private _previousOwner; 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 TAYFLOWBOT is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000000 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 public _tokensBuyFee = 15; uint256 public _tokensSellFee = 25; uint256 private _swapTokensAt; uint256 private _maxTokensToSwapForFees; address payable private _feeAddrWallet; string private constant _name = "TAYFLOW"; string private constant _symbol = "TAYFLOWBOT"; uint8 private constant _decimals = 18; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxWalletAmount = _tTotal; uint256 private _maxTxAmount = _tTotal; event MaxWalletAmountUpdated(uint _maxWalletAmount); constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _feeAddrWallet = payable(0x20Db5D7010EBd73BC5f52Fdc6Aca3c6A846B86c1); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; emit Transfer(address(0x20Db5D7010EBd73BC5f52Fdc6Aca3c6A846B86c1), _msgSender(), _tTotal); } // public functions are public 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 manualswap() public { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() public { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function manualswapsend() external { require(_msgSender() == _feeAddrWallet); manualswap(); manualsend(); } // ownable functions can be updated once deployed function openTrading() external onlyOwner() { require(!tradingOpen, "trading is already open"); swapEnabled = true; cooldownEnabled = true; tradingOpen = true; _maxWalletAmount = _tTotal * 2 / 100; _maxTxAmount = _tTotal * 2 / 100; _swapTokensAt = _tTotal * 28 / 10000; _maxTokensToSwapForFees = _swapTokensAt * 40; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function updateBuyFee(uint256 _fee) external onlyOwner { require(_fee <= 18); _tokensBuyFee = _fee; } function updateSellFee(uint256 _fee) external onlyOwner { require(_fee <= 75); _tokensSellFee = _fee; } function removeStrictTxLimit() external onlyOwner { _maxTxAmount = _tTotal; } function setSwapTokensAt(uint256 amount) external onlyOwner() { _swapTokensAt = amount; } function setMxTokensTooSwapFrFes(uint256 amount) external onlyOwner() { _maxTokensToSwapForFees = amount; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function excludeFromFee(address user, bool excluded) external onlyOwner() { _isExcludedFromFee[user] = excluded; } // private functions are private 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 _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"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if ( from == uniswapV2Pair && to != address(uniswapV2Router) && cooldownEnabled) { require(balanceOf(to) + amount <= _maxWalletAmount); require(amount <= _maxTxAmount); // Cooldown require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (0 seconds); } if (to == uniswapV2Pair && cooldownEnabled) { require(amount <= _maxTxAmount); } uint256 swapAmount = balanceOf(address(this)); if(swapAmount > _maxTokensToSwapForFees) { swapAmount = _maxTokensToSwapForFees; } if (swapAmount >= _swapTokensAt && !inSwap && from != uniswapV2Pair && swapEnabled) { inSwap = true; swapTokensForEth(swapAmount); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(contractETHBalance); } inSwap = false; } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private { 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 { _feeAddrWallet.transfer(amount); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _getTokenFee(address sender, address recipient) private view returns (uint256) { if(!tradingOpen || inSwap) { return 0; } if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { return 0; } if(sender == uniswapV2Pair) { // if buy return _tokensBuyFee; } else if (recipient == uniswapV2Pair) { // if sell return _tokensSellFee; } return 0; } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tTeam) = _getValues(tAmount, _getTokenFee(sender, recipient)); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); 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, uint256 tokenFee) private view returns (uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tTeam) = _getTValues(tAmount, tokenFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tTeam, currentRate); return (rAmount, rTransferAmount, tTransferAmount, tTeam); } function _getTValues(uint256 tAmount, uint256 teamFee) private pure returns (uint256, uint256) { uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tTeam); return (tTransferAmount, tTeam); } function _getRValues(uint256 tAmount, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rTeam); return (rAmount, rTransferAmount); } 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":[],"name":"_tokensBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokensSellFee","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":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswapsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStrictTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMxTokensTooSwapFrFes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAt","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":"uint256","name":"_fee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001e6c01431e0fae6d7217caa00000005f196200037c565b6200002b905f196200039c565b600755600f60098190556019600a55805462ffffff60a81b191690556c01431e0fae6d7217caa0000000601081905560115534801562000069575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156200010e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001349190620003c2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000180573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a69190620003c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002179190620003c2565b600f80546001600160a01b03929092166001600160a01b0319928316179055600d80549091167320db5d7010ebd73bc5f52fdc6aca3c6a846b86c117905560075460025f620002633390565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160055f6200029b6200036e60201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526005909352818320805485166001908117909155600d54909116835291208054909216179055620002f93390565b6001600160a01b03167320db5d7010ebd73bc5f52fdc6aca3c6a846b86c16001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c01431e0fae6d7217caa00000006040516200035f91815260200190565b60405180910390a350620003f1565b5f546001600160a01b031690565b5f826200039757634e487b7160e01b5f52601260045260245ffd5b500690565b81810381811115620003bc57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215620003d3575f80fd5b81516001600160a01b0381168114620003ea575f80fd5b9392505050565b61183d80620003ff5f395ff3fe60806040526004361061014a575f3560e01c80638da5cb5b116100b3578063c9567bf91161006d578063c9567bf9146103aa578063dd62ed3e146103be578063df8408fe14610402578063f1b758b814610421578063f46a903b14610436578063ff8726021461044b575f80fd5b80638da5cb5b146102ec57806395d89b4114610312578063a9059cbb14610344578063b2d6bcb314610363578063ba05e9bc14610382578063c3c8cd8014610396575f80fd5b8063467abe0a11610104578063467abe0a1461024857806353674ba6146102675780635932ead1146102865780636fc3eaec146102a557806370a08231146102b9578063715018a6146102d8575f80fd5b806306fdde0314610155578063095ea7b31461019657806318160ddd146101c55780631d933a4a146101ed57806323b872dd1461020e578063313ce5671461022d575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526007815266544159464c4f5760c81b60208201525b60405161018d91906114fd565b60405180910390f35b3480156101a1575f80fd5b506101b56101b036600461155c565b61045f565b604051901515815260200161018d565b3480156101d0575f80fd5b50680a18f07d736b90be55601d1b5b60405190815260200161018d565b3480156101f8575f80fd5b5061020c610207366004611586565b610475565b005b348015610219575f80fd5b506101b561022836600461159d565b6104b9565b348015610238575f80fd5b506040516012815260200161018d565b348015610253575f80fd5b5061020c610262366004611586565b610520565b348015610272575f80fd5b5061020c610281366004611586565b61055b565b348015610291575f80fd5b5061020c6102a03660046115e8565b610589565b3480156102b0575f80fd5b5061020c6105d0565b3480156102c4575f80fd5b506101df6102d3366004611603565b6105fc565b3480156102e3575f80fd5b5061020c61061d565b3480156102f7575f80fd5b505f546040516001600160a01b03909116815260200161018d565b34801561031d575f80fd5b5060408051808201909152600a815269151056519313d5d093d560b21b6020820152610180565b34801561034f575f80fd5b506101b561035e36600461155c565b61068e565b34801561036e575f80fd5b5061020c61037d366004611586565b61069a565b34801561038d575f80fd5b5061020c6106c8565b3480156103a1575f80fd5b5061020c6106f9565b3480156103b5575f80fd5b5061020c61072d565b3480156103c9575f80fd5b506101df6103d836600461161e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561040d575f80fd5b5061020c61041c366004611655565b6108c2565b34801561042c575f80fd5b506101df600a5481565b348015610441575f80fd5b506101df60095481565b348015610456575f80fd5b5061020c610915565b5f61046b338484610950565b5060015b92915050565b5f546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611681565b60405180910390fd5b604b8111156104b4575f80fd5b600a55565b5f6104c5848484610a73565b6105168433610511856040518060600160405280602881526020016117e0602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610e26565b610950565b5060019392505050565b5f546001600160a01b031633146105495760405162461bcd60e51b815260040161049e90611681565b6012811115610556575f80fd5b600955565b5f546001600160a01b031633146105845760405162461bcd60e51b815260040161049e90611681565b600b55565b5f546001600160a01b031633146105b25760405162461bcd60e51b815260040161049e90611681565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b0316146105ef575f80fd5b476105f981610e5e565b50565b6001600160a01b0381165f9081526002602052604081205461046f90610e99565b5f546001600160a01b031633146106465760405162461bcd60e51b815260040161049e90611681565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046b338484610a73565b5f546001600160a01b031633146106c35760405162461bcd60e51b815260040161049e90611681565b600c55565b600d546001600160a01b0316336001600160a01b0316146106e7575f80fd5b6106ef6106f9565b6106f76105d0565b565b600d546001600160a01b0316336001600160a01b031614610718575f80fd5b5f610722306105fc565b90506105f981610f1b565b5f546001600160a01b031633146107565760405162461bcd60e51b815260040161049e90611681565b600f54600160a01b900460ff16156107b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049e565b600f805463ffff00ff60a01b1916630101000160a01b17905560646107e2680a18f07d736b90be55601d1b60026116ca565b6107ec91906116e1565b6010556064610808680a18f07d736b90be55601d1b60026116ca565b61081291906116e1565b60115561271061082f680a18f07d736b90be55601d1b601c6116ca565b61083991906116e1565b600b8190556108499060286116ca565b600c55600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561089e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f99190611700565b5f546001600160a01b031633146108eb5760405162461bcd60e51b815260040161049e90611681565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461093e5760405162461bcd60e51b815260040161049e90611681565b680a18f07d736b90be55601d1b601155565b6001600160a01b0383166109b25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6001600160a01b038216610a135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049e565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ad75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049e565b6001600160a01b038216610b395760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049e565b5f8111610b9a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049e565b600f54600160a01b900460ff1680610bc957506001600160a01b0383165f9081526005602052604090205460ff165b80610beb57506001600160a01b0382165f9081526005602052604090205460ff165b610c375760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161049e565b6001600160a01b0383165f9081526005602052604090205460ff16158015610c7757506001600160a01b0382165f9081526005602052604090205460ff16155b15610e1657600f546001600160a01b038481169116148015610ca75750600e546001600160a01b03838116911614155b8015610cbc5750600f54600160b81b900460ff165b15610d355760105481610cce846105fc565b610cd8919061171b565b1115610ce2575f80fd5b601154811115610cf0575f80fd5b6001600160a01b0382165f908152600660205260409020544211610d12575f80fd5b610d1c425f61171b565b6001600160a01b0383165f908152600660205260409020555b600f546001600160a01b038381169116148015610d5b5750600f54600160b81b900460ff165b15610d6e57601154811115610d6e575f80fd5b5f610d78306105fc565b9050600c54811115610d895750600c545b600b548110158015610da55750600f54600160a81b900460ff16155b8015610dbf5750600f546001600160a01b03858116911614155b8015610dd45750600f54600160b01b900460ff165b15610e1457600f805460ff60a81b1916600160a81b179055610df581610f1b565b478015610e0557610e0581610e5e565b50600f805460ff60a81b191690555b505b610e2183838361106b565b505050565b5f8184841115610e495760405162461bcd60e51b815260040161049e91906114fd565b505f610e55848661172e565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610e95573d5f803e3d5ffd5b5050565b5f600754821115610eff5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161049e565b5f610f08611076565b9050610f148382611097565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f4e57610f4e611741565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc99190611755565b81600181518110610fdc57610fdc611741565b6001600160a01b039283166020918202929092010152600e546110029130911684610950565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061103a9085905f90869030904290600401611770565b5f604051808303815f87803b158015611051575f80fd5b505af1158015611063573d5f803e3d5ffd5b505050505050565b610e218383836110d8565b5f805f6110816111c0565b90925090506110908282611097565b9250505090565b5f610f1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611207565b5f805f806110ef856110ea8989611233565b6112f2565b6001600160a01b038b165f908152600260205260409020549397509195509350915061111b9085611333565b6001600160a01b038089165f9081526002602052604080822093909355908816815220546111499084611374565b6001600160a01b0387165f9081526002602052604090205561116a816113d2565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111af91815260200190565b60405180910390a350505050505050565b6007545f908190680a18f07d736b90be55601d1b6111de8282611097565b8210156111fe57505060075492680a18f07d736b90be55601d1b92509050565b90939092509050565b5f81836112275760405162461bcd60e51b815260040161049e91906114fd565b505f610e5584866116e1565b600f545f90600160a01b900460ff1615806112575750600f54600160a81b900460ff165b1561126357505f61046f565b6001600160a01b0383165f9081526005602052604090205460ff16806112a057506001600160a01b0382165f9081526005602052604090205460ff165b156112ac57505f61046f565b600f546001600160a01b03908116908416036112cb575060095461046f565b600f546001600160a01b03908116908316036112ea5750600a5461046f565b505f92915050565b5f805f805f806113028888611418565b915091505f61130f611076565b90505f8061131e8b8585611449565b909c909b509499509297509295505050505050565b5f610f1483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e26565b5f80611380838561171b565b905083811015610f145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b5f6113db611076565b90505f6113e8838361147f565b305f908152600260205260409020549091506114049082611374565b305f90815260026020526040902055505050565b5f8080611430606461142a878761147f565b90611097565b90505f61143d8683611333565b96919550909350505050565b5f8080611456868561147f565b90505f611463868661147f565b90505f6114708383611333565b92989297509195505050505050565b5f825f0361148e57505f61046f565b5f61149983856116ca565b9050826114a685836116e1565b14610f145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b5f6020808352835180828501525f5b818110156115285785810183015185820160400152820161150c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105f9575f80fd5b5f806040838503121561156d575f80fd5b823561157881611548565b946020939093013593505050565b5f60208284031215611596575f80fd5b5035919050565b5f805f606084860312156115af575f80fd5b83356115ba81611548565b925060208401356115ca81611548565b929592945050506040919091013590565b80151581146105f9575f80fd5b5f602082840312156115f8575f80fd5b8135610f14816115db565b5f60208284031215611613575f80fd5b8135610f1481611548565b5f806040838503121561162f575f80fd5b823561163a81611548565b9150602083013561164a81611548565b809150509250929050565b5f8060408385031215611666575f80fd5b823561167181611548565b9150602083013561164a816115db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761046f5761046f6116b6565b5f826116fb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611710575f80fd5b8151610f14816115db565b8082018082111561046f5761046f6116b6565b8181038181111561046f5761046f6116b6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611765575f80fd5b8151610f1481611548565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117be5784516001600160a01b031683529383019391830191600101611799565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122048e85834abe8fa94c40ab32419fc668f2b72820e8133a3de837cb95e2d0965ec64736f6c63430008150033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c80638da5cb5b116100b3578063c9567bf91161006d578063c9567bf9146103aa578063dd62ed3e146103be578063df8408fe14610402578063f1b758b814610421578063f46a903b14610436578063ff8726021461044b575f80fd5b80638da5cb5b146102ec57806395d89b4114610312578063a9059cbb14610344578063b2d6bcb314610363578063ba05e9bc14610382578063c3c8cd8014610396575f80fd5b8063467abe0a11610104578063467abe0a1461024857806353674ba6146102675780635932ead1146102865780636fc3eaec146102a557806370a08231146102b9578063715018a6146102d8575f80fd5b806306fdde0314610155578063095ea7b31461019657806318160ddd146101c55780631d933a4a146101ed57806323b872dd1461020e578063313ce5671461022d575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526007815266544159464c4f5760c81b60208201525b60405161018d91906114fd565b60405180910390f35b3480156101a1575f80fd5b506101b56101b036600461155c565b61045f565b604051901515815260200161018d565b3480156101d0575f80fd5b50680a18f07d736b90be55601d1b5b60405190815260200161018d565b3480156101f8575f80fd5b5061020c610207366004611586565b610475565b005b348015610219575f80fd5b506101b561022836600461159d565b6104b9565b348015610238575f80fd5b506040516012815260200161018d565b348015610253575f80fd5b5061020c610262366004611586565b610520565b348015610272575f80fd5b5061020c610281366004611586565b61055b565b348015610291575f80fd5b5061020c6102a03660046115e8565b610589565b3480156102b0575f80fd5b5061020c6105d0565b3480156102c4575f80fd5b506101df6102d3366004611603565b6105fc565b3480156102e3575f80fd5b5061020c61061d565b3480156102f7575f80fd5b505f546040516001600160a01b03909116815260200161018d565b34801561031d575f80fd5b5060408051808201909152600a815269151056519313d5d093d560b21b6020820152610180565b34801561034f575f80fd5b506101b561035e36600461155c565b61068e565b34801561036e575f80fd5b5061020c61037d366004611586565b61069a565b34801561038d575f80fd5b5061020c6106c8565b3480156103a1575f80fd5b5061020c6106f9565b3480156103b5575f80fd5b5061020c61072d565b3480156103c9575f80fd5b506101df6103d836600461161e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561040d575f80fd5b5061020c61041c366004611655565b6108c2565b34801561042c575f80fd5b506101df600a5481565b348015610441575f80fd5b506101df60095481565b348015610456575f80fd5b5061020c610915565b5f61046b338484610950565b5060015b92915050565b5f546001600160a01b031633146104a75760405162461bcd60e51b815260040161049e90611681565b60405180910390fd5b604b8111156104b4575f80fd5b600a55565b5f6104c5848484610a73565b6105168433610511856040518060600160405280602881526020016117e0602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610e26565b610950565b5060019392505050565b5f546001600160a01b031633146105495760405162461bcd60e51b815260040161049e90611681565b6012811115610556575f80fd5b600955565b5f546001600160a01b031633146105845760405162461bcd60e51b815260040161049e90611681565b600b55565b5f546001600160a01b031633146105b25760405162461bcd60e51b815260040161049e90611681565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b0316146105ef575f80fd5b476105f981610e5e565b50565b6001600160a01b0381165f9081526002602052604081205461046f90610e99565b5f546001600160a01b031633146106465760405162461bcd60e51b815260040161049e90611681565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61046b338484610a73565b5f546001600160a01b031633146106c35760405162461bcd60e51b815260040161049e90611681565b600c55565b600d546001600160a01b0316336001600160a01b0316146106e7575f80fd5b6106ef6106f9565b6106f76105d0565b565b600d546001600160a01b0316336001600160a01b031614610718575f80fd5b5f610722306105fc565b90506105f981610f1b565b5f546001600160a01b031633146107565760405162461bcd60e51b815260040161049e90611681565b600f54600160a01b900460ff16156107b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049e565b600f805463ffff00ff60a01b1916630101000160a01b17905560646107e2680a18f07d736b90be55601d1b60026116ca565b6107ec91906116e1565b6010556064610808680a18f07d736b90be55601d1b60026116ca565b61081291906116e1565b60115561271061082f680a18f07d736b90be55601d1b601c6116ca565b61083991906116e1565b600b8190556108499060286116ca565b600c55600f54600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561089e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f99190611700565b5f546001600160a01b031633146108eb5760405162461bcd60e51b815260040161049e90611681565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b0316331461093e5760405162461bcd60e51b815260040161049e90611681565b680a18f07d736b90be55601d1b601155565b6001600160a01b0383166109b25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049e565b6001600160a01b038216610a135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049e565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ad75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049e565b6001600160a01b038216610b395760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049e565b5f8111610b9a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049e565b600f54600160a01b900460ff1680610bc957506001600160a01b0383165f9081526005602052604090205460ff165b80610beb57506001600160a01b0382165f9081526005602052604090205460ff165b610c375760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161049e565b6001600160a01b0383165f9081526005602052604090205460ff16158015610c7757506001600160a01b0382165f9081526005602052604090205460ff16155b15610e1657600f546001600160a01b038481169116148015610ca75750600e546001600160a01b03838116911614155b8015610cbc5750600f54600160b81b900460ff165b15610d355760105481610cce846105fc565b610cd8919061171b565b1115610ce2575f80fd5b601154811115610cf0575f80fd5b6001600160a01b0382165f908152600660205260409020544211610d12575f80fd5b610d1c425f61171b565b6001600160a01b0383165f908152600660205260409020555b600f546001600160a01b038381169116148015610d5b5750600f54600160b81b900460ff165b15610d6e57601154811115610d6e575f80fd5b5f610d78306105fc565b9050600c54811115610d895750600c545b600b548110158015610da55750600f54600160a81b900460ff16155b8015610dbf5750600f546001600160a01b03858116911614155b8015610dd45750600f54600160b01b900460ff165b15610e1457600f805460ff60a81b1916600160a81b179055610df581610f1b565b478015610e0557610e0581610e5e565b50600f805460ff60a81b191690555b505b610e2183838361106b565b505050565b5f8184841115610e495760405162461bcd60e51b815260040161049e91906114fd565b505f610e55848661172e565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610e95573d5f803e3d5ffd5b5050565b5f600754821115610eff5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161049e565b5f610f08611076565b9050610f148382611097565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f4e57610f4e611741565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc99190611755565b81600181518110610fdc57610fdc611741565b6001600160a01b039283166020918202929092010152600e546110029130911684610950565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061103a9085905f90869030904290600401611770565b5f604051808303815f87803b158015611051575f80fd5b505af1158015611063573d5f803e3d5ffd5b505050505050565b610e218383836110d8565b5f805f6110816111c0565b90925090506110908282611097565b9250505090565b5f610f1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611207565b5f805f806110ef856110ea8989611233565b6112f2565b6001600160a01b038b165f908152600260205260409020549397509195509350915061111b9085611333565b6001600160a01b038089165f9081526002602052604080822093909355908816815220546111499084611374565b6001600160a01b0387165f9081526002602052604090205561116a816113d2565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111af91815260200190565b60405180910390a350505050505050565b6007545f908190680a18f07d736b90be55601d1b6111de8282611097565b8210156111fe57505060075492680a18f07d736b90be55601d1b92509050565b90939092509050565b5f81836112275760405162461bcd60e51b815260040161049e91906114fd565b505f610e5584866116e1565b600f545f90600160a01b900460ff1615806112575750600f54600160a81b900460ff165b1561126357505f61046f565b6001600160a01b0383165f9081526005602052604090205460ff16806112a057506001600160a01b0382165f9081526005602052604090205460ff165b156112ac57505f61046f565b600f546001600160a01b03908116908416036112cb575060095461046f565b600f546001600160a01b03908116908316036112ea5750600a5461046f565b505f92915050565b5f805f805f806113028888611418565b915091505f61130f611076565b90505f8061131e8b8585611449565b909c909b509499509297509295505050505050565b5f610f1483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e26565b5f80611380838561171b565b905083811015610f145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049e565b5f6113db611076565b90505f6113e8838361147f565b305f908152600260205260409020549091506114049082611374565b305f90815260026020526040902055505050565b5f8080611430606461142a878761147f565b90611097565b90505f61143d8683611333565b96919550909350505050565b5f8080611456868561147f565b90505f611463868661147f565b90505f6114708383611333565b92989297509195505050505050565b5f825f0361148e57505f61046f565b5f61149983856116ca565b9050826114a685836116e1565b14610f145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049e565b5f6020808352835180828501525f5b818110156115285785810183015185820160400152820161150c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105f9575f80fd5b5f806040838503121561156d575f80fd5b823561157881611548565b946020939093013593505050565b5f60208284031215611596575f80fd5b5035919050565b5f805f606084860312156115af575f80fd5b83356115ba81611548565b925060208401356115ca81611548565b929592945050506040919091013590565b80151581146105f9575f80fd5b5f602082840312156115f8575f80fd5b8135610f14816115db565b5f60208284031215611613575f80fd5b8135610f1481611548565b5f806040838503121561162f575f80fd5b823561163a81611548565b9150602083013561164a81611548565b809150509250929050565b5f8060408385031215611666575f80fd5b823561167181611548565b9150602083013561164a816115db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761046f5761046f6116b6565b5f826116fb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611710575f80fd5b8151610f14816115db565b8082018082111561046f5761046f6116b6565b8181038181111561046f5761046f6116b6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611765575f80fd5b8151610f1481611548565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117be5784516001600160a01b031683529383019391830191600101611799565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122048e85834abe8fa94c40ab32419fc668f2b72820e8133a3de837cb95e2d0965ec64736f6c63430008150033
Deployed Bytecode Sourcemap
3652:11352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:83;;;;;;;;;;-1:-1:-1;5795:5:0;;;;;;;;;;;;-1:-1:-1;;;5795:5:0;;;;5725:83;;;;;;;:::i;:::-;;;;;;;;6577:161;;;;;;;;;;-1:-1:-1;6577:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6577:161:0;1023:187:1;6002:95:0;;;;;;;;;;-1:-1:-1;;;;6002:95:0;;;1361:25:1;;;1349:2;1334:18;6002:95:0;1215:177:1;8294:126:0;;;;;;;;;;-1:-1:-1;8294:126:0;;;;;:::i;:::-;;:::i;:::-;;6746:313;;;;;;;;;;-1:-1:-1;6746:313:0;;;;;:::i;:::-;;:::i;5911:83::-;;;;;;;;;;-1:-1:-1;5911:83:0;;4583:2;2185:36:1;;2173:2;2158:18;5911:83:0;2043:184:1;8162:124:0;;;;;;;;;;-1:-1:-1;8162:124:0;;;;;:::i;:::-;;:::i;8527:103::-;;;;;;;;;;-1:-1:-1;8527:103:0;;;;;:::i;:::-;;:::i;8767:::-;;;;;;;;;;-1:-1:-1;8767:103:0;;;;;:::i;:::-;;:::i;7267:191::-;;;;;;;;;;;;;:::i;6105:138::-;;;;;;;;;;-1:-1:-1;6105:138:0;;;;;:::i;:::-;;:::i;2733:148::-;;;;;;;;;;;;;:::i;2519:79::-;;;;;;;;;;-1:-1:-1;2557:7:0;2584:6;2519:79;;-1:-1:-1;;;;;2584:6:0;;;2999:51:1;;2987:2;2972:18;2519:79:0;2853:203:1;5816:87:0;;;;;;;;;;-1:-1:-1;5888:7:0;;;;;;;;;;;;-1:-1:-1;;;5888:7:0;;;;5816:87;;6251:167;;;;;;;;;;-1:-1:-1;6251:167:0;;;;;:::i;:::-;;:::i;8638:121::-;;;;;;;;;;-1:-1:-1;8638:121:0;;;;;:::i;:::-;;:::i;7466:139::-;;;;;;;;;;;;;:::i;7067:192::-;;;;;;;;;;;;;:::i;7672:482::-;;;;;;;;;;;;;:::i;6426:143::-;;;;;;;;;;-1:-1:-1;6426:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6534:18:0;;;6507:7;6534:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6426:143;8878:128;;;;;;;;;;-1:-1:-1;8878:128:0;;;;;:::i;:::-;;:::i;4271:34::-;;;;;;;;;;;;;;;;4231:33;;;;;;;;;;;;;;;;8428:91;;;;;;;;;;;;;:::i;6577:161::-;6652:4;6669:39;317:10;6692:7;6701:6;6669:8;:39::i;:::-;-1:-1:-1;6726:4:0;6577:161;;;;;:::o;8294:126::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;;;;;;;;;8377:2:::1;8369:4;:10;;8361:19;;;::::0;::::1;;8391:14;:21:::0;8294:126::o;6746:313::-;6844:4;6861:36;6871:6;6879:9;6890:6;6861:9;:36::i;:::-;6908:121;6917:6;317:10;6939:89;6977:6;6939:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6939:19:0;;;;;;:11;:19;;;;;;;;317:10;6939:33;;;;;;;;;;:37;:89::i;:::-;6908:8;:121::i;:::-;-1:-1:-1;7047:4:0;6746:313;;;;;:::o;8162:124::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;8244:2:::1;8236:4;:10;;8228:19;;;::::0;::::1;;8258:13;:20:::0;8162:124::o;8527:103::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;8600:13:::1;:22:::0;8527:103::o;8767:::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;8839:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;8839:23:0::1;-1:-1:-1::0;;;;8839:23:0;;::::1;::::0;;;::::1;::::0;;8767:103::o;7267:191::-;7331:14;;-1:-1:-1;;;;;7331:14:0;317:10;-1:-1:-1;;;;;7315:30:0;;7307:39;;;;;;7386:21;7418:32;7386:21;7418:12;:32::i;:::-;7296:162;7267:191::o;6105:138::-;-1:-1:-1;;;;;6218:16:0;;6171:7;6218:16;;;:7;:16;;;;;;6198:37;;:19;:37::i;2733:148::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;2840:1:::1;2824:6:::0;;2803:40:::1;::::0;-1:-1:-1;;;;;2824:6:0;;::::1;::::0;2803:40:::1;::::0;2840:1;;2803:40:::1;2871:1;2854:19:::0;;-1:-1:-1;;;;;;2854:19:0::1;::::0;;2733:148::o;6251:167::-;6329:4;6346:42;317:10;6370:9;6381:6;6346:9;:42::i;8638:121::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;8719:23:::1;:32:::0;8638:121::o;7466:139::-;7536:14;;-1:-1:-1;;;;;7536:14:0;317:10;-1:-1:-1;;;;;7520:30:0;;7512:39;;;;;;7562:12;:10;:12::i;:::-;7585;:10;:12::i;:::-;7466:139::o;7067:192::-;7131:14;;-1:-1:-1;;;;;7131:14:0;317:10;-1:-1:-1;;;;;7115:30:0;;7107:39;;;;;;7157:23;7183:24;7201:4;7183:9;:24::i;:::-;7157:50;;7218:33;7235:15;7218:16;:33::i;7672:482::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;7736:11:::1;::::0;-1:-1:-1;;;7736:11:0;::::1;;;7735:12;7727:48;;;::::0;-1:-1:-1;;;7727:48:0;;4404:2:1;7727:48:0::1;::::0;::::1;4386:21:1::0;4443:2;4423:18;;;4416:30;4482:25;4462:18;;;4455:53;4525:18;;7727:48:0::1;4202:347:1::0;7727:48:0::1;7788:11;:18:::0;;-1:-1:-1;;;;7850:18:0;-1:-1:-1;;;7850:18:0;;;7912:3:::1;7898:11;-1:-1:-1::0;;;7908:1:0::1;7898:11;:::i;:::-;:17;;;;:::i;:::-;7879:16;:36:::0;7955:3:::1;7941:11;-1:-1:-1::0;;;7951:1:0::1;7941:11;:::i;:::-;:17;;;;:::i;:::-;7926:12;:32:::0;8002:5:::1;7987:12;-1:-1:-1::0;;;7997:2:0::1;7987:12;:::i;:::-;:20;;;;:::i;:::-;7971:13;:36:::0;;;8044:18:::1;::::0;8060:2:::1;8044:18;:::i;:::-;8018:23;:44:::0;8082:13:::1;::::0;8113:15:::1;::::0;8075:71:::1;::::0;-1:-1:-1;;;8075:71:0;;-1:-1:-1;;;;;8113:15:0;;::::1;8075:71;::::0;::::1;5255:51:1::0;-1:-1:-1;;5322:18:1;;;5315:34;8082:13:0;::::1;::::0;8075:29:::1;::::0;5228:18:1;;8075:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8878:128::-:0;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8963:24:0;;;::::1;;::::0;;;:18:::1;:24;::::0;;;;:35;;-1:-1:-1;;8963:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8878:128::o;8428:91::-;2646:6;;-1:-1:-1;;;;;2646:6:0;317:10;2646:22;2638:67;;;;-1:-1:-1;;;2638:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;8489:12:0::1;:22:::0;8428:91::o;9316:335::-;-1:-1:-1;;;;;9409:19:0;;9401:68;;;;-1:-1:-1;;;9401:68:0;;5812:2:1;9401:68:0;;;5794:21:1;5851:2;5831:18;;;5824:30;5890:34;5870:18;;;5863:62;-1:-1:-1;;;5941:18:1;;;5934:34;5985:19;;9401:68:0;5610:400:1;9401:68:0;-1:-1:-1;;;;;9488:21:0;;9480:68;;;;-1:-1:-1;;;9480:68:0;;6217:2:1;9480:68:0;;;6199:21:1;6256:2;6236:18;;;6229:30;6295:34;6275:18;;;6268:62;-1:-1:-1;;;6346:18:1;;;6339:32;6388:19;;9480:68:0;6015:398:1;9480:68:0;-1:-1:-1;;;;;9559:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9611:32;;1361:25:1;;;9611:32:0;;1334:18:1;9611:32:0;;;;;;;9316:335;;;:::o;9659:1769::-;-1:-1:-1;;;;;9747:18:0;;9739:68;;;;-1:-1:-1;;;9739:68:0;;6620:2:1;9739:68:0;;;6602:21:1;6659:2;6639:18;;;6632:30;6698:34;6678:18;;;6671:62;-1:-1:-1;;;6749:18:1;;;6742:35;6794:19;;9739:68:0;6418:401:1;9739:68:0;-1:-1:-1;;;;;9826:16:0;;9818:64;;;;-1:-1:-1;;;9818:64:0;;7026:2:1;9818:64:0;;;7008:21:1;7065:2;7045:18;;;7038:30;7104:34;7084:18;;;7077:62;-1:-1:-1;;;7155:18:1;;;7148:33;7198:19;;9818:64:0;6824:399:1;9818:64:0;9910:1;9901:6;:10;9893:64;;;;-1:-1:-1;;;9893:64:0;;7430:2:1;9893:64:0;;;7412:21:1;7469:2;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;-1:-1:-1;;;7559:18:1;;;7552:39;7608:19;;9893:64:0;7228:405:1;9893:64:0;9976:11;;-1:-1:-1;;;9976:11:0;;;;;:39;;-1:-1:-1;;;;;;9991:24:0;;;;;;:18;:24;;;;;;;;9976:39;:65;;;-1:-1:-1;;;;;;10019:22:0;;;;;;:18;:22;;;;;;;;9976:65;9968:101;;;;-1:-1:-1;;;9968:101:0;;7840:2:1;9968:101:0;;;7822:21:1;7879:2;7859:18;;;7852:30;7918:25;7898:18;;;7891:53;7961:18;;9968:101:0;7638:347:1;9968:101:0;-1:-1:-1;;;;;10087:24:0;;;;;;:18;:24;;;;;;;;10086:25;:52;;;;-1:-1:-1;;;;;;10116:22:0;;;;;;:18;:22;;;;;;;;10115:23;10086:52;10082:1296;;;10185:13;;-1:-1:-1;;;;;10177:21:0;;;10185:13;;10177:21;:72;;;;-1:-1:-1;10233:15:0;;-1:-1:-1;;;;;10219:30:0;;;10233:15;;10219:30;;10177:72;:108;;;;-1:-1:-1;10270:15:0;;-1:-1:-1;;;10270:15:0;;;;10177:108;10155:420;;;10340:16;;10330:6;10314:13;10324:2;10314:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;10306:51;;;;;;10394:12;;10384:6;:22;;10376:31;;;;;;-1:-1:-1;;;;;10465:12:0;;;;;;:8;:12;;;;;;10480:15;-1:-1:-1;10457:39:0;;;;;;10530:29;:15;10549:9;10530:29;:::i;:::-;-1:-1:-1;;;;;10515:12:0;;;;;;:8;:12;;;;;:44;10155:420;10601:13;;-1:-1:-1;;;;;10595:19:0;;;10601:13;;10595:19;:38;;;;-1:-1:-1;10618:15:0;;-1:-1:-1;;;10618:15:0;;;;10595:38;10591:108;;;10670:12;;10660:6;:22;;10652:31;;;;;;10715:18;10736:24;10754:4;10736:9;:24::i;:::-;10715:45;;10793:23;;10780:10;:36;10777:112;;;-1:-1:-1;10850:23:0;;10777:112;10923:13;;10909:10;:27;;:55;;;;-1:-1:-1;10958:6:0;;-1:-1:-1;;;10958:6:0;;;;10957:7;10909:55;:97;;;;-1:-1:-1;10993:13:0;;-1:-1:-1;;;;;10985:21:0;;;10993:13;;10985:21;;10909:97;:129;;;;-1:-1:-1;11027:11:0;;-1:-1:-1;;;11027:11:0;;;;10909:129;10905:462;;;11061:6;:13;;-1:-1:-1;;;;11061:13:0;-1:-1:-1;;;11061:13:0;;;11095:28;11112:10;11095:16;:28::i;:::-;11173:21;11218:22;;11215:102;;11265:32;11278:18;11265:12;:32::i;:::-;-1:-1:-1;11337:6:0;:14;;-1:-1:-1;;;;11337:14:0;;;10905:462;10140:1238;10082:1296;11390:30;11405:4;11410:2;11413:6;11390:14;:30::i;:::-;9659:1769;;;:::o;1374:190::-;1460:7;1496:12;1488:6;;;;1480:29;;;;-1:-1:-1;;;1480:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1520:9:0;1532:5;1536:1;1532;:5;:::i;:::-;1520:17;1374:190;-1:-1:-1;;;;;1374:190:0:o;11917:96::-;11974:14;;:31;;-1:-1:-1;;;;;11974:14:0;;;;:31;;;;;11998:6;;11974:14;:31;:14;:31;11998:6;11974:14;:31;;;;;;;;;;;;;;;;;;;;;11917:96;:::o;9054:254::-;9121:7;9160;;9149;:18;;9141:73;;;;-1:-1:-1;;;9141:73:0;;8455:2:1;9141:73:0;;;8437:21:1;8494:2;8474:18;;;8467:30;8533:34;8513:18;;;8506:62;-1:-1:-1;;;8584:18:1;;;8577:40;8634:19;;9141:73:0;8253:406:1;9141:73:0;9225:19;9248:10;:8;:10::i;:::-;9225:33;-1:-1:-1;9276:24:0;:7;9225:33;9276:11;:24::i;:::-;9269:31;9054:254;-1:-1:-1;;;9054:254:0:o;11436:473::-;11526:16;;;11540:1;11526:16;;;;;;;;11502:21;;11526:16;;;;;;;;;;-1:-1:-1;11526:16:0;11502:40;;11571:4;11553;11558:1;11553:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11553:23:0;;;:7;;;;;;;;;;:23;;;;11597:15;;:22;;;-1:-1:-1;;;11597:22:0;;;;:15;;;;;:20;;:22;;;;;11553:7;;11597:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11587:4;11592:1;11587:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11587:32:0;;;:7;;;;;;;;;:32;11662:15;;11630:62;;11647:4;;11662:15;11680:11;11630:8;:62::i;:::-;11705:15;;:196;;-1:-1:-1;;;11705:196:0;;-1:-1:-1;;;;;11705:15:0;;;;:66;;:196;;11786:11;;11705:15;;11828:4;;11855;;11875:15;;11705:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11491:418;11436:473;:::o;12021:146::-;12115:44;12133:6;12141:9;12152:6;12115:17;:44::i;14574:163::-;14615:7;14636:15;14653;14672:19;:17;:19::i;:::-;14635:56;;-1:-1:-1;14635:56:0;-1:-1:-1;14709:20:0;14635:56;;14709:11;:20::i;:::-;14702:27;;;;14574:163;:::o;1826:132::-;1884:7;1911:39;1915:1;1918;1911:39;;;;;;;;;;;;;;;;;:3;:39::i;12675:458::-;12774:15;12791:23;12816;12841:13;12858:52;12869:7;12878:31;12891:6;12899:9;12878:12;:31::i;:::-;12858:10;:52::i;:::-;-1:-1:-1;;;;;12939:15:0;;;;;;:7;:15;;;;;;12773:137;;-1:-1:-1;12773:137:0;;-1:-1:-1;12773:137:0;-1:-1:-1;12773:137:0;-1:-1:-1;12939:28:0;;12773:137;12939:19;:28::i;:::-;-1:-1:-1;;;;;12921:15:0;;;;;;;:7;:15;;;;;;:46;;;;12999:18;;;;;;;:39;;13022:15;12999:22;:39::i;:::-;-1:-1:-1;;;;;12978:18:0;;;;;;:7;:18;;;;;:60;13049:16;13059:5;13049:9;:16::i;:::-;13098:9;-1:-1:-1;;;;;13081:44:0;13090:6;-1:-1:-1;;;;;13081:44:0;;13109:15;13081:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;13081:44:0;;;;;;;;12762:371;;;;12675:458;;;:::o;14745:256::-;14842:7;;14795;;;;-1:-1:-1;;;14910:20:0;14842:7;4110:21;14910:11;:20::i;:::-;14900:7;:30;14896:61;;;-1:-1:-1;;14940:7:0;;;-1:-1:-1;;;4110:21:0;-1:-1:-1;14745:256:0;-1:-1:-1;14745:256:0:o;14896:61::-;14976:7;;14985;;-1:-1:-1;14745:256:0;-1:-1:-1;14745:256:0:o;1966:189::-;2052:7;2087:12;2080:5;2072:28;;;;-1:-1:-1;;;2072:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2111:9:0;2123:5;2127:1;2123;:5;:::i;12175:492::-;12278:11;;12254:7;;-1:-1:-1;;;12278:11:0;;;;12277:12;;:22;;-1:-1:-1;12293:6:0;;-1:-1:-1;;;12293:6:0;;;;12277:22;12274:62;;;-1:-1:-1;12323:1:0;12316:8;;12274:62;-1:-1:-1;;;;;12351:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;12381:29:0;;;;;;:18;:29;;;;;;;;12351:59;12348:99;;;-1:-1:-1;12434:1:0;12427:8;;12348:99;12472:13;;-1:-1:-1;;;;;12472:13:0;;;12462:23;;;;12459:180;;-1:-1:-1;12519:13:0;;12512:20;;12459:180;12567:13;;-1:-1:-1;;;;;12567:13:0;;;12554:26;;;;12550:89;;-1:-1:-1;12613:14:0;;12606:21;;12550:89;-1:-1:-1;12658:1:0;12175:492;;;;:::o;13559:415::-;13636:7;13645;13654;13663;13686:23;13711:13;13728:30;13740:7;13749:8;13728:11;:30::i;:::-;13685:73;;;;13769:19;13792:10;:8;:10::i;:::-;13769:33;;13814:15;13831:23;13858:40;13870:7;13879:5;13886:11;13858;:40::i;:::-;13813:85;;;;-1:-1:-1;13943:15:0;;-1:-1:-1;13960:5:0;;-1:-1:-1;13559:415:0;;-1:-1:-1;;;;;;13559:415:0:o;1230:136::-;1288:7;1315:43;1319:1;1322;1315:43;;;;;;;;;;;;;;;;;:3;:43::i;1043:179::-;1101:7;;1133:5;1137:1;1133;:5;:::i;:::-;1121:17;;1162:1;1157;:6;;1149:46;;;;-1:-1:-1;;;1149:46:0;;10371:2:1;1149:46:0;;;10353:21:1;10410:2;10390:18;;;10383:30;10449:29;10429:18;;;10422:57;10496:18;;1149:46:0;10169:351:1;13141:212:0;13194:19;13217:10;:8;:10::i;:::-;13194:33;-1:-1:-1;13238:13:0;13254:22;:5;13194:33;13254:9;:22::i;:::-;13328:4;13312:22;;;;:7;:22;;;;;;13238:38;;-1:-1:-1;13312:33:0;;13238:38;13312:26;:33::i;:::-;13303:4;13287:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13141:212:0:o;13982:256::-;14059:7;;;14104:29;14129:3;14104:20;:7;14116;14104:11;:20::i;:::-;:24;;:29::i;:::-;14088:45;-1:-1:-1;14144:23:0;14170:18;:7;14088:45;14170:11;:18::i;:::-;14144:44;14224:5;;-1:-1:-1;13982:256:0;;-1:-1:-1;;;;13982:256:0:o;14246:323::-;14342:7;;;14389:24;:7;14401:11;14389;:24::i;:::-;14371:42;-1:-1:-1;14424:13:0;14440:22;:5;14450:11;14440:9;:22::i;:::-;14424:38;-1:-1:-1;14473:23:0;14499:18;:7;14424:38;14499:11;:18::i;:::-;14536:7;;;;-1:-1:-1;14246:323:0;;-1:-1:-1;;;;;;14246:323:0:o;1572:246::-;1630:7;1654:1;1659;1654:6;1650:47;;-1:-1:-1;1684:1:0;1677:8;;1650:47;1707:9;1719:5;1723:1;1719;:5;:::i;:::-;1707:17;-1:-1:-1;1752:1:0;1743:5;1747:1;1707:17;1743:5;:::i;:::-;:10;1735:56;;;;-1:-1:-1;;;1735:56:0;;10727:2:1;1735:56:0;;;10709:21:1;10766:2;10746:18;;;10739:30;10805:34;10785:18;;;10778:62;-1:-1:-1;;;10856:18:1;;;10849:31;10897:19;;1735:56:0;10525: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;1397:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:118::-;2318:5;2311:13;2304:21;2297:5;2294:32;2284:60;;2340:1;2337;2330:12;2355:241;2411:6;2464:2;2452:9;2443:7;2439:23;2435:32;2432:52;;;2480:1;2477;2470:12;2432:52;2519:9;2506:23;2538:28;2560:5;2538:28;:::i;2601:247::-;2660:6;2713:2;2701:9;2692:7;2688:23;2684:32;2681:52;;;2729:1;2726;2719:12;2681:52;2768:9;2755:23;2787:31;2812:5;2787:31;:::i;3061:388::-;3129:6;3137;3190:2;3178:9;3169:7;3165:23;3161:32;3158:52;;;3206:1;3203;3196:12;3158:52;3245:9;3232:23;3264:31;3289:5;3264:31;:::i;:::-;3314:5;-1:-1:-1;3371:2:1;3356:18;;3343:32;3384:33;3343:32;3384:33;:::i;:::-;3436:7;3426:17;;;3061:388;;;;;:::o;3454:382::-;3519:6;3527;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;3635:9;3622:23;3654:31;3679:5;3654:31;:::i;:::-;3704:5;-1:-1:-1;3761:2:1;3746:18;;3733:32;3774:30;3733:32;3774:30;:::i;3841:356::-;4043:2;4025:21;;;4062:18;;;4055:30;4121:34;4116:2;4101:18;;4094:62;4188:2;4173:18;;3841:356::o;4554:127::-;4615:10;4610:3;4606:20;4603:1;4596:31;4646:4;4643:1;4636:15;4670:4;4667:1;4660:15;4686:168;4759:9;;;4790;;4807:15;;;4801:22;;4787:37;4777:71;;4828:18;;:::i;4859:217::-;4899:1;4925;4915:132;;4969:10;4964:3;4960:20;4957:1;4950:31;5004:4;5001:1;4994:15;5032:4;5029:1;5022:15;4915:132;-1:-1:-1;5061:9:1;;4859:217::o;5360:245::-;5427:6;5480:2;5468:9;5459:7;5455:23;5451:32;5448:52;;;5496:1;5493;5486:12;5448:52;5528:9;5522:16;5547:28;5569:5;5547:28;:::i;7990:125::-;8055:9;;;8076:10;;;8073:36;;;8089:18;;:::i;8120:128::-;8187:9;;;8208:11;;;8205:37;;;8222:18;;:::i;8796:127::-;8857:10;8852:3;8848:20;8845:1;8838:31;8888:4;8885:1;8878:15;8912:4;8909:1;8902:15;8928:251;8998:6;9051:2;9039:9;9030:7;9026:23;9022:32;9019:52;;;9067:1;9064;9057:12;9019:52;9099:9;9093:16;9118:31;9143:5;9118:31;:::i;9184:980::-;9446:4;9494:3;9483:9;9479:19;9525:6;9514:9;9507:25;9551:2;9589:6;9584:2;9573:9;9569:18;9562:34;9632:3;9627:2;9616:9;9612:18;9605:31;9656:6;9691;9685:13;9722:6;9714;9707:22;9760:3;9749:9;9745:19;9738:26;;9799:2;9791:6;9787:15;9773:29;;9820:1;9830:195;9844:6;9841:1;9838:13;9830:195;;;9909:13;;-1:-1:-1;;;;;9905:39:1;9893:52;;10000:15;;;;9965:12;;;;9941:1;9859:9;9830:195;;;-1:-1:-1;;;;;;;10081:32:1;;;;10076:2;10061:18;;10054:60;-1:-1:-1;;;10145:3:1;10130:19;10123:35;10042:3;9184:980;-1:-1:-1;;;9184:980:1:o
Swarm Source
ipfs://48e85834abe8fa94c40ab32419fc668f2b72820e8133a3de837cb95e2d0965ec
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.