ETH Price: $3,927.14 (+0.40%)

Contract

0xb736e900272Fc56c2be25Cdbc1e55665bC3F1956
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve197581872024-04-29 3:08:35228 days ago1714360115IN
0xb736e900...5bC3F1956
0 ETH0.000349197.49307503
Approve168380882023-03-16 4:38:23637 days ago1678941503IN
0xb736e900...5bC3F1956
0 ETH0.000863918.56151443
Approve168380712023-03-16 4:34:59637 days ago1678941299IN
0xb736e900...5bC3F1956
0 ETH0.000831317.86091879
Approve168379932023-03-16 4:18:59637 days ago1678940339IN
0xb736e900...5bC3F1956
0 ETH0.0010141121.76066316
Approve168379852023-03-16 4:17:23637 days ago1678940243IN
0xb736e900...5bC3F1956
0 ETH0.0010014521.51685274
Approve168379802023-03-16 4:16:23637 days ago1678940183IN
0xb736e900...5bC3F1956
0 ETH0.0012658527.16255034
Approve168379772023-03-16 4:15:47637 days ago1678940147IN
0xb736e900...5bC3F1956
0 ETH0.0012313626.42236814
Approve168379762023-03-16 4:15:35637 days ago1678940135IN
0xb736e900...5bC3F1956
0 ETH0.0012221426.22457546
Approve168379742023-03-16 4:15:11637 days ago1678940111IN
0xb736e900...5bC3F1956
0 ETH0.0011518924.71726679
Approve168379732023-03-16 4:14:59637 days ago1678940099IN
0xb736e900...5bC3F1956
0 ETH0.0011875925.48317779
Approve168379722023-03-16 4:14:47637 days ago1678940087IN
0xb736e900...5bC3F1956
0 ETH0.001225226.29035331
Approve168379722023-03-16 4:14:47637 days ago1678940087IN
0xb736e900...5bC3F1956
0 ETH0.001225226.29035331
Approve168379722023-03-16 4:14:47637 days ago1678940087IN
0xb736e900...5bC3F1956
0 ETH0.001225226.29035331
Approve168379552023-03-16 4:11:23638 days ago1678939883IN
0xb736e900...5bC3F1956
0 ETH0.0011452824.57530842
Approve168379472023-03-16 4:09:47638 days ago1678939787IN
0xb736e900...5bC3F1956
0 ETH0.0011132824
Approve168379212023-03-16 4:04:23638 days ago1678939463IN
0xb736e900...5bC3F1956
0 ETH0.0007884827
Approve168379162023-03-16 4:03:23638 days ago1678939403IN
0xb736e900...5bC3F1956
0 ETH0.0010885423.35787886
Approve168379132023-03-16 4:02:47638 days ago1678939367IN
0xb736e900...5bC3F1956
0 ETH0.0010385822.28570118
Approve168379072023-03-16 4:01:35638 days ago1678939295IN
0xb736e900...5bC3F1956
0 ETH0.0013980930
Transfer Ownersh...168379052023-03-16 4:01:11638 days ago1678939271IN
0xb736e900...5bC3F1956
0 ETH0.0005967421.38419965
Approve168379052023-03-16 4:01:11638 days ago1678939271IN
0xb736e900...5bC3F1956
0 ETH0.0013514829
Set Structure168379012023-03-16 4:00:23638 days ago1678939223IN
0xb736e900...5bC3F1956
0 ETH0.0008046318.50420137
Approve168378832023-03-16 3:56:47638 days ago1678939007IN
0xb736e900...5bC3F1956
0 ETH0.0008477818.21505437
Approve168378822023-03-16 3:56:35638 days ago1678938995IN
0xb736e900...5bC3F1956
0 ETH0.0010145521.77012355
Approve168378742023-03-16 3:54:47638 days ago1678938887IN
0xb736e900...5bC3F1956
0 ETH0.0011112724
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
197581882024-04-29 3:08:47228 days ago1714360127
0xb736e900...5bC3F1956
0.00137055 ETH
197581882024-04-29 3:08:47228 days ago1714360127
0xb736e900...5bC3F1956
0.00136509 ETH
197581882024-04-29 3:08:47228 days ago1714360127
0xb736e900...5bC3F1956
0.00273564 ETH
168782092023-03-21 19:53:59632 days ago1679428439
0xb736e900...5bC3F1956
0.00181485 ETH
168782092023-03-21 19:53:59632 days ago1679428439
0xb736e900...5bC3F1956
0.00180762 ETH
168782092023-03-21 19:53:59632 days ago1679428439
0xb736e900...5bC3F1956
0.00362248 ETH
168746732023-03-21 7:56:35632 days ago1679385395
0xb736e900...5bC3F1956
0.00185605 ETH
168746732023-03-21 7:56:35632 days ago1679385395
0xb736e900...5bC3F1956
0.00184866 ETH
168746732023-03-21 7:56:35632 days ago1679385395
0xb736e900...5bC3F1956
0.00370472 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00188964 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00188211 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00377176 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00192569 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00191802 ETH
168385242023-03-16 6:06:11637 days ago1678946771
0xb736e900...5bC3F1956
0.00384371 ETH
168382012023-03-16 5:01:23637 days ago1678942883
0xb736e900...5bC3F1956
0.00197514 ETH
168382012023-03-16 5:01:23637 days ago1678942883
0xb736e900...5bC3F1956
0.00196727 ETH
168382012023-03-16 5:01:23637 days ago1678942883
0xb736e900...5bC3F1956
0.00394241 ETH
168381832023-03-16 4:57:47637 days ago1678942667
0xb736e900...5bC3F1956
0.0020835 ETH
168381832023-03-16 4:57:47637 days ago1678942667
0xb736e900...5bC3F1956
0.0020752 ETH
168381832023-03-16 4:57:47637 days ago1678942667
0xb736e900...5bC3F1956
0.0041587 ETH
168381822023-03-16 4:57:35637 days ago1678942655
0xb736e900...5bC3F1956
0.00220103 ETH
168381822023-03-16 4:57:35637 days ago1678942655
0xb736e900...5bC3F1956
0.00219226 ETH
168381822023-03-16 4:57:35637 days ago1678942655
0xb736e900...5bC3F1956
0.0043933 ETH
168381822023-03-16 4:57:35637 days ago1678942655
0xb736e900...5bC3F1956
0.0023288 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MemeGPT

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-16
*/

/**

https://memegpt.app/
https://twitter.com/gpt_meme
https://t.me/memegpt_erc

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


library SafeMath {
    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 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 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 totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

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 removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract MemeGPT is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Meme GPT';
    string private constant _symbol = 'MGPT';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 100000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 100; // 10000;
    uint256 private _maxTransferPercent = 100;
    uint256 private _maxWalletPercent = 100;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 300;
    uint256 private developmentFee = 200;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2000;
    uint256 private sellFee = 2000;
    uint256 private transferFee = 2000;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 private swapThreshold = ( _totalSupply * 250 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x581132AE47f51326BF6075bfCa9e4e45f891D324; 
    address internal constant marketing_receiver = 0xDf3899bB210D4919901A34195CD6B7c55f777FE1;
    address internal constant liquidity_receiver = 0x581132AE47f51326BF6075bfCa9e4e45f891D324;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_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 getOwner() external view override returns (address) { return owner; }
    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 isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
    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 _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

    function preTxCheck(address sender, address recipient, uint256 amount) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > uint256(0), "Transfer amount must be greater than zero");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        preTxCheck(sender, recipient, amount);
        checkTradingAllowed(sender, recipient);
        checkMaxWallet(sender, recipient, amount); 
        swapbackCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount); 
        swapBack(sender, recipient, amount);
        _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 setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity;
        marketingFee = _marketing;
        burnFee = _burn;
        developmentFee = _development;
        totalFee = _total;
        sellFee = _sell;
        transferFee = _trans;
        require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
    }

    function setParameters(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner {
        uint256 newTx = (totalSupply() * _buy) / 10000;
        uint256 newTransfer = (totalSupply() * _trans) / 10000;
        uint256 newWallet = (totalSupply() * _wallet) / 10000;
        _maxTxAmountPercent = _buy;
        _maxTransferPercent = _trans;
        _maxWalletPercent = _wallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }

    function checkTradingAllowed(address sender, address recipient) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWalletToken(), "Exceeds maximum wallet amount.");}
    }

    function swapbackCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
    }

    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 = address(this).balance.sub(initialBalance);
        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 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

    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();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(1) && aboveThreshold;
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

    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(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        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)){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    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

Contract ABI

[{"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":"address","name":"owner","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":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","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":"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":[{"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000454565b62000022906305f5e1006200046c565b6001818155606460028190556003819055600455600a805460ff60a01b191690556000600b81905561012c600c5560c8600d55600e556107d0600f81905560108190556011556127106012556013805460ff19169091179055620186a0906200008d9060fa6200046c565b6200009991906200048e565b601655620186a0600154600a620000b191906200046c565b620000bd91906200048e565b601755348015620000cd57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015b9190620004b1565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf9190620004b1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002439190620004b1565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557fb3fc7882f7092b636587fe28e3de8c17473786daf925109a6c1a5005781a141d80548216831790557fe5d33450db976784cb60b329043f2fb92b8d8ed2674e12e9cf302e77948754648054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b611ac580620004ec6000396000f3fe6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039457806395d89b41146103b4578063a8aa1b31146103e1578063a9059cbb14610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b806348ff2b8b146102e257806370a082311461030257806378109e54146103385780637d1db4a51461034d578063893d20e81461036257600080fd5b806323b872dd116100fd57806323b872dd14610212578063293230b8146102325780632f54bf6e14610247578063313ce5671461027657806334c5d2ce146102925780633f4218e0146102b257600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101aa57806318160ddd146101da5780631f976b7e146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611724565b610487565b005b34801561017357600080fd5b5060408051808201909152600881526713595b594811d41560c21b60208201525b6040516101a19190611770565b60405180910390f35b3480156101b657600080fd5b506101ca6101c53660046117d6565b610575565b60405190151581526020016101a1565b3480156101e657600080fd5b506101ef61058c565b6040519081526020016101a1565b34801561020957600080fd5b506101ef6105fd565b34801561021e57600080fd5b506101ca61022d366004611802565b610621565b34801561023e57600080fd5b5061016561068b565b34801561025357600080fd5b506101ca610262366004611843565b6000546001600160a01b0391821691161490565b34801561028257600080fd5b50604051600981526020016101a1565b34801561029e57600080fd5b506101656102ad366004611860565b6106ca565b3480156102be57600080fd5b506101ca6102cd366004611843565b60076020526000908152604090205460ff1681565b3480156102ee57600080fd5b506101656102fd36600461188c565b610811565b34801561030e57600080fd5b506101ef61031d366004611843565b6001600160a01b031660009081526005602052604090205490565b34801561034457600080fd5b506101ef610866565b34801561035957600080fd5b506101ef610876565b34801561036e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a1565b3480156103a057600080fd5b506101656103af36600461188c565b610886565b3480156103c057600080fd5b506040805180820190915260048152631351d41560e21b6020820152610194565b3480156103ed57600080fd5b50600a5461037c906001600160a01b031681565b34801561040d57600080fd5b506101ca61041c3660046117d6565b6108db565b34801561042d57600080fd5b506101ef61043c3660046118ca565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610165610482366004611843565b6108e8565b6000546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906118f8565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104eb906005610966565b600f541115801561050b5750601254610505906005610966565b60105411155b61056c5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b1565b50505050505050565b6000610582338484610972565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f89290916105f29190610a96565b90610a96565b905090565b600060125460035461060d61058c565b610617919061192e565b6105f8919061194d565b600061062e848484610aa2565b610680843361067b85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc8565b610972565b5060015b9392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b1906118f8565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f45760405162461bcd60e51b81526004016104b1906118f8565b60006127108461070261058c565b61070c919061192e565b610716919061194d565b905060006127108461072661058c565b610730919061192e565b61073a919061194d565b905060006127108461074a61058c565b610754919061192e565b61075e919061194d565b600287905560038690556004859055905060006107906103e861078a600561078461058c565b90610bf4565b90610966565b90508084101580156107a25750808310155b80156107ae5750808210155b61056c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b1565b6000546001600160a01b0316331461083b5760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060d61058c565b600060125460025461060d61058c565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610582338484610aa2565b6000546001600160a01b031633146109125760405162461bcd60e51b81526004016104b1906118f8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610684828461194d565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610684828461196f565b610aad838383610c00565b610ab78383610daf565b610ac2838383610e44565b610acc8383610f35565b610ad7838383610f8c565b610ae28383836110c3565b6001600160a01b038316600090815260056020526040902054610b059082610a96565b6001600160a01b038416600090815260056020526040812091909155610b2b84846110e8565b610b355781610b40565b610b4084848461112e565b6001600160a01b038416600090815260056020526040902054909150610b66908261121c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bba9085815260200190565b60405180910390a350505050565b60008184841115610bec5760405162461bcd60e51b81526004016104b19190611770565b505050900390565b6000610684828461192e565b6001600160a01b038316610c645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610cc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b60008111610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b6001600160a01b038316600090815260056020526040902054811115610daa5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b1565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df157506001600160a01b03811660009081526007602052604090205460ff16155b15610e4057600a54600160a01b900460ff16610e405760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b1565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8657506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea05750600a546001600160a01b03838116911614155b8015610eb757506001600160a01b03821661dead14155b15610daa57610ec4610866565b6001600160a01b038316600090815260056020526040902054610ee7908361121c565b1115610daa5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b1565b600a546001600160a01b038281169116148015610f6b57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4057600160146000828254610f839190611982565b90915550505050565b600a546001600160a01b0384811691161461103257610fa96105fd565b81111580610fcf57506001600160a01b03831660009081526007602052604090205460ff165b80610ff257506001600160a01b03821660009081526007602052604090205460ff165b6110325760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b61103a610876565b8111158061106057506001600160a01b03831660009081526007602052604090205460ff165b8061108357506001600160a01b03821660009081526007602052604090205460ff165b610daa5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b6110ce838383611228565b15610daa576110de6016546112da565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106845750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113b8585611465565b111561121557600061115e6111508686611465565b601254610784908690610966565b3060009081526005602052604090205490915061117b908261121c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cc9085815260200190565b60405180910390a3600e5415611203576112033061dead6111fe600e546107846012548961096690919063ffffffff16565b610aa2565b61120d8382610a96565b915050610684565b5092915050565b60006106848284611982565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125c575060135460ff165b80156112715750600a54600160a01b900460ff165b801561127a5750815b801561129f57506001600160a01b03861660009081526007602052604090205460ff16155b80156112b85750600a546001600160a01b038681169116145b80156112c75750600160145410155b80156112d05750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113149360029361078493919261130e92839161121c565b9061121c565b905060006113318261078a600b5486610bf490919063ffffffff16565b9050600061133f8483610a96565b90504761134b82611506565b60006113574783610a96565b9050600061137a611373600b5488610a9690919063ffffffff16565b8390610966565b90506000611393600b5483610bf490919063ffffffff16565b905080156113a5576113a58682611660565b600c546000906113ba90610784856002610bf4565b905080156114055760405173df3899bb210d4919901a34195cd6b7c55f777fe19082156108fc029083906000818181858888f19350505050158015611403573d6000803e3d6000fd5b505b47801561144f5760405173581132ae47f51326bf6075bfca9e4e45f891d3249082156108fc029083906000818181858888f1935050505015801561144d573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a457506001600160a01b03821660009081526008602052604090205460ff165b156114be576012546114b7906064610a96565b9050610586565b600a546001600160a01b03908116908316036114dd5750601054610586565b600a546001600160a01b03908116908416036114fc5750600f54610586565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611995565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b891906119ab565b816001815181106115cb576115cb611995565b6001600160a01b0392831660209182029290920101526009546115f19130911684610972565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a9085906000908690309042906004016119c8565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b505050505050565b6009546116789030906001600160a01b031684610972565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273581132ae47f51326bf6075bfca9e4e45f891d32460848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171d9190611a39565b5050505050565b600080600080600080600060e0888a03121561173f57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179d57858101830151858201604001528201611781565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d357600080fd5b50565b600080604083850312156117e957600080fd5b82356117f4816117be565b946020939093013593505050565b60008060006060848603121561181757600080fd5b8335611822816117be565b92506020840135611832816117be565b929592945050506040919091013590565b60006020828403121561185557600080fd5b8135610684816117be565b60008060006060848603121561187557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561189f57600080fd5b82356118aa816117be565b9150602083013580151581146118bf57600080fd5b809150509250929050565b600080604083850312156118dd57600080fd5b82356118e8816117be565b915060208301356118bf816117be565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194857611948611918565b500290565b60008261196a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058657610586611918565b8082018082111561058657610586611918565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119bd57600080fd5b8151610684816117be565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a185784516001600160a01b0316835293830193918301916001016119f3565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4e57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206f32e75f147b9b441145e14a71924a771e13a2a1b41640d9a4060d8ea46f3bc464736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039457806395d89b41146103b4578063a8aa1b31146103e1578063a9059cbb14610401578063dd62ed3e14610421578063f2fde38b1461046757600080fd5b806348ff2b8b146102e257806370a082311461030257806378109e54146103385780637d1db4a51461034d578063893d20e81461036257600080fd5b806323b872dd116100fd57806323b872dd14610212578063293230b8146102325780632f54bf6e14610247578063313ce5671461027657806334c5d2ce146102925780633f4218e0146102b257600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101aa57806318160ddd146101da5780631f976b7e146101fd57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611724565b610487565b005b34801561017357600080fd5b5060408051808201909152600881526713595b594811d41560c21b60208201525b6040516101a19190611770565b60405180910390f35b3480156101b657600080fd5b506101ca6101c53660046117d6565b610575565b60405190151581526020016101a1565b3480156101e657600080fd5b506101ef61058c565b6040519081526020016101a1565b34801561020957600080fd5b506101ef6105fd565b34801561021e57600080fd5b506101ca61022d366004611802565b610621565b34801561023e57600080fd5b5061016561068b565b34801561025357600080fd5b506101ca610262366004611843565b6000546001600160a01b0391821691161490565b34801561028257600080fd5b50604051600981526020016101a1565b34801561029e57600080fd5b506101656102ad366004611860565b6106ca565b3480156102be57600080fd5b506101ca6102cd366004611843565b60076020526000908152604090205460ff1681565b3480156102ee57600080fd5b506101656102fd36600461188c565b610811565b34801561030e57600080fd5b506101ef61031d366004611843565b6001600160a01b031660009081526005602052604090205490565b34801561034457600080fd5b506101ef610866565b34801561035957600080fd5b506101ef610876565b34801561036e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a1565b3480156103a057600080fd5b506101656103af36600461188c565b610886565b3480156103c057600080fd5b506040805180820190915260048152631351d41560e21b6020820152610194565b3480156103ed57600080fd5b50600a5461037c906001600160a01b031681565b34801561040d57600080fd5b506101ca61041c3660046117d6565b6108db565b34801561042d57600080fd5b506101ef61043c3660046118ca565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047357600080fd5b50610165610482366004611843565b6108e8565b6000546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906118f8565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104eb906005610966565b600f541115801561050b5750601254610505906005610966565b60105411155b61056c5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b1565b50505050505050565b6000610582338484610972565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f89290916105f29190610a96565b90610a96565b905090565b600060125460035461060d61058c565b610617919061192e565b6105f8919061194d565b600061062e848484610aa2565b610680843361067b85604051806060016040528060288152602001611a68602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc8565b610972565b5060015b9392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b1906118f8565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f45760405162461bcd60e51b81526004016104b1906118f8565b60006127108461070261058c565b61070c919061192e565b610716919061194d565b905060006127108461072661058c565b610730919061192e565b61073a919061194d565b905060006127108461074a61058c565b610754919061192e565b61075e919061194d565b600287905560038690556004859055905060006107906103e861078a600561078461058c565b90610bf4565b90610966565b90508084101580156107a25750808310155b80156107ae5750808210155b61056c5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b1565b6000546001600160a01b0316331461083b5760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060d61058c565b600060125460025461060d61058c565b6000546001600160a01b031633146108b05760405162461bcd60e51b81526004016104b1906118f8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610582338484610aa2565b6000546001600160a01b031633146109125760405162461bcd60e51b81526004016104b1906118f8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610684828461194d565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b1565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610684828461196f565b610aad838383610c00565b610ab78383610daf565b610ac2838383610e44565b610acc8383610f35565b610ad7838383610f8c565b610ae28383836110c3565b6001600160a01b038316600090815260056020526040902054610b059082610a96565b6001600160a01b038416600090815260056020526040812091909155610b2b84846110e8565b610b355781610b40565b610b4084848461112e565b6001600160a01b038416600090815260056020526040902054909150610b66908261121c565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bba9085815260200190565b60405180910390a350505050565b60008184841115610bec5760405162461bcd60e51b81526004016104b19190611770565b505050900390565b6000610684828461192e565b6001600160a01b038316610c645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b1565b6001600160a01b038216610cc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b1565b60008111610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b1565b6001600160a01b038316600090815260056020526040902054811115610daa5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b1565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df157506001600160a01b03811660009081526007602052604090205460ff16155b15610e4057600a54600160a01b900460ff16610e405760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b1565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8657506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea05750600a546001600160a01b03838116911614155b8015610eb757506001600160a01b03821661dead14155b15610daa57610ec4610866565b6001600160a01b038316600090815260056020526040902054610ee7908361121c565b1115610daa5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b1565b600a546001600160a01b038281169116148015610f6b57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4057600160146000828254610f839190611982565b90915550505050565b600a546001600160a01b0384811691161461103257610fa96105fd565b81111580610fcf57506001600160a01b03831660009081526007602052604090205460ff165b80610ff257506001600160a01b03821660009081526007602052604090205460ff165b6110325760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b61103a610876565b8111158061106057506001600160a01b03831660009081526007602052604090205460ff165b8061108357506001600160a01b03821660009081526007602052604090205460ff165b610daa5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b1565b6110ce838383611228565b15610daa576110de6016546112da565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106845750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113b8585611465565b111561121557600061115e6111508686611465565b601254610784908690610966565b3060009081526005602052604090205490915061117b908261121c565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cc9085815260200190565b60405180910390a3600e5415611203576112033061dead6111fe600e546107846012548961096690919063ffffffff16565b610aa2565b61120d8382610a96565b915050610684565b5092915050565b60006106848284611982565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125c575060135460ff165b80156112715750600a54600160a01b900460ff165b801561127a5750815b801561129f57506001600160a01b03861660009081526007602052604090205460ff16155b80156112b85750600a546001600160a01b038681169116145b80156112c75750600160145410155b80156112d05750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113149360029361078493919261130e92839161121c565b9061121c565b905060006113318261078a600b5486610bf490919063ffffffff16565b9050600061133f8483610a96565b90504761134b82611506565b60006113574783610a96565b9050600061137a611373600b5488610a9690919063ffffffff16565b8390610966565b90506000611393600b5483610bf490919063ffffffff16565b905080156113a5576113a58682611660565b600c546000906113ba90610784856002610bf4565b905080156114055760405173df3899bb210d4919901a34195cd6b7c55f777fe19082156108fc029083906000818181858888f19350505050158015611403573d6000803e3d6000fd5b505b47801561144f5760405173581132ae47f51326bf6075bfca9e4e45f891d3249082156108fc029083906000818181858888f1935050505015801561144d573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a457506001600160a01b03821660009081526008602052604090205460ff165b156114be576012546114b7906064610a96565b9050610586565b600a546001600160a01b03908116908316036114dd5750601054610586565b600a546001600160a01b03908116908416036114fc5750600f54610586565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611995565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b891906119ab565b816001815181106115cb576115cb611995565b6001600160a01b0392831660209182029290920101526009546115f19130911684610972565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a9085906000908690309042906004016119c8565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b505050505050565b6009546116789030906001600160a01b031684610972565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273581132ae47f51326bf6075bfca9e4e45f891d32460848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f8573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171d9190611a39565b5050505050565b600080600080600080600060e0888a03121561173f57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179d57858101830151858201604001528201611781565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d357600080fd5b50565b600080604083850312156117e957600080fd5b82356117f4816117be565b946020939093013593505050565b60008060006060848603121561181757600080fd5b8335611822816117be565b92506020840135611832816117be565b929592945050506040919091013590565b60006020828403121561185557600080fd5b8135610684816117be565b60008060006060848603121561187557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561189f57600080fd5b82356118aa816117be565b9150602083013580151581146118bf57600080fd5b809150509250929050565b600080604083850312156118dd57600080fd5b82356118e8816117be565b915060208301356118bf816117be565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194857611948611918565b500290565b60008261196a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058657610586611918565b8082018082111561058657610586611918565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119bd57600080fd5b8151610684816117be565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a185784516001600160a01b0316835293830193918301916001016119f3565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4e57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206f32e75f147b9b441145e14a71924a771e13a2a1b41640d9a4060d8ea46f3bc464736f6c63430008100033

Deployed Bytecode Sourcemap

4703:11613:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9949:527;;;;;;;;;;-1:-1:-1;9949:527:0;;;;;:::i;:::-;;:::i;:::-;;7045:67;;;;;;;;;;-1:-1:-1;7105:5:0;;;;;;;;;;;;-1:-1:-1;;;7105:5:0;;;;7045:67;;;;;;;:::i;:::-;;;;;;;;8165:133;;;;;;;;;;-1:-1:-1;8165:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8165:133:0;1620:187:1;8304:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8304:132:0;1812:177:1;8681:119:0;;;;;;;;;;;;;:::i;15659:309::-;;;;;;;;;;-1:-1:-1;15659:309:0;;;;;:::i;:::-;;:::i;7268:67::-;;;;;;;;;;;;;:::i;3083:87::-;;;;;;;;;;-1:-1:-1;3083:87:0;;;;;:::i;:::-;3138:4;3163:5;-1:-1:-1;;;;;3152:16:0;;;3163:5;;3152:16;;3083:87;7195:67;;;;;;;;;;-1:-1:-1;7195:67:0;;4910:1;2849:36:1;;2837:2;2822:18;7195:67:0;2707:184:1;10484:584:0;;;;;;;;;;-1:-1:-1;10484:584:0;;;;;:::i;:::-;;:::i;5258:44::-;;;;;;;;;;-1:-1:-1;5258:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8051:108;;;;;;;;;;-1:-1:-1;8051:108:0;;;;;:::i;:::-;;:::i;7425:103::-;;;;;;;;;;-1:-1:-1;7425:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7508:18:0;7491:7;7508:18;;;:9;:18;;;;;;;7425:103;8442:114;;;;;;;;;;;;;:::i;8562:113::-;;;;;;;;;;;;;:::i;7341:78::-;;;;;;;;;;-1:-1:-1;7393:7:0;7411:5;-1:-1:-1;;;;;7411:5:0;7341:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7341:78:0;3638:203:1;7946:99:0;;;;;;;;;;-1:-1:-1;7946:99:0;;;;;:::i;:::-;;:::i;7118:71::-;;;;;;;;;;-1:-1:-1;7180:7:0;;;;;;;;;;;;-1:-1:-1;;;7180:7:0;;;;7118:71;;5376:19;;;;;;;;;;-1:-1:-1;5376:19:0;;;;-1:-1:-1;;;;;5376:19:0;;;7534:139;;;;;;;;;;-1:-1:-1;7534:139:0;;;;;:::i;:::-;;:::i;7679:127::-;;;;;;;;;;-1:-1:-1;7679:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7777:18:0;;;7760:7;7777:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7679:127;3176:111;;;;;;;;;;-1:-1:-1;3176:111:0;;;;;:::i;:::-;;:::i;9949:527::-;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;;;;;;;;;10125:12:::1;:25:::0;;;10161:12:::1;:25:::0;;;10197:7:::1;:15:::0;;;10223:14:::1;:29:::0;;;10263:8:::1;:17:::0;;;10291:7:::1;:15:::0;;;10317:11:::1;:20:::0;;;10368:11:::1;::::0;:18:::1;::::0;10384:1:::1;10368:15;:18::i;:::-;10356:8;;:30;;:63;;;;-1:-1:-1::0;10401:11:0::1;::::0;:18:::1;::::0;10417:1:::1;10401:15;:18::i;:::-;10390:7;;:29;;10356:63;10348:120;;;::::0;-1:-1:-1;;;10348:120:0;;5035:2:1;10348:120:0::1;::::0;::::1;5017:21:1::0;5074:2;5054:18;;;5047:30;5113:34;5093:18;;;5086:62;-1:-1:-1;;;5164:18:1;;;5157:42;5216:19;;10348:120:0::1;4833:408:1::0;10348:120:0::1;9949:527:::0;;;;;;;:::o;8165:133::-;8240:4;8247:37;8256:10;8268:7;8277:6;8247:8;:37::i;:::-;-1:-1:-1;8292:4:0;8165:133;;;;;:::o;8304:132::-;7508:9;:18;;;;6100:42;8357:7;7508:18;;;;;8374:12;;8357:7;;8374:60;;7508:18;;8374:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8367:67;;8304:132;:::o;8681:119::-;8732:7;8787:11;;8765:19;;8749:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;15659:309::-;15757:4;15774:36;15784:6;15792:9;15803:6;15774:9;:36::i;:::-;15821:117;15830:6;15838:10;15850:87;15886:6;15850:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15850:19:0;;;;;;:11;:19;;;;;;;;15870:10;15850:31;;;;;;;;;:87;:35;:87::i;:::-;15821:8;:117::i;:::-;-1:-1:-1;15956:4:0;15659:309;;;;;;:::o;7268:67::-;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;7312:14:::1;:21:::0;;-1:-1:-1;;;;7312:21:0::1;-1:-1:-1::0;;;7312:21:0::1;::::0;;7268:67::o;10484:584::-;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;10584:13:::1;10625:5;10617:4;10601:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10600:30;;;;:::i;:::-;10584:46;;10641:19;10690:5;10680:6;10664:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10663:32;;;;:::i;:::-;10641:54;;10706:17;10754:5;10743:7;10727:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10726:33;;;;:::i;:::-;10770:19;:26:::0;;;10807:19:::1;:28:::0;;;10846:17:::1;:27:::0;;;10706:53;-1:-1:-1;;10900:30:0::1;10925:4;10900:20;10918:1;10900:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10884:46;;10958:5;10949;:14;;:38;;;;;10982:5;10967:11;:20;;10949:38;:60;;;;;11004:5;10991:9;:18;;10949:60;10941:119;;;::::0;-1:-1:-1;;;10941:119:0;;5975:2:1;10941:119:0::1;::::0;::::1;5957:21:1::0;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:44;6158:19;;10941:119:0::1;5773:410:1::0;8051:108:0;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8125:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8125:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8051:108::o;8442:114::-;8490:7;8543:11;;8523:17;;8507:13;:11;:13::i;8562:113::-;8607:7;8662:11;;8640:19;;8624:13;:11;:13::i;7946:99::-;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8017:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8017:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7946:99::o;7534:139::-;7612:4;7619:40;7629:10;7641:9;7652:6;7619:9;:40::i;3176:111::-;3138:4;3163:5;-1:-1:-1;;;;;3163:5:0;3050:10;3152:16;3034:38;;;;-1:-1:-1;;;3034:38:0;;;;;;;:::i;:::-;3242:5:::1;:11:::0;;-1:-1:-1;;;;;;3242:11:0::1;-1:-1:-1::0;;;;;3242:11:0;::::1;::::0;;::::1;::::0;;;3260:25:::1;::::0;3784:51:1;;;3260:25:0::1;::::0;3772:2:1;3757:18;3260:25:0::1;;;;;;;3176:111:::0;:::o;445:82::-;503:7;520:5;524:1;520;:5;:::i;15976:335::-;-1:-1:-1;;;;;16069:19:0;;16061:68;;;;-1:-1:-1;;;16061:68:0;;6606:2:1;16061:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:34;6779:19;;16061:68:0;6404:400:1;16061:68:0;-1:-1:-1;;;;;16148:21:0;;16140:68;;;;-1:-1:-1;;;16140:68:0;;7011:2:1;16140:68:0;;;6993:21:1;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;-1:-1:-1;;;7140:18:1;;;7133:32;7182:19;;16140:68:0;6809:398:1;16140:68:0;-1:-1:-1;;;;;16219:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16271:32;;1958:25:1;;;16271:32:0;;1931:18:1;16271:32:0;;;;;;;15976:335;;;:::o;269:82::-;327:7;344:5;348:1;344;:5;:::i;9255:686::-;9344:37;9355:6;9363:9;9374:6;9344:10;:37::i;:::-;9392:38;9412:6;9420:9;9392:19;:38::i;:::-;9441:41;9456:6;9464:9;9475:6;9441:14;:41::i;:::-;9494:35;9511:6;9519:9;9494:16;:35::i;:::-;9540:39;9553:6;9561:9;9572:6;9540:12;:39::i;:::-;9591:35;9600:6;9608:9;9619:6;9591:8;:35::i;:::-;-1:-1:-1;;;;;9657:17:0;;;;;;:9;:17;;;;;;:29;;9679:6;9657:21;:29::i;:::-;-1:-1:-1;;;;;9637:17:0;;;;;;:9;:17;;;;;:49;;;;9722:32;9647:6;9744:9;9722:13;:32::i;:::-;:78;;9794:6;9722:78;;;9757:34;9765:6;9773:9;9784:6;9757:7;:34::i;:::-;-1:-1:-1;;;;;9834:20:0;;;;;;:9;:20;;;;;;9697:103;;-1:-1:-1;9834:40:0;;9697:103;9834:24;:40::i;:::-;-1:-1:-1;;;;;9811:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9890:43;;;;;;;;;;9918:14;1958:25:1;;1946:2;1931:18;;1812:177;9890:43:0;;;;;;;;9333:608;9255:686;;;:::o;1482:162::-;1568:7;1614:12;1606:6;;;;1598:29;;;;-1:-1:-1;;;1598:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1636:5:0;;;1482:162::o;357:82::-;415:7;432:5;436:1;432;:5;:::i;8808:439::-;-1:-1:-1;;;;;8912:20:0;;8904:70;;;;-1:-1:-1;;;8904:70:0;;7547:2:1;8904:70:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625:34;7605:18;;;7598:62;-1:-1:-1;;;7676:18:1;;;7669:35;7721:19;;8904:70:0;7345:401:1;8904:70:0;-1:-1:-1;;;;;8993:23:0;;8985:71;;;;-1:-1:-1;;;8985:71:0;;7953:2:1;8985:71:0;;;7935:21:1;7992:2;7972:18;;;7965:30;8031:34;8011:18;;;8004:62;-1:-1:-1;;;8082:18:1;;;8075:33;8125:19;;8985:71:0;7751:399:1;8985:71:0;9092:1;9075:6;:19;9067:73;;;;-1:-1:-1;;;9067:73:0;;8357:2:1;9067:73:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:39;8535:19;;9067:73:0;8155:405:1;9067:73:0;-1:-1:-1;;;;;7508:18:0;;7491:7;7508:18;;;:9;:18;;;;;;9159:6;:27;;9151:88;;;;-1:-1:-1;;;9151:88:0;;8767:2:1;9151:88:0;;;8749:21:1;8806:2;8786:18;;;8779:30;8845:34;8825:18;;;8818:62;-1:-1:-1;;;8896:18:1;;;8889:47;8953:19;;9151:88:0;8565:413:1;9151:88:0;8808:439;;;:::o;11076:191::-;-1:-1:-1;;;;;11169:19:0;;;;;;:11;:19;;;;;;;;11168:20;:47;;;;-1:-1:-1;;;;;;11193:22:0;;;;;;:11;:22;;;;;;;;11192:23;11168:47;11165:95;;;11225:14;;-1:-1:-1;;;11225:14:0;;;;11217:41;;;;-1:-1:-1;;;11217:41:0;;9185:2:1;11217:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11217:41:0;8983:338:1;11217:41:0;11076:191;;:::o;11279:333::-;-1:-1:-1;;;;;11383:19:0;;;;;;:11;:19;;;;;;;;11382:20;:47;;;;-1:-1:-1;;;;;;11407:22:0;;;;;;:11;:22;;;;;;;;11406:23;11382:47;:77;;;;-1:-1:-1;11454:4:0;;-1:-1:-1;;;;;11433:26:0;;;11454:4;;11433:26;;11382:77;:107;;;;-1:-1:-1;;;;;;11463:26:0;;6100:42;11463:26;;11382:107;11379:226;;;11551:17;:15;:17::i;:::-;-1:-1:-1;;;;;11514:20:0;;;;;;:9;:20;;;;;;:32;;11539:6;11514:24;:32::i;:::-;11513:55;;11505:98;;;;-1:-1:-1;;;11505:98:0;;9528:2:1;11505:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11505:98:0;9326:354:1;11620:159:0;11717:4;;-1:-1:-1;;;;;11704:17:0;;;11717:4;;11704:17;:41;;;;-1:-1:-1;;;;;;11726:19:0;;;;;;:11;:19;;;;;;;;11725:20;11704:41;11701:71;;;11768:1;11747:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11620:159:0;;:::o;11787:349::-;11898:4;;-1:-1:-1;;;;;11888:14:0;;;11898:4;;11888:14;11885:130;;11922:20;:18;:20::i;:::-;11912:6;:30;;:53;;;-1:-1:-1;;;;;;11946:19:0;;;;;;:11;:19;;;;;;;;11912:53;:79;;;-1:-1:-1;;;;;;11969:22:0;;;;;;:11;:22;;;;;;;;11912:79;11904:109;;;;-1:-1:-1;;;11904:109:0;;10017:2:1;11904:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11904:109:0;9815:341:1;11904:109:0;12043:14;:12;:14::i;:::-;12033:6;:24;;:47;;;-1:-1:-1;;;;;;12061:19:0;;;;;;:11;:19;;;;;;;;12033:47;:73;;;-1:-1:-1;;;;;;12084:22:0;;;;;;:11;:22;;;;;;;;12033:73;12025:103;;;;-1:-1:-1;;;12025:103:0;;10017:2:1;12025:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12025:103:0;9815:341:1;14419:197:0;14511:41;14526:6;14534:9;14545:6;14511:14;:41::i;:::-;14508:101;;;14554:29;14569:13;;14554:14;:29::i;:::-;14605:1;14585:9;:22;14419:197;;;:::o;14624:160::-;-1:-1:-1;;;;;14730:19:0;;14705:4;14730:19;;;:11;:19;;;;;;;;14729:20;:47;;;;-1:-1:-1;;;;;;;14754:22:0;;;;;:11;:22;;;;;;;;14753:23;;14624:160;-1:-1:-1;14624:160:0:o;15105:546::-;15191:7;15247:1;15214:30;15226:6;15234:9;15214:11;:30::i;:::-;:34;15211:418;;;15260:17;15280:59;15308:30;15320:6;15328:9;15308:11;:30::i;:::-;15291:11;;15280:23;;:6;;:10;:23::i;:59::-;15395:4;15377:24;;;;:9;:24;;;;;;15260:79;;-1:-1:-1;15377:39:0;;15260:79;15377:28;:39::i;:::-;15368:4;15350:24;;;;:9;:24;;;;;;;:66;;;;15432:42;;-1:-1:-1;;;;;15432:42:0;;;;;;;15464:9;1958:25:1;;1946:2;1931:18;;1812:177;15432:42:0;;;;;;;;15488:7;;:20;15485:104;;15510:77;15528:4;6100:42;15550:36;15578:7;;15550:23;15561:11;;15550:6;:10;;:23;;;;:::i;:36::-;15510:9;:77::i;:::-;15606:21;:6;15617:9;15606:10;:21::i;:::-;15599:28;;;;;15211:418;-1:-1:-1;15637:6:0;15105:546;-1:-1:-1;;15105:546:0:o;181:82::-;239:7;256:5;260:1;256;:5;:::i;14011:400::-;14152:15;;14228:13;;14218:4;14109;7508:18;;;:9;:18;;;;;;14260:8;;14109:4;;14142:25;;;;-1:-1:-1;14200:41:0;;14260:8;;14259:9;:24;;;;-1:-1:-1;14272:11:0;;;;14259:24;:42;;;;-1:-1:-1;14287:14:0;;-1:-1:-1;;;14287:14:0;;;;14259:42;:54;;;;;14305:8;14259:54;:78;;;;-1:-1:-1;;;;;;14318:19:0;;;;;;:11;:19;;;;;;;;14317:20;14259:78;:99;;;;-1:-1:-1;14354:4:0;;-1:-1:-1;;;;;14341:17:0;;;14354:4;;14341:17;14259:99;:126;;;;;14383:1;14362:9;;:23;;14259:126;:144;;;;;14389:14;14259:144;14252:151;14011:400;-1:-1:-1;;;;;;14011:400:0:o;12144:1066::-;6021:8;:15;;-1:-1:-1;;6021:15:0;6032:4;6021:15;;;;;;12281:14:::1;::::0;12263:12:::1;::::0;12239::::1;::::0;6021:8;;12238:66:::1;::::0;12302:1:::1;::::0;12239:57:::1;::::0;12281:14;;12239:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12238:66::-;12215:89;;12315:32;12350:42;12379:12;12350:24;12361:12;;12350:6;:10;;:24;;;;:::i;:42::-;12315:77:::0;-1:-1:-1;12403:14:0::1;12420:36;:6:::0;12315:77;12420:10:::1;:36::i;:::-;12403:53:::0;-1:-1:-1;12492:21:0::1;12524:24;12403:53:::0;12524:16:::1;:24::i;:::-;12559:20;12582:41;:21;12608:14:::0;12582:25:::1;:41::i;:::-;12559:64;;12634:19;12655:48;12672:30;12689:12;;12672;:16;;:30;;;;:::i;:::-;12655:12:::0;;:16:::1;:48::i;:::-;12634:69;;12714:29;12746;12762:12;;12746:11;:15;;:29;;;;:::i;:::-;12714:61:::0;-1:-1:-1;12789:34:0;;12786:103:::1;;12825:61;12838:24;12864:21;12825:12;:61::i;:::-;12945:12;::::0;12899:20:::1;::::0;12922:36:::1;::::0;:18:::1;:11:::0;12938:1:::1;12922:15;:18::i;:36::-;12899:59:::0;-1:-1:-1;12972:16:0;;12969:73:::1;;12990:50;::::0;6295:42:::1;::::0;12990:50;::::1;;;::::0;13027:12;;12990:50:::1;::::0;;;13027:12;6295:42;12990:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12969:73;13079:21;13114:29:::0;;13111:92:::1;;13145:56;::::0;6198:42:::1;::::0;13145:56;::::1;;;::::0;13184:16;;13145:56:::1;::::0;;;13184:16;6198:42;13145:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13111:92;-1:-1:-1::0;;6041:8:0;:16;;-1:-1:-1;;6041:16:0;;;-1:-1:-1;;;;;;;;12144:1066:0:o;14792:305::-;-1:-1:-1;;;;;14894:13:0;;14871:7;14894:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;14911:16:0;;;;;;:5;:16;;;;;;;;14894:33;14891:76;;;14936:11;;:29;;14960:3;14936:15;:29::i;:::-;14929:36;;;;14891:76;14993:4;;-1:-1:-1;;;;;14993:4:0;;;14980:17;;;;14977:38;;-1:-1:-1;15006:7:0;;14999:14;;14977:38;15038:4;;-1:-1:-1;;;;;15038:4:0;;;15028:14;;;;15025:36;;-1:-1:-1;15051:8:0;;15044:15;;15025:36;-1:-1:-1;15078:11:0;;14792:305;;;;:::o;13569:434::-;13659:16;;;13673:1;13659:16;;;;;;;;13635:21;;13659:16;;;;;;;;;;-1:-1:-1;13659:16:0;13635:40;;13704:4;13686;13691:1;13686:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13686:23:0;;;:7;;;;;;;;;;:23;;;;13730:6;;:13;;;-1:-1:-1;;;13730:13:0;;;;:6;;;;;:11;;:13;;;;;13686:7;;13730:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13720:4;13725:1;13720:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13720:23:0;;;:7;;;;;;;;;:23;13786:6;;13754:53;;13771:4;;13786:6;13795:11;13754:8;:53::i;:::-;13818:6;;:177;;-1:-1:-1;;;13818:177:0;;-1:-1:-1;;;;;13818:6:0;;;;:57;;:177;;13890:11;;13818:6;;13932:4;;13959;;13979:15;;13818:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13624:379;13569:434;:::o;13218:343::-;13331:6;;13299:53;;13316:4;;-1:-1:-1;;;;;13331:6:0;13340:11;13299:8;:53::i;:::-;13363:6;;:190;;-1:-1:-1;;;13363:190:0;;13426:4;13363:190;;;12007:34:1;12057:18;;;12050:34;;;13363:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6391:42:0;12186:19:1;;;12179:44;13537:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13363:6:0;;;;:22;;13393:9;;11941:19:1;;13363:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13218:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1219:70;1164:131;:::o;1300:315::-;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:388::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4030:9;4017:23;4049:31;4074:5;4049:31;:::i;:::-;4099:5;-1:-1:-1;4156:2:1;4141:18;;4128:32;4169:33;4128:32;4169:33;:::i;4499:329::-;4701:2;4683:21;;;4740:1;4720:18;;;4713:29;-1:-1:-1;;;4773:2:1;4758:18;;4751:36;4819:2;4804:18;;4499:329::o;5246:127::-;5307:10;5302:3;5298:20;5295:1;5288:31;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:168;5418:7;5484:1;5480;5476:6;5472:14;5469:1;5466:21;5461:1;5454:9;5447:17;5443:45;5440:71;;;5491:18;;:::i;:::-;-1:-1:-1;5531:9:1;;5378:168::o;5551:217::-;5591:1;5617;5607:132;;5661:10;5656:3;5652:20;5649:1;5642:31;5696:4;5693:1;5686:15;5724:4;5721:1;5714:15;5607:132;-1:-1:-1;5753:9:1;;5551:217::o;7212:128::-;7279:9;;;7300:11;;;7297:37;;;7314:18;;:::i;9685:125::-;9750:9;;;9771:10;;;9768:36;;;9784:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:251;10495:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:52;;;10564:1;10561;10554:12;10516:52;10596:9;10590:16;10615:31;10640:5;10615:31;:::i;10681:980::-;10943:4;10991:3;10980:9;10976:19;11022:6;11011:9;11004:25;11048:2;11086:6;11081:2;11070:9;11066:18;11059:34;11129:3;11124:2;11113:9;11109:18;11102:31;11153:6;11188;11182:13;11219:6;11211;11204:22;11257:3;11246:9;11242:19;11235:26;;11296:2;11288:6;11284:15;11270:29;;11317:1;11327:195;11341:6;11338:1;11335:13;11327:195;;;11406:13;;-1:-1:-1;;;;;11402:39:1;11390:52;;11497:15;;;;11462:12;;;;11438:1;11356:9;11327:195;;;-1:-1:-1;;;;;;;11578:32:1;;;;11573:2;11558:18;;11551:60;-1:-1:-1;;;11642:3:1;11627:19;11620:35;11539:3;10681:980;-1:-1:-1;;;10681:980:1:o;12278:306::-;12366:6;12374;12382;12435:2;12423:9;12414:7;12410:23;12406:32;12403:52;;;12451:1;12448;12441:12;12403:52;12480:9;12474:16;12464:26;;12530:2;12519:9;12515:18;12509:25;12499:35;;12574:2;12563:9;12559:18;12553:25;12543:35;;12278:306;;;;;:::o

Swarm Source

ipfs://6f32e75f147b9b441145e14a71924a771e13a2a1b41640d9a4060d8ea46f3bc4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.